哪种 TLS 方法更适合端口 587?

What TLS method is better for port 587?

SMTP 服务器上保护提交端口 587 的建议方法是什么, STARTTLS 命令或直接 TLS 层?

我目前倾向于使用(强制)STARTTLS命令而不是直接使用TLS层。如果出现问题,可以在不更改 MUA 配置的情况下禁用 STARTTLS 命令。我认为如果直接使用 TLS 层,就不会那么简单了。

还有其他建议、意见吗?我没有发现它是否在某些 RFC 中被标准化。

你别无选择。端口 587 始终是 STARTTLS 命令。唯一允许 SSL-wrapped ("direct TLS") 连接的标准端口是端口 465。

RFC 4409 仅讨论与可选 STARTTLS 命令提交端口 587 的纯文本通信。

忽略其他SSL/TLS安全问题,重要的是确保对SSL/TLS剥离攻击的保护。

如果 MUA 配置为使用 STARTTLS 连接到端口 587,当 MITM 攻击者剥离 EHLO 命令 STARTTLS 时,它必须拒绝连接。

如果服务器配置为使用 SSL/TLS-wrapped SMTP 层并且客户端配置为使用 wrapped 层,当 MITM 攻击者剥离整个 SSL/TLS 层时,MUA 客户端必须再次拒绝连接。

从安全的角度来看,这两种方法没有区别。

尽管如此,通常建议遵守 RFC 并在端口 587 上使用 STARTTLS。