Postfix

Fail2ban 在成功發送 5 封郵件後禁止我

  • March 10, 2016

親愛的,我在 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, dest=fail2ban@xxxx.ch,  sender=fail2ban@xxxx.ch]
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(後綴)

pwcheck_method: saslauthd
mech_list: login CRAM-MD5 DIGEST-MD5

我的 EHLO 狀態(後綴)

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 成功發送五次郵件時,第 6 封郵件被阻止。

我認為這是一個問題,因為 Outlook 嘗試了多種身份驗證方法,其中一些在成功登錄到 SMTP Postfix 伺服器之前失敗了

有人知道我該如何解決這個問題,例如成功登錄後 Fail2Ban 的計數器會被重置嗎?或者我怎樣才能優化後綴 sasl 設置,以便 Outlook 不必嘗試多種身份驗證方法,直到一個工作?因此,根據日誌文件,它在 MD5 Digest Method 上失敗,然後切換到 Login 方法。

從郵件日誌中提取(後綴)

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 的相關過濾器

後綴-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(後綴)

pwcheck_method: saslauthd
mech_list: login CRAM-MD5

引用自:https://serverfault.com/questions/762496