自定义 Fail2Ban 正则表达式未按预期工作

自定义 Fail2Ban 正则表达式未按预期工作

使用下面的正则表达式过滤器:

[Definition]
failregex = ^<HOST>.*Priority: 0
ignoreregex =

Fail2Ban 未检测到以下任何日志条目。

Mon Apr  1 21:11:29 2024 [**] [1:1000002:1] SSH attempt [**] [Priority: 0] {TCP} 192.x.x.x:58867 -> 192.168.x.x:22
Mon Apr  1 21:11:29 2024 [**] [1:1000002:1] SSH attempt [**] [Priority: 0] {TCP} 192.x.x.x:58914 -> 192.168.x.x:22 

但是上面这个正则表达式过滤器,准确检测到Fail2Ban中的以下日志行,并且日志条目中唯一的区别是日期格式。

03/26-10:57:44.146011  [**] [1:1000002:1] SSH attempt [**] [Priority: 0] {TCP} 192.x.x.x:58867 -> 192.168.x.x:22
03/26-11:23:52.317989  [**] [1:1000002:1] SSH attempt [**] [Priority: 0] {TCP} 192.x.x.x:58914 -> 192.168.x.x:22

请紧急帮助我让这个正则表达式过滤器正常工作,因为它用于我的项目工作并且我的时间表非常有限。

答案1

<HOST>是一些应该与域/IP 匹配的预定义正则表达式。

您的正则表达式尝试匹配一个域,然后匹配一些字符,然后,字面意思Priority: 0

您的日志文件显示<HOST>在消息之后Priority: 0,您必须将该<HOST>部分Priority: 0放在正则表达式中。

它成为了:

Priority: 0.*<HOST>

相关内容