регулярное выражение 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 '[email protected]' in mail authorization database
May 19 03:24:58 gohhllc smtp_auth[22702]: FAILED: [email protected] - 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:

Спасибо


person DropHit    schedule 19.05.2015    source источник


Ответы (1)


Я работал над этим и, используя http://www.regexr.com/, я смог написать довольно простой регулярное выражение (я думаю, я становлюсь лучше), чтобы эта работа работала.

Результирующий оператор для smtp-auth при использовании Pleask и Qmail (по крайней мере, на моем сервере) выглядит так:

failregex = FAILED: [-/\w]+ - password incorrect from <HOST>

Что касается записей «нет такого пользователя», мне не удалось выполнить эту работу, так как в файле журнала для этой записи нет имени хоста, а для fail2ban требуется имя хоста :(

person DropHit    schedule 20.05.2015