通常我們在連接MySQL的服務(wù)器時(shí),要使用到口令。這個(gè)口令在網(wǎng)絡(luò)上傳輸?shù)臅r(shí)候是加過密的。可是其它的內(nèi)容都是以明文的方式來進(jìn)行傳輸?shù)摹?/p>
當(dāng)然如果擔(dān)心這個(gè)不安全的話,可以使用壓縮協(xié)議(MySQL3.22和以上版本),這樣可以讓其它的內(nèi)容不那么容易就被看到。甚至為了讓它更加安全,可以考慮下安裝ssh。裝上它之后,你就能在MySQL服務(wù)器與MySQL客戶之間,搭建一條加密的TCP/IP連接。
為了使你的MySQL系統(tǒng)更安全,強(qiáng)烈建議考慮以下建議:
1.為每個(gè)MySQL用戶使用口令。如果你不加設(shè)口令的話,其他人可以通過mysql --user other_user database的方式訪問你的數(shù)據(jù)庫,在使用MySQL進(jìn)行檢測的時(shí)候系統(tǒng)也會給你相應(yīng)的警告信息。
2.通過mysql_install_db腳本建立mySQL的授權(quán)表,你可以通過mysql -u root進(jìn)行測試,正確的情況下應(yīng)該不會發(fā)生錯(cuò)誤。更改root的密碼:
shell> mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD( ew_password)
WHERE user= root;
mysql> FLUSH PRIVILEGES;
3.不要用root方式啟動MySQL服務(wù)。MySQL可以以任何用戶啟動。你可以通過添加一個(gè)新用戶的方式來啟動數(shù)據(jù)庫服務(wù)(也就是mysql低權(quán)限運(yùn)行)。這也不會對系統(tǒng)造成任何影響,因?yàn)镸ySQL的用戶和Unix的用戶根本來說就使不同的。
4.如果你把Unix root用戶口令放在了mysql.server腳本中,那么必須確保這個(gè)腳本只對root是可讀的。檢查那個(gè)運(yùn)行mysqld的用戶,確保這個(gè)用戶是唯一在數(shù)據(jù)庫目錄下有讀/寫權(quán)限的用戶。
5.不要把process權(quán)限給任何人。mysqladmin processlist的輸出會顯示出當(dāng)前正在執(zhí)行的查詢正文,這時(shí)如果有另外的用戶發(fā)出一個(gè)UPDATE user SET password=PASSWORD( ot_secure)查詢,則會被有process權(quán)限的用戶看得到查詢。mysqld為有process權(quán)限的用戶保留一個(gè)額外的連接, 以便一個(gè)MySQL root用戶能登錄并檢查,即使所有的正常連接在使用。
6.不要把file權(quán)限給所有的用戶。有這權(quán)限的用戶能在擁有mysqld守護(hù)進(jìn)程權(quán)限的文件系統(tǒng)那里寫一個(gè)文件! file權(quán)限也可以被用來讀取任何作為運(yùn)行服務(wù)器的Unix用戶可存取的文件。這可能被利用,例如,通過使用LOAD DATA裝載"/etc/passwd"進(jìn)一個(gè)數(shù)據(jù)庫表,然后它能用SELECT被讀入。
7. 如果你不信任你的DNS,你應(yīng)當(dāng)使用IP來取代主機(jī)名。在任何情況下,你應(yīng)該非常小心地使用包含通配符的主機(jī)名!
相信通過以上的設(shè)置過后,你的Mysql主機(jī)應(yīng)該已經(jīng)相對比較安全,不是那么輕松就會讓人攻陷的。
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com