程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> 關於加強MYSQL安全的幾點建議

關於加強MYSQL安全的幾點建議

編輯:關於MYSQL數據庫

通常我們在連接MySQL的服務器時,要使用到口令。這個口令在網絡上傳輸的時候是加過密的。可是其它的內容都是以明文的方式來進行傳輸的。

當然如果擔心這個不安全的話,可以使用壓縮協議(MySQL3.22和以上版本),這樣可以讓其它的內容不那麼容易就被看到。甚至為了讓它更加安全,可以考慮下安裝ssh。裝上它之後,你就能在MySQL服務器與MySQL客戶之間,搭建一條加密的TCP/IP連接。
為了使你的MySQL系統更安全,強烈建議考慮以下建議:


1.為每個MySQL用戶使用口令。如果你不加設口令的話,其他人可以通過mysql --user other_user database的方式訪問你的數據庫,在使用MySQL進行檢測的時候系統也會給你相應的警告信息。


2.通過mysql_install_db腳本建立mySQL的授權表,你可以通過mysql -u root進行測試,正確的情況下應該不會發生錯誤。更改root的密碼:
shell> mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD( ew_password)
WHERE user= root;
mysql> FLUSH PRIVILEGES;


3.不要用root方式啟動MySQL服務。MySQL可以以任何用戶啟動。你可以通過添加一個新用戶的方式來啟動數據庫服務(也就是mysql低權限運行)。這也不會對系統造成任何影響,因為MySQL的用戶和Unix的用戶根本來說就使不同的。


4.如果你把Unix root用戶口令放在了mysql.server腳本中,那麼必須確保這個腳本只對root是可讀的。檢查那個運行mysqld的用戶,確保這個用戶是唯一在數據庫目錄下有讀/寫權限的用戶。


5.不要把process權限給任何人。mysqladmin processlist的輸出會顯示出當前正在執行的查詢正文,這時如果有另外的用戶發出一個UPDATE user SET password=PASSWORD( ot_secure)查詢,則會被有process權限的用戶看得到查詢。mysqld為有process權限的用戶保留一個額外的連接, 以便一個MySQL root用戶能登錄並檢查,即使所有的正常連接在使用。


6.不要把file權限給所有的用戶。有這權限的用戶能在擁有mysqld守護進程權限的文件系統那裡寫一個文件! file權限也可以被用來讀取任何作為運行服務器的Unix用戶可存取的文件。這可能被利用,例如,通過使用LOAD DATA裝載"/etc/passwd"進一個數據庫表,然後它能用SELECT被讀入。


7. 如果你不信任你的DNS,你應當使用IP來取代主機名。在任何情況下,你應該非常小心地使用包含通配符的主機名!
相信通過以上的設置過後,你的Mysql主機應該已經相對比較安全,不是那麼輕松就會讓人攻陷的。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved