Fail2ban:正则表达式测试成功,但 fail2ban 并未禁止任何 IP

Fail2ban:正则表达式测试成功,但 fail2ban 并未禁止任何 IP

我无法禁止任何 IP,当我测试我的正则表达式时,它有 +2000 个匹配项:

> fail2ban-regex '/var/log/nginx/access.log' '/etc/fail2ban/filter.d/bad-request.conf'
Date template hits:
|- [# of hits] date format
|  [1172344] Day(?P<_sep>[-/])MON(?P=_sep)Year[ :]?        24hour:Minute:Second(?:\.Microseconds)?(?: Zone offset)?
Lines: 1172344 lines, 0 ignored, 2198 matched, 1170146 missed [processed in 223.96 sec]  

这是我的失败正则表达式:

^<HOST> -.*GET.*(\.php|\.asp|\.exe|\.pl|\.cgi|\scgi)

我正在使用0.9版本。

日志文件如下所示:

1.39.61.27,151.249.92.71,118.186.70.18,118.186.70.8,192.168.99.251,118.186.70.181,118.186.70.17,118.186.70.112,118.186.70.18,118.186.70.18,192.168.99.251 - "OPTIONS /js/shs/json HTTP/1.1" - [09/Oct/2015:15:33:29 +0800] 200 508 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/43.0.2357.130 Chrome/43.0.2357.130 Safari/537.36" "-"
- - "GET /wp-login.php HTTP/1.1" - [09/Oct/2015:15:33:30 +0800] 200 130761 "-" "-" "-"

我检查了一下iptables -L,输出正常,没有被禁止的IP:

是不是日志日期格式不符合fail2ban标准?我下一步该检查哪里?

答案1

我终于让它工作了,我的错误是将操作设置为:

action = %(action_mwl)s

当我没有邮件服务器时,在 jail.local 中。我调整了操作以

action = %(action_)s

默认的,我现在用fail2ban自动阻止许多恶意流量。下一步是永久阻止它们。干杯。

相关内容