Postfix smtps和提交混淆

Adi*_*a K 18 postfix smtps

我已经设置了 postfix,以便电子邮件客户端使用端口 465 (smtps) 发送出站邮件。我不太明白 smtps(端口 465)和提交(端口 587)之间的区别

为客户端配置 postfix 以安全发送邮件时的“最佳实践”是什么?只用smtps?或者同时使用提交和smtps?

小智 27

端口 465 用于受 SSL 保护的 SMTP 连接。但是,由于 STARTTLS 的可用性,已弃用该端口用于 SMTP:“撤销 smtps TCP 端口”这些天您不应再将端口 465 用于 SMTPS。相反,使用端口 25 从其他服务器接收您的域的邮件,或使用端口 587 接收来自客户端的电子邮件,这些客户端需要通过您的服务器将邮件发送到其他域,从而发送到其他服务器。

作为附加说明,端口 587 然而专用于邮件提交 - 邮件提交旨在更改消息和/或提供身份验证:

  • 为尝试提交邮件的客户端提供和要求身份验证
  • 提供安全机制以防止提交未经请求的批量邮件(垃圾邮件)或受感染的邮件(病毒等)
  • 根据组织的需要修改邮件(重写 from 部分等)

提交到端口 587 应该支持 STARTTLS,因此可以加密。另请参阅RFC#6409

  • smtps 隐式 TLS 端口 465 的撤销已被撤销。官方建议是同时提供 587/STARTTLS 和端口 465/SMTPS,并最终切换到后者。这种最终的转换是否真的发生,谁也说不准。但这是官方的推荐。这个答案不应再被视为“正确” (3认同)

ntn*_*nja 9

TL; 博士

新的建议是暂时支持提交/ smtps和使用 STARTTLS提交,一旦不再使用,将逐步淘汰后者。(同样的建议也适用于 POP3 与 POP3S 和 IMAP 与 IMAPS。)

细节

RFC 8314 第 3.3 节更改了最佳实践:

当为“提交”服务(默认端口 465)建立 TCP 连接时,TLS 握手会立即开始。[…]

由于465端口的情况(7.3节讨论),587端口的STARTTLS机制得到了比较广泛的部署。这不同于 IMAP 和 POP 服务,其中隐式 TLS 比 STARTTLS 更广泛地部署在服务器上。 随着时间的推移,为了一致性以及附录 A 中讨论的其他原因,需要将 MUA 软件使用的核心协议迁移到隐式 TLS 。 然而,为了最大限度地使用加密提交,最好在几年的过渡期内支持两种机制,用于通过 TLS 的消息提交。因此,客户端和服务器应该在此过渡期间在端口 587 上实现 STARTTLS 和在端口 465 上实现隐式 TLS. 请注意,如果实现正确并且客户端和服务器都配置为需要在消息提交之前成功协商 TLS,则端口 587 上的 STARTTLS 和端口 465 上的隐式 TLS 的安全属性之间没有显着差异。

然后引用的附录 A详细说明了对所有 SMTP、POP3 和 IMAP 首选隐式 TLS 的决定,因为这些要点

  1. 我们希望已加密连接无处不反正,所以在维护所有这些协议向后兼容的版本没有点时,在实践中不使用的兼容性
  2. 由于在几个实现中存在相同的问题,已经存在对 STARTTLS 协商阶段的利用