【问题标题】:fail2ban-regex does not matchfail2ban-正则表达式不匹配
【发布时间】:2020-02-21 12:09:53
【问题描述】:

你能告诉我为什么我的正则表达式不匹配吗? 我使用命令行工具 fail2ban-regex 对其进行了测试:

fail2ban-regex "01:53:56 114.119.167.52 mydomain.de:80 GET /file.php  404 " "^.* <HOST> .* 404 .*$"

|- Missed line(s):
|  01:53:56 114.119.167.52 mydomain.de:80 GET /file.php  404
`-

【问题讨论】:

  • .* 在 之后丢失,但仍然不匹配。
  • 是的,是来自fail2ban的模板变量,它获取日志中该行位置的ip地址的值。然后fail2ban可以为这个IP地址添加一个iptables阻止规则。 wiki.ubuntuusers.de/fail2ban
  • 404 .*$ 将不匹配,除非 404 后面有空格,您应该从模式中删除空格
  • 如果&lt;HOST&gt; 不包含端口,您还必须删除它后面的空格,以便后面的.* 可以匹配:80
  • 我不知道为什么,但现在可以了。我测试了另一种最小化模式,这就是我所需要的,只需匹配任何 404 并获取主机 ip 并阻止它。

标签: regex fail2ban


【解决方案1】:

我不知道为什么,但现在可以了。我测试了另一个最小化的模式,这就是我所需要的,只需匹配任何 404 并获取主机 IP 并阻止它。 这是代码:

root@raspi:~# fail2ban-regex "01:53:56 114.119.167.52 mydomain.de:80 GET /file.php  404 " "<HOST>.* 404"
Lines: 1 lines, 0 ignored, 1 matched, 0 missed

现在我必须在fail2ban服务器或客户端中测试它是否也能正常工作,或者这个东西是如何被调用的...... ...现在经过测试并在服务器上实际运行。 因此,所有这些在所有互联网示例中都存在的过度正确的行开始和行结束 regex-klimbim 都是不需要的,因此无法正常工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-29
    相关资源
    最近更新 更多