MySQL安全問(wèn)題一點(diǎn)心得_MySQL
來(lái)源:懂視網(wǎng)
責(zé)編:小采
時(shí)間:2020-11-09 18:00:25
MySQL安全問(wèn)題一點(diǎn)心得_MySQL
MySQL安全問(wèn)題一點(diǎn)心得_MySQL:bitsCN.com 前兩天在幫朋友整理他的主頁(yè)空間時(shí)候,發(fā)現(xiàn)的一點(diǎn)關(guān)于MySQL可能大家都會(huì)忽略的問(wèn)題:我們知道,在安裝完MySQL后,它會(huì)自動(dòng)創(chuàng)建一個(gè)root用戶(hù)和一個(gè)匿名用戶(hù),其初始密碼都是空,對(duì)于前者,很多參考資料上都會(huì)提醒大家要注意及時(shí)設(shè)定一個(gè)密碼,而忽
導(dǎo)讀MySQL安全問(wèn)題一點(diǎn)心得_MySQL:bitsCN.com 前兩天在幫朋友整理他的主頁(yè)空間時(shí)候,發(fā)現(xiàn)的一點(diǎn)關(guān)于MySQL可能大家都會(huì)忽略的問(wèn)題:我們知道,在安裝完MySQL后,它會(huì)自動(dòng)創(chuàng)建一個(gè)root用戶(hù)和一個(gè)匿名用戶(hù),其初始密碼都是空,對(duì)于前者,很多參考資料上都會(huì)提醒大家要注意及時(shí)設(shè)定一個(gè)密碼,而忽

bitsCN.com
前兩天在幫朋友整理他的主頁(yè)空間時(shí)候,發(fā)現(xiàn)的一點(diǎn)關(guān)于MySQL可能大家都會(huì)忽略的問(wèn)題:我們知道,在安裝完MySQL后,它會(huì)自動(dòng)創(chuàng)建一個(gè)root用戶(hù)和一個(gè)匿名用戶(hù),其初始密碼都是空,對(duì)于前者,很多參考資料上都會(huì)提醒大家要注意及時(shí)設(shè)定一個(gè)密碼,而忽略了后者,大概是因?yàn)楹笳吣J(rèn)設(shè)定為只能在本機(jī)使用的緣故吧。
但如果你的MySQL是要提供給Web服務(wù)器作數(shù)據(jù)庫(kù)服務(wù)的,忽略這個(gè)匿名用戶(hù)的代價(jià)可能相當(dāng)慘重,因?yàn)樵谀J(rèn)設(shè)置下,這個(gè)匿名用戶(hù)在localhost上幾乎擁有和root一樣的權(quán)限,這時(shí)候,如果你的客戶(hù)擁有上傳腳本文件、腳本文件可以進(jìn)行MySQL數(shù)據(jù)庫(kù)操作(比如允許操作MySQL的php)的權(quán)限已經(jīng)可能將你的MySQL改動(dòng)得面目全非了:
我今天幫朋友整理他的主頁(yè)空間的時(shí)候,試著寫(xiě)了一個(gè)很簡(jiǎn)單的執(zhí)行sql語(yǔ)句的php文件上傳上去,其中連接字中的user,password我都試著置空,host=localhost,結(jié)果發(fā)現(xiàn)我的sql語(yǔ)句可以執(zhí)行,于是執(zhí)行select * from MySQL.user察看用戶(hù)權(quán)限,發(fā)現(xiàn)這個(gè)用戶(hù)在localhost權(quán)限非常高,連grant_priv都有,(察看的時(shí)候,會(huì)發(fā)現(xiàn)在root用戶(hù)下有兩行用戶(hù)名、密碼為空的,但各項(xiàng)權(quán)限有y的,就是這個(gè)匿名用戶(hù)本地、遠(yuǎn)程權(quán)限設(shè)置了)
所以我試著用這個(gè)php頁(yè)面創(chuàng)建一個(gè)新用戶(hù),并grant給他較高的權(quán)限,結(jié)果一舉成功,這樣我就可以用這個(gè)新用戶(hù)通過(guò)我本機(jī)的MySQL client連接到這個(gè)網(wǎng)站的MySQL server,并用這個(gè)新建立的用戶(hù)的管理權(quán)限對(duì)這個(gè)網(wǎng)站的MySQL server進(jìn)行管理,看到自己可以進(jìn)行這樣輕易獲得深入的數(shù)據(jù)庫(kù)操作,我怎么還敢把朋友的主頁(yè)空間的敏感資料放入這個(gè)MySQL server呢?
改進(jìn)建議:
1、在安裝完成MySQL 后,不僅改變r(jià)oot用戶(hù)的的密碼,也同時(shí)改變匿名用戶(hù)的密碼,方法類(lèi)似改變r(jià)oot的密碼的方式:
MySQL> UPDATE user set password=PASSWORD('yournewpassword') where user='';
MySQL>FLUSH PRIVILEGES;
2、如非必要,刪除這個(gè)匿名用戶(hù),這樣所有人要使用MySQL 都必須提供用戶(hù)名,即便日后出了問(wèn)題,也容易查找問(wèn)題的源頭。
3、除了root用戶(hù)外,其他用戶(hù)包括匿名用戶(hù)(如果沒(méi)有刪除這個(gè)用戶(hù))不應(yīng)該擁有g(shù)rant權(quán)限,防止管理權(quán)限不受控制的擴(kuò)散出去。
4、賦予用戶(hù)updatedeletealertcreatedrop權(quán)限的時(shí)候,應(yīng)該限定到特定的數(shù)據(jù)庫(kù),尤其要避免普通客戶(hù)擁有對(duì)MySQL數(shù)據(jù)庫(kù)做操作的權(quán)限,否則你的系統(tǒng)設(shè)置很可能被替換掉。
5、檢查MySQL.user表,取消不必要用戶(hù)的shutdown_priv,reload_priv,process_priv和File_priv權(quán)限,這些權(quán)限可能泄漏更多的服務(wù)器信息包括非MySQL的其它信息出去。
6、如果不打算讓你的用戶(hù)使用MySQL數(shù)據(jù)庫(kù),在提供諸如php這樣的腳本語(yǔ)言的時(shí)候,重新設(shè)置或編譯你的php,取消它們對(duì)MySQL的默認(rèn)支持。bitsCN.com
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com
MySQL安全問(wèn)題一點(diǎn)心得_MySQL
MySQL安全問(wèn)題一點(diǎn)心得_MySQL:bitsCN.com 前兩天在幫朋友整理他的主頁(yè)空間時(shí)候,發(fā)現(xiàn)的一點(diǎn)關(guān)于MySQL可能大家都會(huì)忽略的問(wèn)題:我們知道,在安裝完MySQL后,它會(huì)自動(dòng)創(chuàng)建一個(gè)root用戶(hù)和一個(gè)匿名用戶(hù),其初始密碼都是空,對(duì)于前者,很多參考資料上都會(huì)提醒大家要注意及時(shí)設(shè)定一個(gè)密碼,而忽