Plesk fail2ban регулярное выражение для почтового ящика
Может ли кто-нибудь помочь мне с помощью специального фильтра f2b для отслеживания повторяющихся неудачных попыток входа в конкретный почтовый ящик? я не хочу ограничивать сбои глобальной постфиксной тюрьмой. Поэтому мне нужен дополнительный фильтр.
Я также думаю, что мне нужно больше регулярных выражений, так как в моей строке с почтовым ящиком нет IP, верно?
Здесь содержание:
Sep 14 22:00:28 host01 plesk_saslauthd[7633]: failed mail authentication attempt for user 'office@customer-domain.de' (password len=9)
Sep 14 22:00:28 host01 postfix/smtpd[6772]: warning: SASL authentication failure: Password verification failed
Sep 14 22:00:28 host01 postfix/smtpd[6772]: warning: unknown[190.124.18.242]: SASL PLAIN authentication failed: authentication failure
Тюрьма должна сработать, если получен сбой office@customer-domain.de, но ему, вероятно, нужен IP из Линии 3?!
Мне это нужно, потому что злоумышленник запускает только один раз ложный пароль, а затем переходит на другой IP. Я хочу отследить это только для одного почтового ящика, чтобы он был забанен после 1 ошибки. Изменить глобально постфиксный триггер на один только сбой - значит сильно и плохо для реальных пользователей.
Вот джейл Postfix:
[INCLUDES]
before = common.conf
[Definition]
_daemon = postfix(-\w+)?/(?:submission/|smtps/)?smtp[ds]
failregex = ^%(__prefix_line)swarning: [-._\w]+\[<HOST>\]: SASL ((?i)LOGIN|PLAIN|(?:CRAM|DIGEST)-MD5) authentication failed(:[ A-Za-z0-9+/:]*={0,2})?\s*$
ignoreregex = authentication failed: Connection lost to authentication server$
[Init]
journalmatch = _SYSTEMD_UNIT=postfix.service
1 ответ
Существующее правило соответствует третьей строке в вашем образце. В этой строке нет почтового ящика в этой строке, поэтому правило регулярных выражений не может быть написано для его включения.
Надежные многострочные правила невозможны, потому что нет надежного способа сопоставить строку ошибки postfix/smtpd с первой строкой журнала, в которой упоминается почтовый ящик.