fail2ban的mysql配置问题。

我用的percona-server5,在/etc/my.cnf中添加

general_log_file=/var/log/mysql-logerr.log
general_log=1

开启了登录错误的日志,日志的格式如下

160419 19:52:40 1 Connect newer@192.168.56.1 on
                1 Connect Access denied for user 'newer'@'192.168.56.1' (using password: NO)
160419 19:52:47 2 Connect newer@192.168.56.1 on
                2 Connect Access denied for user 'newer'@'192.168.56.1' (using password: YES)

fail2ban中开启mysqld-auth,然后用

fail2ban-regex /var/log/mysql-logerr.log /etc/fail2ban/filter.d/mysqld-auth.conf

进行测试,发现无法成功屏蔽IP,已经知道是/etc/fail2ban/filter.d/mysqld-auth.conf中的正则有问题,请问该如何修改?
原有的正则如下

failregex = ^%(__prefix_line)s(\d{6} \s?\d{1,2}:\d{2}:\d{2} )?\[Warning\] Access denied for user '\w+'@'<HOST>' (to database '[^']*'|\(using password: (YES|NO)\))*\s*$
阅读 6.1k
1 个回答
新手上路,请多包涵

我是在centOS 7 下基于mariadb-5.5.60进行的测试。

实际上,不需要使用general_log,使用log-error即可。在mysql配置文件中,在[mysqld]模块下增加“log_warnings = 2”,在[mysqld_safe]模块下增加“log-error=/错误日志路径/错误日志文件名“,设置好之后重启mysql即可。

以上方案在filter.d/mysqld-auth.conf 和 jail.conf文件中都有提到这方面的要求。以下内容来自jail.conf文件:
图片描述

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏