我正在運行帶有 postfix 3.1.0-3ubuntu0.4 軟體包的 Ubuntu 18.04.6 LTS 伺服器。
首次向 smtp 服務發送電子郵件時,Apple Mail 用戶端和 Postbox 用戶端都會遇到奇怪的延遲。最終 Apple Mail 重試並正常工作,但 Postbox 放棄了。
在初始交換中,電子郵件用戶端似乎發送“???”作為伺服器問候語之後的命令,或至少是由 postfix 以這種方式記錄的。日誌中的行如下所示(實際 IP 位址已編輯):
Nov 23 17:11:09 mail postfix/smtpd[3367]: < ipxx-xxx-xxx-xxx.ph.ph.cox.net[xx.xxx.xxx.xxx]: ???
伺服器回應:
502 5.5.2 Error: command not recognized
這裡發生了什麼事?我找不到字符串 '???' 的任何地方被視為有效的 SMTP 命令。這是對舊系統的某種駭客攻擊嗎?
雖然上述兩個客戶端似乎都會發送此訊息,但 iOS 電子郵件用戶端不會。
我還沒有找到任何這方面的文件或容忍它作為後綴設定。
答案1
Postfix 取代非可列印()?
其日誌中的字元。
發生這種情況的一種方式是客戶端被指示建立 TLS 連接,但使用 postfix 正在談論明文的連接埠號碼。二進位 TLS1.3 ClientHello 不是有效的 SMTP 命令將顯示為 ?在日誌中。伺服器提供透過以下方式將現有的未加密 SMTP 連線升級到安全通道:STARTTLS
相容性攻擊將現有的未加密 SMTP 連線升級到安全通道,這通常不會被注意到。聰明的 MUA 可能會認識到這個錯誤 - 並使用偏離配置的設定重試 - 其中聰明的可以輕鬆地冒險進入危險地區。
假設你的後綴設定允許這樣做;將您的用戶端設定為使用連接埠 465/tcp(「透過 TLS 協定提交訊息」)以及立即使用 TLS 的說明。這是提交郵件的建議安全選項。一些關鍵字將幫助您識別組合的選項:
港口 | 保留用於透過以下方式提交訊息 | 軟體設定中的標籤是什麼 |
---|---|---|
第465章 | 基於 TLS 的 SMTP(受到推崇的) | 隱含的TLS、TLS、SMTPS、乾淨的TLS、包裝模式 |
第587章 | 帶有可選 TLS 的 SMTP 明文 | 明確的TLS、STARTTLS、選修的TLS、RFC 3207 |