Postfix

“好”使用者的許多身份驗證失敗登錄

  • February 15, 2017

我最近注意到我的伺服器在 mail.log 上報告了許多已知使用者的錯誤身份驗證,這不是暴力攻擊。而且我真的不知道這種身份驗證的原因。我有使用者使用 Gmail 應用程序、IOS 上的郵件、MacOSX 上的郵件應用程序、ThunderBird 和 Outlooks,以及訪問該伺服器的網路郵件服務。在此伺服器中,我有一個自簽名證書,並且還用作郵件智能主機。該系統是 MacOSX 10.9.5。

在所有平台中,Outlook 是唯一一個在連接到此伺服器時出現奇怪行為的平台。不斷顯示帶有使用者憑據的煩人的登錄彈出視窗,不知從何而來,這發生在我所有的 Outlook 使用者身上。使用者可以使用 Outlook 發送和接收,一切似乎都可以正常工作,除了登錄彈出視窗。

從我的 mail.log 中,我遇到了 SAL DIGEST-MD5、SASL PLAIN 和 SASL CRAM-MD5 的問題,例如一些隨機樣本:

Jan 19 11:43:43 remote.x.pt postfix/smtpd[53889]: error: validate response: authentication failed for user=lcg (method=DIGEST-MD5)
Jan 19 11:43:43 remote.x.pt postfix/smtpd[53889]: warning: unknown[192.168.1.72]: SASL DIGEST-MD5 authentication failed

Jan 18 17:10:46 remote.x.pt postfix/smtpd[5838]: error: verify password: authentication failed: user=teste2@x.pt
Jan 18 17:10:46 remote.x.pt postfix/smtpd[5838]: warning: hq2.pacsis.pt[x]: SASL PLAIN authentication failed

Jan 16 15:13:06 remote.x.pt postfix/smtpd[17510]: error: validate response: authentication failed for user=teste3 (method=CRAM-MD5)
Jan 16 15:13:06 remote.x.pt postfix/smtpd[17510]: warning: remote.x.pt[192.168.1.1]: SASL CRAM-MD5 authentication failed

第一次嘗試來自 Outlook,第二次我認為它來自郵件網路服務,第三次來自郵件應用程序。

我不知道是什麼原因造成的,但由於我從幾個不同的軟體客戶端獲得了錯誤的身份驗證,我認為我的後綴或 dovecot 配置中有一些東西。

在這裡您可以檢查兩個配置:

後綴: http: //pastebin.com/EU1iLjAP

鴿舍:http : //pastebin.com/N9MfuvkD

正在使用的埠:

  • 第587章
  • 第993章

更新 1:

這就是正在發生的事情,在這裡您可以看到,在最初的身份驗證錯誤之後,接下來它會成功進行身份驗證:

Jan 19 14:33:05 remote.x.pt postfix/smtpd[62409]: error: validate response: authentication failed for user=lcg (method=DIGEST-MD5)
Jan 19 14:33:05 remote.x.pt postfix/smtpd[62409]: warning: unknown[192.168.1.72]: SASL DIGEST-MD5 authentication failed
Jan 19 14:33:05 remote.x.pt postfix/smtpd[62409]: verify password: AUTH PLAIN: authentication succeeded for user=lcg

更新2:

對於某些使用者,似乎我的伺服器不允許 DIGEST-MD5 和 CRAM-MD5,然後它切換到 PLAIN。在本地主機上,我至少可以毫無問題地使用 CRAM-MD5。

您遇到的問題是 Dovecot 問題而不是後綴問題。

所以你可以理解 Dovecote Authentication 如何閱讀這個:

你必須明白,如果你的客戶端的密碼以純文字形式保存在數據庫中,那麼你可以使用 cram-md5 和 digest-md5 (auth_mechanisms = plain login cram-md5摘要-md5)。但是如果數據庫中的密碼是加密的;假設這裡的 Dovecote 文件中提到的一種加密方案:
http : //wiki2.dovecot.org/Authentication/PasswordSchemes,那麼你不能使用 cram-md5,除非密碼已經用 cram- 保存在數據庫中md5 雜湊。這很令人困惑,所以您可以更好地理解,假設我有一個電子郵件帳戶,所以我登錄:

電子郵件客戶端 —–>密碼—>電子郵件伺服器將檢查數據庫,我可以看到 3 個場景:

  • 第一種 - 場景數據庫中的密碼以純文字形式保存:
    電子郵件伺服器–(auth_mechanisms = 普通登錄 cram-md5 摘要-md5)–>您的密碼方案(無)—->數據庫 cram-md5(密碼)/or/digest-md5(password)/or/plain password:所以登錄密碼將與數據庫明文保存的密碼相匹配。
  • 2nd-Scenario數據庫中的密碼用SHA512-CRYPT保存:
    EmailServer–auth_mechanisms(plain login)–→Email-server-check password–>default_pass_scheme = SHA512-CRYPT —-SHA512-CRYPT(password ) —→database(ALREADY SHA512-CRYPT Password) – 登錄匹配
  • 3rd-scenario數據庫密碼用carm-md5加密:
    Email-server—->auth_mechanisms(plain login cram-md5)–→Email-server—check password—default_pass_scheme =cram-md5– > cram-md5(密碼)—->數據庫(密碼已經保存在cram-md5密碼中) - 登錄匹配

因此,您要麼加密或不加密數據庫密碼並使用 SSL/TLS 並製作 auth_mechanisms=“plain login” 或者:

如果您不想使用 SSL,請製作 auth_mechanisms=cram-md5 並將密碼作為臨時文件儲存在數據庫中md5 如果您想使用 DIGEST-MD5 和 CRAM-MD5,您的密碼必須儲存在 PLAIN_TEXT 中。

因此僅使用 CRAM-MD5,數據庫中的密碼可以是 CRAM-MD5 或純文字或使用 DIGEST-MD5 和 CRAM-MD5:數據庫中的密碼必須僅以純文字形式儲存。

在下一個連結中,您將找到一些可幫助您在數據庫中加密密碼的腳本: http ://wiki2.dovecot.org/HowTo/ConvertPasswordSchemes

如果您想將數據庫中的密碼保存為 DIGEST-MD5,您必須閱讀此頁面:http

//wiki2.dovecot.org/Authentication/Mechanisms/DigestMD5 此外,正如您在我們的聊天中提到的,可以使用 Dovecote 中使用的 auth_mechanisms 值在後綴中作為 smtpd_pw_server_security_options=plain 在 main.cf

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