
設想:
Postfix 伺服器在託管公司的 VPS 上運作。
Dovecot IMAP 伺服器在辦公室內運作。
我們希望 Postfix 使用最少的中間軟體將其收到的郵件推送到 Dovecot IMAP 伺服器。這種傳輸透過開放的互聯網進行。
所以我看到 Postfix 可以使用 LMTP 透過 TCP 進行虛擬傳輸,而 Dovecot 可以透過 TCP 偵聽 LMTP。
但是,什麼可以阻止流氓郵件伺服器繞過 Postfix 並直接將郵件插入開放 LMTP 連接埠上的 Dovecot 中呢?
LMTP 服務是否可以透過驗證方法進行保護,例如透過 TLS 的密碼(至少),或由公共 CA 簽署的雙向 TLS 憑證驗證,以便兩個伺服器可以確定彼此的身分(更理想的情況是) )?
答案1
LMTP(本地郵件傳輸協定)是為本地傳送電子郵件而設計,本身並不像 SMTP 那樣支援身份驗證。當您使用 LMTP 在 Postfix 和 Dovecot 之間傳輸郵件時,尤其是透過開放互聯網,安全性是一個問題。
為了解決您的具體情況:
TLS 加密:Postfix 和 Dovecot 都支援 LMTP 的 TLS 加密。這確保了兩個伺服器之間傳輸的資料是加密的並且不易被攔截。
雙向 TLS 憑證驗證:這也稱為相互 TLS (mTLS)。使用 mTLS,用戶端(本例中為 Postfix)和伺服器(Dovecot)都可以提供憑證來相互證明其身分。這確保雙方都是可信實體。 Postfix 和 Dovecot 都支援 mTLS。
防火牆規則:防止未經授權的存取的一種方法是限制哪些 IP 可以連接到 Dovecot LMTP 連接埠。您可以將防火牆規則設定為僅允許來自 Postfix 伺服器 IP 位址的連線。
VPN 或 SSH 隧道:另一種方法是在 Postfix 伺服器和 Dovecot 伺服器之間建立 VPN 或 SSH 隧道。這樣,LMTP 流量就透過此安全隧道發送,從而增加了另一層安全性。
驗證:雖然 LMTP 本身不支援身份驗證,但您可以使用其他機制(例如前面提到的 mTLS 或 VPN)來有效「驗證」連線。
總之,雖然 LMTP 不支援傳統的使用者名稱/密碼驗證,但您可以使用 TLS、mTLS、防火牆規則以及可能的 VPN 或 SSH 隧道的組合來保護 Postfix 和 Dovecot 之間的連線。 mTLS 方法是兩台伺服器驗證彼此憑證的方法,是確保雙方身分的可靠方法。