如何使用 Fail2ban 设置 MySQL 监控?

如何使用 Fail2ban 设置 MySQL 监控?

使用搜索引擎在互联网上搜索 MySQL 和 fail2ban 会产生很多关于将您的 fail2ban 日志放入 MySQL 的结果,但是我想监控失败的 MySQL 登录尝试并禁止这些 IP。

我的应用程序要求我保持 MySQL 端口开放,尽管我已更改默认端口以增加安全性。但为了提高安全性,我想使用 fail2ban 监控 MySQL 日志。

有人有为 MySQL 配置 fail2ban 的快速指南吗?我已经安装了它,并在其他几个服务上运行,因此您可以跳过安装部分,直接跳到配置配置文件或其他必要的操作。

答案1

据这家伙说(http://forums.mysql.com/read.php?30,205612,205612) 您尝试做的事情是不可能的。

另外:“mysql.log 的使用被描述为性能杀手,我听说它应该在下一个 Mysql 版本中被淘汰。”

我也遇到了同样的问题。建议你封锁防火墙上的 3306 端口。如果这不可行,那么祝你好运。

答案2

您可以启用 mysql 日志记录:

[mysqld]
log = /var/log/mysql/access.log
log_error = /var/log/mysql/error.log
log_warnings = 2

这样通信错误就会显示在日志中,然后使用 fail2ban 监视该文件。

http://dev.mysql.com/doc/refman/5.1/en/communication-errors.html

答案3

这是我在 Debian 8 中的配置,它运行完美。另外,我希望您看一下我创建的一个脚本,该脚本将这些登录失败记录到 mysql 数据库中,同时记录 IP 的位置。

https://elayo.mx/registrar-ataques-fail2ban-con-geolocalizacion-en-mysql/

[mysqld-auth]

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

相关内容