强制 TLS 对入站 SMTP 连接的支持范围有多广?

强制 TLS 对入站 SMTP 连接的支持范围有多广?

我运行一个由标准 Postfix、SpamAssassin、ClamAV、SPF/DKIM 检查等组成的 MTA。此 MTA 仅用于入站电子邮件,不托管任何帐户,并将通过上述检查的任何邮件转发到共享的网络主机。

我知道一些电子邮件服务在尝试向我的服务器传递邮件时,会在纯文本之前尝试 TLS 连接。

我意识到并非所有服务都支持 TLS,但我想知道它被采用得如何,以便能够满足我大脑中 OCD 安全方面的需求(是的,我知道 SSL 并不像我们曾经想象的那么安全......)。

Postfix 文档对于smtpd_tls_security_levelRFC 2487规定所有公开引用的(即 MX)邮件服务器不强制使用 TLS:

根据 RFC 2487,对于公开引用的 SMTP 服务器,不得应用此选项。因此,此选项默认为关闭。

所以:该文档(或 15 年前的 RFC)的适用性/相关性如何,我是否可以安全地在所有入站 SMTP 连接上强制使用 TLS,而不会锁定世界上一半的 ISP?

答案1

这是一个非常复杂的问题,因为世界上的邮件提供商并不愿意提供其邮件服务器的统计信息。

自我诊断

要根据您自己的服务器/域对等点确定问题的答案,您可以启用 SSL 日志记录:

postconf -e \
    smtpd_tls_loglevel = "1" \
    smtpd_tls_security_level = "may"

postconf
postfix reload

这假设您将邮件系统日志消息保存一段时间。如果没有,也许可以设置系统日志存档策略并编写一个 shell 脚本来总结服务器上的 TLS 使用情况。也许已经有脚本可以执行此操作。

一旦您确信所有同行都支持 TLS,并且愿意执行密码和协议强度,那么您就可以做出明智的决定。每个环境都不同。没有一个答案可以满足您的需求。

我自己的经历

值得一提的是,我自己的个人邮件服务器强制使用 TLS。这有一个有趣的副作用,就是否定了大多数垃圾邮件机器人,因为它们中的大多数都不支持 TLS。(在此之前,我一直依赖 S25R 正则表达式方法)

更新

自从我回答这个问题已经过去一年了,我收到强制启用 TLS 的电子邮件时遇到的唯一问题来自暴雪的前端 Web 服务器(家长控制)和 Linode 的管理系统。与我互动的其他人似乎都支持强密码的 TLS。

公司环境

在企业环境中,我强烈建议您启用 TLS 日志记录,并在强制执行 TLS 之前让其运行相当长一段时间。您始终可以在 tls_policy 文件中为特定域名强制执行 TLS。

postconf -d smtp_tls_policy_maps

Postfix 站点上有一些关于 tls 策略映射用法的出色文档。即使 ISP 试图在初始服务器连接中剥离 TLS 支持,您至少可以确保提供敏感信息的特定域是加密的。

相关内容