Ubuntu

使用fail2ban阻止本地主機上的mysql

  • June 15, 2018

我的伺服器上有fail2ban,它確實禁止SSH,但我在禁止使用者嘗試使用MySQL訪問MariaDB時遇到問題。我也在使用Adminer,這是我嘗試在mysql上配置fail2ban的主要原因(並且fail2ban確實看到使用adminer的失敗嘗試)。它可以看到 MySQL 連接,但由於這是在內部使用 localhost,它不能禁止它。

我正在尋找一種在使用者無法登錄 mysql 時禁止使用者的方法。

這是我的日誌 fail2ban.log 看到的:

2018-06-15 06:51:09,021 fail2ban.ipdns [4520]: 
WARNING Determined IP using DNS Lookup: 
localhost = ['127.0.0.1', '127.0.0.1', '::1']

這是我的 jail.local 文件:

[mysqld-auth]
enabled  = true
port     = 3306
filter =  mysqld-auth
logpath = /var/log/mysql/mysql.log

我嘗試將 usedns = warn 更改為 usedns = no,但它忽略了警告。我沒有對我的 filter.d 文件夾中的 mysql-auth 進行任何更改。

我假設您的真正問題如下:

您在伺服器上執行了 Adminer(PHPMYadmin 的替代品),並且您在 Web 界面(以及 MySQL)中獲得了非法登錄嘗試。

如果這是正確的,則在任何情況下都不應嘗試使用 Fail2Ban 來禁止 MySQL(在您的情況下,如果您阻止 localhost,這將導致沒有人能夠使用它)。相反,如果有太多非法登錄嘗試進入 Adminer ,您必須配置 Fail2Ban 以阻止對Web 界面(例如埠 80/443)的訪問。

  • 配置管理員記錄非法嘗試
  • 配置 Fail2Ban 以掃描這些日誌並阻止對不良客戶端的訪問

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