用于EXIM的Fail2Ban正则表达式(TCP / IP连接计数)

时间:2014-11-27 15:14:59

标签: regex exim fail2ban

我正在尝试为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 * $

但它失败了...我对正则表达式并不擅长,所以我需要你的帮助。

谢谢!

1 个答案:

答案 0 :(得分:0)

[ \S]+?SMTP connection from \S+? \(TCP\/IP connection count = (?!\b1\b|\b2\b|\b3\b)\d+\)

试试这个。看看演示。

http://regex101.com/r/hQ9xT1/10