Уважаемые все, я использую Fail2Ban v0.8.13 в системе CentOS 6 для защиты своих серверов Postfix. В основном это работает, поэтому после 5 неправильных попыток входа в систему через SMTP меня забанят.
Fail2Ban Jail conf
[sasl-iptables]
enabled = true
filter = sasl
backend = polling
action = iptables[name=sasl, port=smtp, protocol=tcp]
sendmail-whois[name=sasl, dest=fail2ban@xxxx.ch, sender=fail2ban@xxxx.ch]
logpath = /var/log/maillog
maxretry = 5
Мои настройки sasl в main.cf
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
Мой smtp.conf (Postfix)
pwcheck_method: saslauthd
mech_list: login CRAM-MD5 DIGEST-MD5
Мой статус EHLO (Postfix)
EHLO mail.xxx.ch
250-mail.xxx.ch
250-PIPELINING
250-SIZE 50480000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH LOGIN CRAM-MD5 DIGEST-MD5
250-AUTH=LOGIN CRAM-MD5 DIGEST-MD5
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
У меня проблема в том, что когда я отправляю с помощью MS Outlook 2016 пять раз успешно, шестая почта блокируется.
Я предполагаю, что это проблема, потому что Outlook пытается использовать несколько методов аутентификации, и некоторые из них не работают до успешного входа на сервер SMTP Postfix.
Есть у кого-нибудь идеи, как я могу решить эту проблему, например значит, счетчик Fail2Ban сбрасывается после успешного входа в систему? Или как я могу оптимизировать настройки sasl postfix, чтобы Outlook не пробовал использовать несколько методов аутентификации, пока один из них не сработает? Таким образом, в соответствии с файлом журнала он не работает при использовании метода дайджеста MD5, а затем переключается на метод входа.
выписка из почтового журнала (постфикс)
Mar 8 23:38:44 postfix/smtpd[9295]: setting up TLS connection from 84-74-210-140.dclient.hispeed.ch[84.74.210.140]
Mar 8 23:38:44 postfix/smtpd[9295]: Anonymous TLS connection established from 84-74-210-140.dclient.hispeed.ch[84.74.210.140]: TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)
Mar 8 23:38:44 postfix/smtpd[9295]: warning: SASL authentication failure: realm changed: authentication aborted
Mar 8 23:38:44 postfix/smtpd[9295]: warning: 84-74-210-140.dclient.hispeed.ch[84.74.210.140]: SASL DIGEST-MD5 authentication failed: authentication failure
Mar 8 23:38:45 postfix/smtpd[9295]: 0AF2127E0113: client=84-74-210-140.dclient.hispeed.ch[84.74.210.140], sasl_method=LOGIN, sasl_username=xxxx
в соответствии с просьбой из обсуждения ниже я добавил соответствующие фильтры из Fail2ban
postfix-sasl.conf
failregex = ^%(__prefix_line)swarning: [-._\w]+\[<HOST>\]: SASL (?:LOGIN|PLAIN|(?:CRAM|DIGEST)-MD5) authentication failed(: [ A-Za-z0-9+/]*={0,2})?\s*$
sasl.conf
failregex = ^%(__prefix_line)swarning: [-._\w]+\[<HOST>\]: SASL (?:LOGIN|PLAIN|(?:CRAM|DIGEST)-MD5) authentication failed(: [ A-Za-z0-9+/]*={0,2})?\s*$
Я не нашел много информации о том, правильно ли DIGEST-MD5 работает вместе с Outlook и Postfix. Большинство обсуждений / обсуждений по этой теме, которые я нашел, рекомендуют удалить простой метод DIGEST-MD5 из списка механизмов.
Мой smtp.conf (Postfix)
pwcheck_method: saslauthd
mech_list: login CRAM-MD5