Назад | Перейти на главную страницу

Fail2Ban Фильтр SASL пропускает неудачные попытки входа

Я использую fail2ban на моем почтовом сервере. Сегодня утром я обнаружил, что было около 5000 неудачных попыток входа в систему (в течение 1 часа) через SMTP, которые не были обнаружены моим фильтром sasl. Вот пример записи в /var/log/mail.log

Jan 25 04:39:56 ***** postfix/smtpd[23828]: warning: 114-32-231-17.HINET-IP.hinet.net[114.32.231.17]: SASL LOGIN authentication failed: authentication failure

Вот мое (немодифицированное) определение sasl-фильтра для fail2ban:

# Fail2Ban configuration file
#
# Author: Yaroslav Halchenko
#
# $Revision: 728 $
#

[Definition]

# Option: failregex
# Notes.: regex to match the password failures messages in the logfile. The
#          host must be matched by a group named "host". The tag "<HOST>" can
#          be used for standard IP/hostname matching and is only an alias for
#          (?:::f{4,6}:)?(?P<host>[\w\-.^_]+)
# Values: TEXT
#
failregex = (?i): warning: [-._\w]+\[<HOST>\]: SASL (?:LOGIN|PLAIN|(?:CRAM|DIGEST)-MD5) authentication failed(: [A-Za-z0-9+/]*={0,2})?$

# Option:  ignoreregex
# Notes.:  regex to ignore. If this regex matches, the line is ignored.
# Values:  TEXT
#
ignoreregex =

Может ли кто-нибудь порекомендовать улучшение регулярного выражения, которое также могло бы уловить эту запись?

Определите другой failregex

(?i): warning: [-._\w]+\[<HOST>\]: SASL (?:LOGIN|PLAIN|(?:CRAM|DIGEST)-MD5) authentication failed(:.*)$

Я протестировал это регулярное выражение с помощью fail2ban-regex и работает.