【问题标题】:fail2ban apache repeated 401 requestsfail2ban apache 重复 401 请求
【发布时间】:2018-08-28 12:43:28
【问题描述】:

我想对我的网站进行fail2ban 重复的401 错误

我的日志文件条目...

116.108.172.173 - - [28/Aug/2018:08:30:36 -0400] "GET / HTTP/1.1" 401 742

我在 fail2ban conf 中的尝试

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

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

【问题讨论】:

  • 在您的定义中,您需要一个datepattern 来修补您的行的日期部分。然后使用您的failregex,您需要&lt;HOST&gt; 作为通用IP 匹配,其余的正则表达式来匹配该行(我认为删除了日期模式)。通读FILTERS 文档并使用fail2ban-regex [-D] 帮助匹配。

标签: regex fail2ban


【解决方案1】:

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

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

应该做的工作

【讨论】:

  • 我实现了这个更简单的正则表达式,并在一些旧文件上使用 fail2ban-regex 进行了测试。它完成了工作!谢谢
【解决方案2】:

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 > jail.conf

[some-new-filter]
port     = http,https
logpath  = %(apache_access_log)s
           %(apache_error_log)s
maxretry = 2

测试:

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

【讨论】:

  • 妈呀!很好地提到如何测试正则表达式过滤器!真的非常感谢!
猜你喜欢
  • 2012-09-22
  • 1970-01-01
  • 2014-11-10
  • 2014-06-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-12
相关资源
最近更新 更多