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

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

我的服务器上有 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 进行任何更改。

答案1

我假设您的真正问题如下:

您的服务器上运行着 Adminer(PHPMYadmin 的替代品),并且您尝试非法登录 Web 界面(进而登录 MySQL)。

如果这是正确的,你在任何情况下都不应该尝试使用 Fail2Ban 来禁止 MySQL(在你的情况下,如果你阻止 localhost,这将导致没有人能够使用它)。相反,你必须配置 Fail2Ban 来阻止对网络界面(例如端口 80/443)如果有太多次非法尝试登录 Adminer。

  • 配置 Adminer 以记录非法尝试
  • 配置 Fail2Ban 来扫描这些日志并阻止不良客户端的访问

相关内容