Fail2Ban正则表达式测试匹配正常但过滤器无匹配结果的问题求助
Fail2Ban正则表达式测试匹配正常但过滤器无匹配结果的问题求助
我想封禁那些反复触发404错误、明显在做扫描的请求,禁止它们访问我的Web服务器。
首先我用这个命令测试正则表达式:
fail2ban-regex /var/log/apache2/otheraccess.log '^<HOST>. - - .* "(GET|POST|HEAD).*HTTP.*" 404 .*$'
结果显示有几百条匹配记录,看起来一切正常。
但当我把这个正则表达式加到fail2ban的过滤器中,配置内容如下:
failregex = ^<HOST>.* - - .* "(GET|POST|HEAD).*HTTP.*" 404 .*$ ignoreregex =.*(robots.txt|favicon.ico|jpg|png|sitemap|sitemap.txt|sitemap.xml.gz|sitemap_index.xml)
之后执行状态查询命令:
fail2ban-client status apache-404
得到的结果却显示完全没有匹配记录:
Status for the jail: apache-404
|- Filter
| |- Currently failed: 0
| |- Total failed: 0
|- File list: /var/log/apache2/access.log /var/log/apache2/other_vhosts_access.log- Actions
|- Currently banned: 0
|- Total banned: 0
`- Banned IP list:
实在搞不懂为什么单独测试正则表达式时正常,放到fail2ban过滤器里就没效果了,有没有大佬能指点一下问题可能出在哪、该从哪些方向排查?谢谢!
备注:内容来源于stack exchange,提问作者Elmi
相关产品推荐
相关产品推荐

