首頁  >  文章  >  資料庫  >  提高MySQL資料庫的安全性(四)

提高MySQL資料庫的安全性(四)

巴扎黑
巴扎黑原創
2017-04-28 16:54:511529瀏覽

從網路角度談談如何提高MySQL資料庫的安全性

當連接MySQL資料庫到網路的時候,一些特殊的安全性問題就出現了。

建立一個專門用於網路連線的使用者並不是一個壞主意。這樣可以授予他們必要的、最少的權限,從不給予使用者以下一些權限,例如DROP、ALTER或CREATE權限。我們可能只在類型表中授予SELECT權限,而只在訂單表中授予INSERT權限。此外,這也是如何應用最少權限原則的例證。

提示:在之前的內容中我們說了PHP的addslashes()函數和stripslashes()函數以去掉任何可能產生問題的字元。記住這樣做和在將任何資料發送到MySQL資料庫之前要執行一個常規的資料清理都是非常重要的。你可能記得,我們​​曾經使用了doubleval()函數來檢查數字類型的資料是否真正是數字類型的資料。我們經常容易犯的一個錯誤就是會忘記它——人們往往記得使用addslashes()但是忘記檢查數字類型資料。

應該要經常檢查來自使用者的所有資料。即使HTML表單中由選項方塊和按鈕組成,有些人還是可能透過企圖修改URL以進入腳本。此外,還應該檢查用戶資料的大小。

如果使用者輸入的密碼或機密資料需要保存在資料庫中,請注意,如果不是SSL(Secure Sockets Layer,加密通訊端層),這些資料將以純文字的方式從瀏覽器傳遞到伺服器.關於SSL的用法,以後將會說到。


刪除風險元件

#MySQL資料庫的預設配置有一些不必要的元件,你可以考慮以下建議:

1. 停用LOAD DATA LOCAL INFILE指令

這個命令允許使用者讀取本地文件甚至訪問其他作業系統上的文件,這可能幫助攻擊者收集重要的信息並利用應用程式的漏洞侵入你的資料庫。你需要做的是把set-variable=local-infile=0插入到MySQL資料庫的my.cnf檔案中,來停用這個指令。 

2. 刪除測試資料庫

有一個預設的「測試」資料庫用於測試目的。由於這個資料庫有安全風險,匿名用戶也可以訪問,你應該使用mysql> DROP database test;指令盡快把它清除掉。

3. 刪除歷史文件

MySQL伺服器有一個歷史文件,它可以幫助你在安裝出錯的時候找到問題所在。歷史文件包含敏感訊息,比如說密碼,如果這些資訊被攻擊者獲得,那麼將會為你的資料庫帶來巨大的安全隱患。安裝成功後,歷史檔案並沒有什麼用,因此你可以使用cat /dev/null > ~/.mysql_history指令來刪除檔案當中的內容。

【相關推薦】

提高MySQL資料庫的安全性(一)

#提高MySQL資料庫的安全性(二)

提高MySQL資料庫的安全性(三)

以上是提高MySQL資料庫的安全性(四)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn