在iptables中配置MySQL安全規則,主要是限制外部對MySQL服務器的訪問,只允許特定的IP地址或IP范圍訪問,從而提高數據庫的安全性。以下是一些基本的配置步驟和規則示例:
允許本地訪問:
localhost
或127.0.0.1
)訪問。你可以通過以下規則確保這一點:iptables -A INPUT -p tcp -s 127.0.0.1 --dport 3306 -j ACCEPT
這條規則允許來自IP地址127.0.0.1
(即本地)的TCP流量訪問端口3306
(MySQL的默認端口)。限制外部訪問:
iptables -A INPUT -p tcp --dport 3306 -j DROP
這條規則會丟棄所有嘗試訪問端口3306
的TCP流量。配置白名單:
192.168.1.100
訪問MySQL:iptables -A INPUT -p tcp -s 192.168.1.100 --dport 3306 -j ACCEPT
你可以根據需要添加多個這樣的規則,每個規則允許一個特定的IP地址訪問。保存和持久化規則:
iptables-save
命令將當前規則保存到一個文件中,并使用iptables-restore
命令在系統啟動時恢復這些規則。例如:# 保存規則到文件
sudo iptables-save > /etc/iptables/rules.v4
# 在系統啟動時恢復規則
sudo iptables-restore < /etc/iptables/rules.v4
/etc/iptables
目錄并確保其權限設置正確,以便能夠保存和恢復規則。其他安全注意事項:
/etc/mysql/my.cnf
或/etc/my.cnf
)中的bind-address
參數設置為127.0.0.1
,以防止MySQL監聽所有可用的網絡接口。請注意,iptables規則的具體語法和可用選項可能會因操作系統和內核版本的不同而有所差異。建議查閱你所使用的操作系統的相關文檔以獲取準確的指令和最佳實踐。