在传入的 SMTP 消息上要求 STARTTLS 是否仍然“错误”

jac*_*rdy 16 email smtp starttls

根据STARTTLS 规范第 5 节:

公共引用的 SMTP 服务器不得要求使用
STARTTLS 扩展来在本地传送邮件。此规则
可防止 STARTTLS 扩展破坏 Internet SMTP 基础结构的互操作性。公开引用的 SMTP 服务器是在
Internet 邮件地址右侧的域名的 MX 记录(如果不存在 MX 记录,则为 A 记录)中列出的 Internet 主机的端口 25 上运行的 SMTP 服务器.

然而,这个规范是在 1999 年编写的,考虑到它是 2014 年,我希望大多数 SMTP 客户端、服务器和中继都有某种 STARTTLS 实现。

如果我需要 STARTTLS 接收传入的邮件,我预计会丢失多少电子邮件?

Joe*_*man 20

是的,这仍然是一个坏主意。

三个原因:

  1. 虽然您引用的 RFC ( RFC 2487 ) 实际上已被当前标准RFC 3207过时,但当前标准保留了您在问题中引用的 MUST NOT 措辞。

  2. SMTP 客户端不需要实现 STARTTLS。不这样做是完全可以接受的。虽然 STARTTLS 变得越来越普遍,但它绝对不是通用的。

  3. 由于原因 1 和 2,如果您在所有传入连接上都需要 STARTTLS,您将丢失邮件。

然而:

您的服务器 - 您的规则。如果您想以任何理由,甚至无缘无故地任意拒绝任何邮件——那是您的权利和特权。(但这并不意味着它一定是个好主意)

旁注:

即使您需要相互 STARTTLS 身份验证,您也不会通过要求 STARTTLS 来防止垃圾邮件。垃圾邮件发送者也可以获得证书 - 或创建自签名证书。拒绝自签名客户端证书也会导致丢失合法邮件。

STARTTLS 是点对点加密。连接系统仍然可以读取电子邮件的内容。如果您想要真正的隐私,您需要端到端的东西,例如 OpenPGP 或 S/MIME。

也就是说,STARTTLS 确实删除了一种可能的拦截途径或 MITM,因此在可行的情况下使用它仍然是一个好主意,即当另一方也支持它时。

  • 关于证书和垃圾邮件的注释不合适。需要证书的是接收者而不是发送者。 (2认同)
  • +1 关于垃圾邮件的说明。仅仅因为它是加密的,它并不能使其安全。 (2认同)

小智 11

Google 维护其加密邮件百分比(包括入站和出站)的公开统计信息。此信息对您确定是否值得实施非常有用:

http://www.google.com/transparencyreport/saferemail/