成功发送 5 封邮件后,Fail2ban 封禁了我

成功发送 5 封邮件后,Fail2ban 封禁了我

大家好,我在 CentOS 6 系统上使用 Fail2Ban v0.8.13 来保护我的 Postfix 服务器。基本上,它有效,所以在 SMTP 上 5 次错误登录尝试后,我就被禁止了。

Fail2Ban 监狱会议

 [sasl-iptables]
 enabled  = true
 filter   = sasl
 backend  = polling
 action   = iptables[name=sasl, port=smtp, protocol=tcp]
       sendmail-whois[name=sasl, [email protected],  [email protected]]
logpath  = /var/log/maillog
maxretry = 5

我在 main.cf 中的 sasl 设置

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 的计数器?或者我该如何优化 postfix sasl 设置,以便 outlook 不必尝试多种身份验证方法,直到其中一种方法有效?因此,根据日志文件,它在 MD5 摘要方法上失败,然后切换到登录方法。

从邮件日志中提取(postfix)

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配置文件

   failregex = ^%(__prefix_line)swarning: [-._\w]+\[<HOST>\]: SASL (?:LOGIN|PLAIN|(?:CRAM|DIGEST)-MD5) authentication failed(: [ A-Za-z0-9+/]*={0,2})?\s*$

答案1

我没有找到太多关于 DIGEST-MD5 是否能与 Outlook 和 Postfix 一起正常工作的信息。我发现有关此主题的大多数帖子/讨论都建议从 mech 列表中删除简单的 DIGEST-MD5 方法。

我的 smtp.conf (Postfix)

pwcheck_method: saslauthd
mech_list: login CRAM-MD5

相关内容