防止CentOS上的MySQL被攻擊可以通過以下幾個關鍵步驟來實現:
mysql_secure_installation 腳本進行安全配置在安裝MySQL之后,運行 mysql_secure_installation 腳本來自動完成一些基本的安全設置。這個腳本會引導你完成以下操作:
編輯 /etc/my.cnf 文件,以應用一些安全相關的設置。在 [mysqld] 部分添加或修改以下設置:
bind-address = 127.0.0.1max_connections = 500chown -R mysql:mysql /var/lib/mysql
chmod -R 700 /var/lib/mysql
保存更改并重啟MySQL服務:sudo systemctl restart mysqld。
為每個需要訪問數據庫的用戶創建一個新的MySQL用戶,并為其分配適當的權限。例如:
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword';
GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'localhost';
FLUSH PRIVILEGES;
如果需要允許此用戶從其他主機訪問,將 ‘localhost’ 替換為相應的主機名或IP地址。
確保定期更新系統和軟件包,以修復已知的安全漏洞??梢允褂靡韵旅罡孪到y:
sudo yum update
使用 firewalld 或其他防火墻軟件限制對MySQL端口的訪問。例如,只允許本地訪問MySQL端口:
sudo iptables -A INPUT -p tcp --dport 3306 -s 127.0.0.1 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 3306 -j DROP
或者開放MySQL默認端口3306:
sudo firewall-cmd --permanent --zone public --add-port 3306/tcp
sudo firewall-cmd --reload
使用 audit_log 插件(企業版自帶)或啟用通用日志和慢查詢日志來記錄所有連接與SQL操作。這有助于追蹤和分析數據庫的安全事件。
定期檢查MySQL的日志文件,使用工具如 pt-query-digest 或 elk stack 增強審計分析能力。這有助于及時發現和響應潛在的安全威脅。
通過以上步驟,可以顯著提高CentOS上MySQL數據庫的安全性。請根據實際需求調整配置設置,并定期進行安全審計和更新。