作為MySQL管理員的您,在維護(hù)MySQL安裝的安全性和完整性方面能夠做些什么。在本文中,我們將更詳細(xì)地討論以下與安全性相關(guān)的問題:
為什么說安全性是重要的,應(yīng)該警惕哪些攻擊?
從服務(wù)器主機中的用戶那里您將面臨什么風(fēng)險(內(nèi)部安全性),能做什么?
從在網(wǎng)絡(luò)上連接到服務(wù)器的客戶機那里您將面臨什么風(fēng)險(外部安全性),能做什么?
MySQL管理員有責(zé)任保護(hù)數(shù)據(jù)庫內(nèi)容的安全,使得記錄只能由經(jīng)過嚴(yán)格認(rèn)證的那些用戶訪問。這包括內(nèi)部安全性和外部安全性。
內(nèi)部安全性關(guān)心文件系統(tǒng)級的問題,如保護(hù)MySQL數(shù)據(jù)目錄免遭擁有運行服務(wù)器的機器賬號的用戶的攻擊。但是,如果數(shù)據(jù)目錄內(nèi)容的文件許可權(quán)過分隨意,有人可以將對應(yīng)這些表的文件進(jìn)行簡單的替換的話,內(nèi)部安全性就不能很好地確保適當(dāng)建立對網(wǎng)絡(luò)上客戶機訪問的授權(quán)表的控制。
外部安全性關(guān)心客戶機從外部連接的問題,如防止MySQL服務(wù)器免遭通過網(wǎng)絡(luò)進(jìn)來的通過服務(wù)器的連接請求對數(shù)據(jù)庫內(nèi)容訪問的攻擊。要建立MySQL授權(quán)表使得它們不允許對服務(wù)器所管理的數(shù)據(jù)庫的訪問(除非提供了有效的名字和口令)。
本文提供了應(yīng)該了解的有關(guān)問題的指導(dǎo),并說明如何防止內(nèi)部和外部級別中未認(rèn)證的訪問。
MySQL服務(wù)器提供了一個通過mysql數(shù)據(jù)庫中的授權(quán)表來實現(xiàn)的靈活的權(quán)限系統(tǒng)。可以設(shè)置這些表的內(nèi)容來允許或拒絕數(shù)據(jù)庫對客戶機的訪問。這提供了關(guān)于未認(rèn)證的網(wǎng)絡(luò)訪問數(shù)據(jù)的安全性。但是,如果服務(wù)器主機上的其他用戶具有對該數(shù)據(jù)目錄內(nèi)容的直接訪問權(quán),則將不能對訪問數(shù)據(jù)的網(wǎng)絡(luò)建立良好的安全性。除非知道您是曾在運行MySQL服務(wù)器的機器上注冊的惟一的一個人,否則需要關(guān)心在該機器上的其他用戶獲得對數(shù)據(jù)目錄訪問的可能性。
以下是您想要保護(hù)的內(nèi)容:
數(shù)據(jù)庫文件。顯然想要維護(hù)由服務(wù)器維護(hù)的數(shù)據(jù)庫的保密性。數(shù)據(jù)庫的所有者通常要考慮數(shù)據(jù)庫內(nèi)容的專有性。即使他們不考慮,也最多是使數(shù)據(jù)庫的內(nèi)容公共化,而不會使那些內(nèi)容因數(shù)據(jù)庫目錄安全性低而被泄露。
日志文件。常規(guī)和更新日志必須安全,因為它們包含了查詢文本。這有相當(dāng)?shù)睦﹃P(guān)系,因為具有日志文件訪問的任何人都可以監(jiān)控發(fā)生在數(shù)據(jù)庫中的事務(wù)處理。
與日志文件有關(guān)的更為特殊的安全性問題是,像GRANT 和SET PASSWORD 這樣的查詢被記錄在日志中了。常規(guī)和更新日志文件包含敏感的查詢文本,其中包括了口令(MySQL使用口令加密,但這只適用于在口令設(shè)置之后的連接建立。設(shè)置口令的過程包含在GRANT、INSERT 或SET PASSWORD 這樣的查詢中,但這些查詢以純文本的形式被記錄。)如果一個攻擊者具有對日志的讀訪問權(quán),那他只需在日志中對GRANT 或PASSWORD 這樣的詞運行g(shù)rep 就能找到敏感信息。
顯然,您不想讓服務(wù)器主機上的其他用戶擁有對數(shù)據(jù)目錄文件的寫訪問權(quán),因為那樣的話,他們就可以在狀態(tài)文件或數(shù)據(jù)庫表上肆意踐踏。但讀訪問也很危險。如果表文件可讀取,那么竊取文件并使MySQL自己以純文本的形式顯示表的內(nèi)容是微不足道的事。可按下列步驟進(jìn)行:
1) 在服務(wù)器主機上安裝您的MySQL服務(wù)器,但使用與正式服務(wù)器不同的端口、套接字和數(shù)據(jù)文件。
2) 運行mysql_install_db 初始化您的數(shù)據(jù)目錄。這將允許您作為MySQL的root 用戶訪問服務(wù)器,因此您將具有完全控制服務(wù)器訪問機制的權(quán)利。它還建立了一個test 數(shù)據(jù)庫。
3) 將您想竊取的表的相應(yīng)文件拷貝到服務(wù)器數(shù)據(jù)目錄下的test 子目錄中。
新聞熱點
疑難解答
圖片精選