使用下面的正则表达式过滤器:
[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>