我正在尝试为 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*$
但它失败了......我不擅长正则表达式,所以我需要你的帮助。
谢谢!