經驗談之MySQL安全問題的一點心得_MySQL
來源:懂視網
責編:小采
時間:2020-11-09 17:23:06
經驗談之MySQL安全問題的一點心得_MySQL
經驗談之MySQL安全問題的一點心得_MySQL:前兩天在幫朋友整理他的主頁空間時候,發現的一點關于MySQL可能大家都會忽略的問題:我們知道,在安裝完MySQL后,它會自動創建一個root用戶和一個匿名用戶,其初始密碼都是空,對于前者,很多參考資料上都會提醒大家要注意及時設定一個密碼,而忽略了后者,大
導讀經驗談之MySQL安全問題的一點心得_MySQL:前兩天在幫朋友整理他的主頁空間時候,發現的一點關于MySQL可能大家都會忽略的問題:我們知道,在安裝完MySQL后,它會自動創建一個root用戶和一個匿名用戶,其初始密碼都是空,對于前者,很多參考資料上都會提醒大家要注意及時設定一個密碼,而忽略了后者,大

前兩天在幫朋友整理他的主頁空間時候,發現的一點關于MySQL可能大家都會忽略的問題:我們知道,在安裝完MySQL后,它會自動創建一個root用戶和一個匿名用戶,其初始密碼都是空,對于前者,很多參考資料上都會提醒大家要注意及時設定一個密碼,而忽略了后者,大概是因為后者默認設定為只能在本機使用的緣故吧。
Eu,idWG .1T9C= 但如果你的MySQL是要提供給Web服務器作數據庫服務的,忽略這個匿名用戶的代價可能相當慘重,因為在默認設置下,這個匿名用戶在localhost上幾乎擁有和root一樣的權限,這時候,如果你的客戶擁有上傳腳本文件、腳本文件可以進行MySQL數據庫操作(比如允許操作MySQL的php)的權限已經可能將你的MySQL改動得面目全非了:
H xqSnXIrf ]sljuwG_ 我今天幫朋友整理他的主頁空間的時候,試著寫了一個很簡單的執行sql語句的php文件上傳上去,其中連接字中的user,password我都試著置空,host=localhost,結果發現我的sql語句可以執行,于是執行select * from MySQL.user察看用戶權限,發現這個用戶在localhost權限非常高,連grant_priv都有,(察看的時候,會發現在root用戶下有兩行用戶名、密碼為空的,但各項權限有y 的,就是這個匿名用戶本地、遠程權限設置了)
N ]]ms 2f_-&hhU 所以我試著用這個php頁面創建一個新用戶,并grant給他較高的權限,結果一舉成功,這樣我就可以用這個新用戶通過我本機的MySQL client連接到這個網站的MySQL server,并用這個新建立的用戶的管理權限對這個網站的MySQL server進行管理,看到自己可以進行這樣輕易獲得深入的數據庫操作,我怎么還敢把朋友的主頁空間的敏感資料放入這個MySQL server呢?
S> PLm}0 {Ri 改進建議:
GNe=Ar8 ],? WS{ 1、在安裝完成MySQL 后,不僅改變root用戶的的密碼,也同時改變匿名用戶的密碼,方法類似改變root的密碼的方式:
_ I!xM_Yr 3Os+j+r@ MySQL> UPDATE user set password=PASSWORD(´yournewpassword´) where user=´´;
i dX"$T+f MySQL>FLUSH PRIVILEGES;
[&4NS-F;P "5N 5 5|-} 2、如非必要,刪除這個匿名用戶,這樣所有人要使用MySQL 都必須提供用戶名,即便日后出了問題,也容易查找問題的源頭。
ji??)QZs t 6C6hk 3、除了root用戶外,其他用戶包括匿名用戶(如果沒有刪除這個用戶)不應該擁有grant權限,防止管理權限不受控制的擴散出去。
C0fXOO"y"t #B T I6W 4、賦予用戶updatedeletealertcreatedrop權限的時候,應該限定到特定的數據庫,尤其要避免普通客戶擁有對MySQL數據庫做操作的權限,否則你的系統設置很可能被替換掉。
HxTC$:/ Fzru24^ 5、檢查MySQL.user表,取消不必要用戶的shutdown_priv,reload_priv,process_priv和File_priv權限,這些權限可能泄漏更多的服務器信息包括非MySQL的其它信息出去。
t-_[3#; +__8*bLLR 6、如果不打算讓你的用戶使用MySQL數據庫,在提供諸如php這樣的腳本語言的時候,重新設置或編譯你的php,取消它們對MySQL的默認支持。
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com
經驗談之MySQL安全問題的一點心得_MySQL
經驗談之MySQL安全問題的一點心得_MySQL:前兩天在幫朋友整理他的主頁空間時候,發現的一點關于MySQL可能大家都會忽略的問題:我們知道,在安裝完MySQL后,它會自動創建一個root用戶和一個匿名用戶,其初始密碼都是空,對于前者,很多參考資料上都會提醒大家要注意及時設定一個密碼,而忽略了后者,大