我正在尝试为Fail2Ban的exim过滤器创建一个正则表达式条件。在我的exim日志中,我有这样的条目:
2014-11-27 17:09:05来自[42.117.255.244]的SMTP连接(TCP / IP连接数= 1)
2014-11-27 17:09:14来自[118.68.249.18]的SMTP连接(TCP / IP连接数= 2)
2014-11-27 17:09:15来自[113.188.85.220]的SMTP连接(TCP / IP连接数= 3)
所以我需要一个正则表达式过滤器来分析exim日志,如果TCP / IP连接数> 3,然后fail2ban将阻止该ip达到fail2ban配置中指定的时间量。
到目前为止我尝试的是这样的:
failregex = ^%(pid)来自\ S + [](:\ d +)的SMTP连接? (I = [\ S +]:\ d +)?(TCP / IP连接数=“\ S +”)\ s * $
但它失败了...我对正则表达式并不擅长,所以我需要你的帮助。
谢谢!
答案 0 :(得分:0)
[ \S]+?SMTP connection from \S+? \(TCP\/IP connection count = (?!\b1\b|\b2\b|\b3\b)\d+\)
试试这个。看看演示。