fail2ban регулярное выражение для smtp_auth
Я не ХОРОШО в регулярных выражениях - и, таким образом, я не могу соответствовать строке журнала почты plesk, которая указывает на перебор SMTP методом перебора -
мой журнал выглядит так:
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:
Спасибо
1 ответ
Я работал над этим и, используя http://www.regexr.com/ я смог написать довольно простое регулярное выражение (я думаю, он становится лучше), чтобы сделать эту работу.
Результирующий оператор для smtp-auth при использовании Pleask и Qmail (по крайней мере, на моем сервере)
failregex = FAILED: [-/\w]+ - password incorrect from <HOST>
КАК для записей "нет такого пользователя" я не смог сделать эту работу, так как в файле журнала нет имени хоста для этой записи, и fail2ban требует имя хоста:(