我在正则表达式上并不好 - 因此我似乎无法匹配指示蛮力smtp攻击的plesk邮件日志字符串 -
我的日志看起来像这样:
May 19 03:24:58 gohhllc smtp_auth[22702]: SMTP connect from mail.globaltrbilisim.com [213.144.99.201]
May 19 03:24:58 gohhllc smtp_auth[22702]: No such user 'chuong@drophit.net' in mail authorization database
May 19 03:24:58 gohhllc smtp_auth[22702]: FAILED: chuong@drophit.net - password incorrect from mail.globaltrbilisim.com [213.144.99.201]
在某些情况下,它也看起来像这样
May 19 03:25:22 gohhllc smtp_auth[23056]: SMTP connect from 89-97-124-22.fweds-spc.it [89.97.124.22]
May 19 03:25:22 gohhllc smtp_auth[23056]: FAILED: element - password incorrect from 89-97-124-22.fweds-spc.it [89.97.124.22]
我的正则表达式尝试匹配用户名失败和密码,如下所示
failregex = No such user '.*' in mail authorization database
FAILED: .* - password incorrect from [<HOST>]
除了20多个其他组合无济于事 - 大部分时间都是这样的错误
Unable to compile regular expression 'FAILED:
由于
答案 0 :(得分:0)
我通过这个并使用http://www.regexr.com/我能够编写一个相当简单的正则表达式(我想我会越来越好)来使这个工作。
使用Pleask和Qmail(至少在我的服务器上)时生成的smtp-auth语句是
failregex = FAILED: [-/\w]+ - password incorrect from <HOST>
AS对于“没有这样的用户”条目我无法完成这项工作,因为此条目的日志文件中没有主机名,而fail2ban需要主机名:(