fail2ban-regex过滤错过

fail2ban-regex过滤错过

关于 fail2ban 过滤器正则表达式问题的快速问题我有一个日志模式:

2018-02-06 07:40:20,954 fail2ban.actions [26058]: 通知 [postfix-sasl] 禁止192.168.2.14

我尝试禁止 IP(192.168.2.14)进行以下过滤:

failregex = ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2},\d{3} ([az])\w+.([az])\w+ [\d]: 注意[([az])\w+-([az])\w+] 禁令*

到目前为止还没有运气。fail2ban-regex 列出了缺失的行

我确信这只是中间某个地方的简单错误。

任何帮助表示感谢

答案1

我不确定你为什么要用 fail2ban 阻止一个已经被 fail2ban 阻止过的 IP,但无论如何……

我发现两个问题导致您的 fail2ban 过滤器不起作用。

  1. <HOST>您的 failregex 行中没有标签。

    *将failregex 行末尾的替换为<HOST>。这将告诉 fail2ban 日志文件的哪一部分行代表要禁止的 IP。

  2. 你的正则表达式不正确。

    代替

    ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2},\d{3} ([a-z])\w+.([a-z])\w+ [\d]: NOTICE [([a-z])\w+-([a-z])\w+] Ban <HOST>
    

    经过

    ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2},\d{3} \w+\.\w+ \[.*\]: NOTICE \[\w+\-\w+\] Ban <HOST>
    

    或者更简单地表达

    ^\.* Ban <HOST>$
    

相关内容