fail2ban 正则表达式在测试站点上匹配,但 fail2ban 本身不匹配

fail2ban 正则表达式在测试站点上匹配,但 fail2ban 本身不匹配

你好,我正在尝试匹配以下日志行:

E/Sun, 04 Mar 2018 21:40:32 +0100: Error logging in from RemoteIP: 1.2.3.4

经过几个小时的努力,我终于得到了一个可以在 debuggerex、regextester 等上运行的正则表达式。但我无论如何也无法让 fail2ban 匹配它。

我在 fail2ban 中的正则表达式如下:

^E\/(Mon|Tue|Wed|Thu|Fri|Sat|Sun), ([0-1][0-9]) (\w\w\w) (\d\d\d\d) (00|[0-9]|1[0-9]|2[0-3]):([0-9]|[0-5][0-9]):([0-9]|[0-5][0-9]) (\+[0-9][0-9][0-9][0-9]): Error logging in from RemoteIP: <HOST>$

我是否遗漏了一些基本的东西?

答案1

因为我无法发现您的问题,所以这里是修复 fail2ban 匹配正则表达式的一般方法。

  1. 验证你有一个包含所需匹配的文件,例如/var/log/foo.log
  2. 称呼fail2ban-regex /var/log/foo.log 'substring of regex'
  3. 如果不匹配,请从正则表达式中删除几个单词并转到2。
  4. 如果匹配,则附加原始正则表达式的几个单词并转到2,或者:
  5. 如果根据 3. 和 4. 您已经确定哪个单词是错误的,请改正它。
  6. 如果修复后,完整的正则表达式仍然不匹配,请使用修复后的正则表达式重复整个过程。

相关内容