0

我正在尝试为 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 将在 fail2ban 配置中指定的时间内阻止该 IP。

到目前为止,我尝试过的是这样的:

failregex = ^%(pid)s 来自 \S+ [](:\d+) 的 SMTP 连接?(I=[\S+]:\d+ )?(TCP/IP 连接数 = "\S+")\s*$

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

谢谢!

4

1 回答 1

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

试试这个。看演示。

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

于 2014-11-27T15:34:04.850 回答