设想:
Postfix 服务器在托管公司的 VPS 上运行。
Dovecot IMAP 服务器在办公室内运行。
我们希望 Postfix 使用最少的中间软件将其收到的邮件推送到 Dovecot IMAP 服务器。这种传输通过开放的互联网进行。
所以我看到 Postfix 可以使用 LMTP 通过 TCP 进行虚拟传输,而 Dovecot 可以通过 TCP 侦听 LMTP。
但是,什么可以阻止流氓邮件服务器绕过 Postfix 并直接将邮件插入开放 LMTP 端口上的 Dovecot 中呢?
LMTP 服务是否可以通过身份验证方法进行保护,例如通过 TLS 的密码(至少),或由公共 CA 签名的双向 TLS 证书验证,以便两个服务器可以确定彼此的身份(更理想的情况是) )?
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 方法是两台服务器验证彼此证书的方法,是确保双方身份的可靠方法。