Regex 失败2 apache重复401请求

Regex 失败2 apache重复401请求,regex,fail2ban,Regex,Fail2ban,我想失败2重复401错误到我的网站 我的日志文件条目 116.108.172.173 - - [28/Aug/2018:08:30:36 -0400] "GET / HTTP/1.1" 401 742 我的失败尝试2个配置文件 [Definition] failregex = (?P<host>[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}) . . .+ .+ .+ .+ .+ 401 [0-9]+ [定义] failregex

我想失败2重复401错误到我的网站

我的日志文件条目

116.108.172.173 - - [28/Aug/2018:08:30:36 -0400] "GET / HTTP/1.1" 401 742
我的失败尝试2个配置文件

 [Definition]
 failregex = (?P<host>[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}) . . .+ .+ .+ .+ .+ 401 [0-9]+
[定义]
failregex=(?P[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}).+.+.+401 [0-9]+

它似乎不起作用,有什么想法吗?

让你的正则表达式保持简单

[Definition]
failregex = ^<HOST> .+\" 401 \d+ .*$
[定义]
failregex=^.+\“401\d+*$

应该做这项工作

Fedora 27/CentOS/RHEL

etc>fail2ban>filter.d>some-new-filter.conf

::过滤掉.cgi和404请求的示例,同时阻止实际域之外的任何内容

::推荐人:

[Definition]
failregex = ^<HOST>.*(\.cgi\?).*$
            ^<HOST>.+\/.+\/.+\/.*\"\s(404)\s.*$
            ^<HOST>.+\/.+\/.+\/.*(\"http:\/\/some\.info\/.+\")\s.*$
使用以下各项进行测试:

fail2ban-regex /var/log/httpd/error_log /etc/fail2ban/filter.d/some-new-filter.conf
fail2ban-regex /var/log/httpd/access_log /etc/fail2ban/filter.d/some-new-filter.conf

重新启动fail2ban

在您的定义中,您需要一个
日期模式
来修补行的日期部分。然后使用
failregex
您将需要
作为通用IP匹配,剩下的regex将匹配行(我认为删除了日期模式)。请通读文档,并使用
fail2ban regex[-D]
帮助匹配。Maaaan!很高兴提到如何测试regex筛选器!非常感谢!我实现了这个更简单的regex,并在一些旧文件上使用fail2ban regex进行了测试。它完成了任务!谢谢
fail2ban-regex /var/log/httpd/error_log /etc/fail2ban/filter.d/some-new-filter.conf
fail2ban-regex /var/log/httpd/access_log /etc/fail2ban/filter.d/some-new-filter.conf