Linux MySQL程序服務內建安全機制
Linux MySQL是常用系統,于是我學習研究了Linux MySQL,在這里對大家詳細介紹下Linux MySQL系統應用,希望對大家有用。Linux MySQL一般性安全設置 。
打開/etc/my.cnf文件,修改以下設置,如果沒有,可手動添加。#取消文件系統的外部鎖skip-locking#不進行域名反解析,注意由此帶來的權限/授權問題
skip-name-resolve#禁止Linux MySQL中用“LOAD DATA LOCAL INFILE”命令。這個命令會利用Linux MySQL把本地文件讀到數據庫中,然后用戶就可以非法獲取敏感信息了。網絡上流傳的一些攻擊方法中就有用它的,它也是很多新發現的SQL Injection攻擊利用的手段!
local-infile = 0#關閉遠程連接,即3306端口。這是Linux MySQL的默認監聽端口。由于此處Linux MySQL只服務于本地腳本,所以不需要遠程連接。盡管Linux MySQL內建的安全機制很嚴格,但監聽一個TCP端口仍然是危險的行為,因為如果Linux MySQL程序本身有問題,那么未授權的訪問完全可以繞過Linux MySQL的內建安全機制。(你必須確定,你是否真的不需要遠程連接mysql)
skip-networking修改完my.cnf后,還需要對Linux MySQL的用戶名、帳號、及默認數據庫進行調整首先先登錄mysql,在終端窗口輸入 /usr/local/mysql/bin/mysql -u root -p然后會提示輸入密碼,輸入正確密碼后,會出現mysql>提示符。輸入以下命令:
- mysql>use mysql;
- mysql>update user set user="centos" where user="root"; (將mysql的root用戶名修改成centos,防止root的密碼被暴力破解)
- mysql>select Host,User,Password,Select_priv,Grant_priv from user;
- mysql>delete from user where user=''; (刪除user用戶)
- mysql>delete from user where password=''; (刪除user用戶)
- mysql>delete from user where host=''; (刪除user用戶)
- mysql>drop database test; (刪除默認的test數據庫)
- mysql>flush privileges; (刷新mysql的緩存,讓以上設置立即生效)
- mysql>quit;
為了使以上優化和安全設置生效,請重啟Linux MySQL服務或Linux。關于Linux MySQLl的安全設置,這篇文章很值得一看http://www.unixren.com/linux/bencandy.php?fid=21&id=459一般來說Linux MySQL使用這些安全設定就差不多了。
【編輯推薦】



















