資料庫系統的安全性包括很多方面。由於很多情況下,資料庫伺服器容許客戶機從網路上串連,因此客戶機串連的安全對MySQL資料庫安全有很重要的影響。
不在客戶機的命令列上提供密碼
使用mysql、mysqladmin等客戶機用一個使用者身份與MySQL伺服器串連時,需要為串連提供密碼。
1可以在命令列上提供密碼
shell>mysql –u root –pmypass
注意,-p選項與密碼之間不可有空格,否則會提示你輸入密碼,並報錯。
你也可以使用長格式
shell>mysql –user=root –password=mypass
現在你可以考察這樣做的後果:
在Unix上,$ps –aux | grep mysql
在win9x上,你可以按住Ctrl+Alt+Del鍵,NT上你可以開啟工作管理員。
你發現了什麼,你發現密碼清清楚楚的顯示在你的面前。所以,你無論何時也不要這麼做。
所以你需要讓客戶機提示你的密碼:
shell>mysql –u root –p
你也可以使用選項檔案提供密碼,但是注意為了安全,不能在選項檔案中儲存密碼。你可以只提供password選項,讓客戶機提示你輸入密碼。
使用SSH加密客戶機串連
這是一個關於怎樣用SSH 得到一個安全的串連遠程MySQL伺服器的注意事項(David Carlson)。
在你的windows機器上安裝SSH客戶 - 我使用了一個來自http://www.doc.ic.ac.uk/~ci2/ssh/的免費SSH客戶。其他有用的連結:
http://www.npaci.edu/Security/npaci_security_software.html
http://www.npaci.edu/Security/samples/ssh32_windows/index.html.
啟動SSH。設定主機名稱字 = 你的MySql伺服器名或IP地址,設定userid=你的使用者名稱登入到你的伺服器。
點擊“local forwords”。設定local port: 3306, host: localhost, remote port: 3306
儲存一切,否則下次你將必須再做一遍。