Mysql
防止對 MySQL 的暴力攻擊?
我需要為 MySQLd 打開網路,但每次我這樣做時,伺服器都會被強制遺忘。一些平均密碼猜測腳本開始在伺服器上敲擊,在埠 3306 上打開連接並永遠嘗試隨機密碼。
我怎樣才能阻止這種情況發生?
對於 SSH,我使用拒絕主機,效果很好。有沒有辦法讓拒絕主機與 MySQLd 一起工作?
我也考慮過更改 MySQL 執行的埠,但這並不理想,只是一個權宜之計(如果他們發現新埠怎麼辦?)
有沒有人有任何其他想法?
如果它有所不同,我在 FreeBSD 6.x 上執行 MySQL 5.x。
我不知道任何用於 MySQL 的類似拒絕主機的軟體包,但我確實有幾個解決方案:
- 限制登錄到特定的 IP 地址。不要使用 % 來允許所有主機連接到伺服器。
- 更安全的是,將 iptables 設置為僅允許從授權 IP 地址訪問 3306。
- 使用 ssh 將您的流量傳送到盒子,然後通過 localhost 連接
- 修改 Denyhosts 或 BFD 腳本以分析 mysql 訪問日誌並阻止防火牆上的任何暴力嘗試
編輯:
要回答您的評論,請嘗試以下操作:
iptables -A INPUT -p tcp -s 202.54.1.50 --sport 1024:65535 -d 202.54.1.20 --dport 3306 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -p tcp -s 202.54.1.20 --sport 3306 -d 202.54.1.50 --dport 1024
其中 .20 是您的 MySQL,而 .50 是遠端連接 IP 地址。