Mysql

防止對 MySQL 的暴力攻擊?

  • December 2, 2020

我需要為 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 地址。

引用自:https://serverfault.com/questions/67811