背景:#EDF0F5 #FAFBE6 #FFF2E2 #FDE6E0 #F3FFE1 #DAFAF3 #EAEAEF 默認(rèn)  
閱讀內(nèi)容

MySQL 如何對抗解密高手

[日期:2008-06-05] 來源:  作者: [字體: ]

當(dāng)你連接一個MySQL服務(wù)器時,你通常應(yīng)該使用一個口令?诹畈灰悦魑脑谶B接上傳輸。
  所有其它信息作為能被任何人讀懂的文本被傳輸。如果你擔(dān)心這個,你可使用壓縮協(xié)議(MySQL3.22和以上版本)使事情變得更難。甚至為了使一切更安全,你應(yīng)該安裝SSH。用它,你能在一個MySQL服務(wù)器與一個MySQL客戶之間得到一個加密的TCP/IP連接。

  為了使一個MySQL系統(tǒng)安全,強烈要求你考慮下列建議:

  對所有MySQL用戶使用口令。記住,如果other_user沒有口令,任何人能簡單地用mysql -u other_user db_name作為任何其它的人登錄。對客戶機/服務(wù)器應(yīng)用程序,客戶可以指定任何用戶名是常見的做法。在你運行它以前,你可以通過編輯mysql_install_db腳本改變所有用戶的口令,或僅僅MySQL root的口令,象這樣:
 
shell> mysql -u root mysql
mysql> UPDATE user SET PassWord=PASSWord('new_passWord')
WHERE user='root';
mysql> FLUSH PRIVILEGES;

  不要作為Unix的root用戶運行MySQL守護進程。mysqld能以任何用戶運行,你也可以創(chuàng)造一個新的Unix用戶mysql使一切更安全。如果你作為其它Unix用戶運行mysqld,你不需要改變在user表中的root用戶名,因為MySQL用戶名與Unix 用戶名沒關(guān)系。你可以作為其它Unix用戶編輯mysql.server啟動腳本mysqld。通常這用su命令完成。對于更多的細(xì)節(jié),見18.8 怎樣作為一個一般用戶運行MySQL。

  如果你把一個Unix root用戶口令放在mysql.server腳本中,確保這個腳本只能對root是可讀的。

  檢查那個運行mysqld的Unix用戶是唯一的在數(shù)據(jù)庫目錄下有讀/寫權(quán)限的用戶。

  不要把process權(quán)限給所有用戶。mysqladmin processlist的輸出顯示出當(dāng)前執(zhí)行的查詢正文,如果另外的用戶發(fā)出一個UPDATE user SET passWord=PASSWord('not_secure')查詢,被允許執(zhí)行那個命令的任何用戶可能看得到。mysqld為有process權(quán)限的用戶保留一個額外的連接, 以便一個MySQL root用戶能登錄并檢查,即使所有的正常連接在使用。


 

推薦 】 【 打印
相關(guān)新聞      

本文評論       全部評論

發(fā)表評論
  • 尊重網(wǎng)上道德,遵守中華人民共和國的各項有關(guān)法律法規(guī)
  • 承擔(dān)一切因您的行為而直接或間接導(dǎo)致的民事或刑事法律責(zé)任
  • 本站管理人員有權(quán)保留或刪除其管轄留言中的任意內(nèi)容
  • 本站有權(quán)在網(wǎng)站內(nèi)轉(zhuǎn)載或引用您的評論
  • 參與本評論即表明您已經(jīng)閱讀并接受上述條款


點評: 字?jǐn)?shù)
姓名:
內(nèi)容查詢