Postfix smtps 和提交混淆

Postfix smtps 和提交混淆

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

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

答案1

编辑:这个答案基于 RFC-6409,不再正确,请参阅较新的 RFC-8314

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

另外需要注意的是,端口 587 专用于邮件提交 - 邮件提交旨在更改消息和/或提供身份验证:

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

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

答案2

总结

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

细节

最佳实践已经改变RFC 8314 第 3.3 节

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

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

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

  1. 我们想仅有的无论如何,到处都有加密连接,因此,在实践中不使用兼容性的情况下,维护所有这些协议的向后兼容版本是没有意义的
  2. 由于在多个实现中存在相同的问题,STARTTLS 协商阶段已被利用

答案3

作为 IETFRFC8314 第 7.4 节 概述,“尽管已经在端口 587 上部署了 STARTTLS,但它并没有取代在端口 465 上部署使用隐式 TLS 提交。”

由于 578/tcp(STARTTLS)太容易受到中间人攻击,因此 465/tcp(直接 TLS)目前在互联网上具有强大的 SMTP MTA 部署。

相关内容