[ 运输安全 ]

MTA-STS证书和 HTTPS 链故障

将 HTTPS 策略证书与接收 MX 证书分开,并诊断确切的失败信任或主机名检查。

由EmailAuth研究团队提供

[ 要点 ]

  • HTTPS 策略主机和SMTP MX证书是单独的检查。
  • 捕获准确的主机名、SNI 和信任存储上下文。
  • 修复验证失败而不是禁用验证。
在此页面上

MTA-STS 使用两个不同的TLS连接。从 HTTPS 策略主机获取策略;另一个保护到选定MX SMTP传送。有效的网站证书无法确定接收SMTP是否合规,并且有效的SMTP证书无法修复损坏的策略端点。

首先命名失败的端点

参考: RFC 8461 §3.3, RFC 8461 §4.1, RFC 8461 §4.2.

例如example.com ,策略提取验证mta-sts.example.com 。证书必须包含匹配的DNS身份、未过期并链接到发送方接受的信任锚 MTA. A CNAME 目标或重定向目标不会自动替换此检查中的策略主机名。

SMTP验证改为检查选定的MX主机名。另请确认主机名至少与一种允许的策略 mx 模式匹配。这些是不同的比较:通配符策略允许并不会使不相关的证书有效。保留选定的名称、提供的链、验证时间和信任存储上下文。

诊断不仅仅是过期

参考: RFC 8461 §7.1, RFC 6066 §3.

失败可能来自过期的叶子、主机名不匹配、中间证书丢失或不正确、不受信任的链或提供默认证书的端点。将服务器名称指示设置为 HTTPS 的策略主机名和SMTP的MX主机名进行测试。共享托管服务可以根据 SNI 呈现不同的链。

尽可能比较受影响的发件人环境的观察结果。不同的信任库或旧的客户端软件可能会产生不同的结果。一台工作站上的绿色浏览器图标是该浏览器的有用证据,而不是所有发送 MTA 接受同一链的承诺。

保留可重复的探针

工具参考: OpenSSL 3.5 s_客户端手册。安装的 OpenSSL 3.5.7 帮助确认了这些选项;没有声明新的端点探针。

对于授权策略主机,将每个 POLICY_HOST 占位符替换为真实策略主机名:

openssl s_client -connect POLICY_HOST:443 -servername POLICY_HOST -verify_hostname POLICY_HOST -verify_return_error -showcerts

不要按字面意思运行占位符。在需要时提供平台适当的可信 CA 存储。保存stdout、stderr、OpenSSL版本和验证结果。然后使用验证 HTTPS 客户端检索确切的策略 URL,并禁用重定向跟随,并确认 HTTP 200 和预期的策略正文。

对于授权的MX ,请用实际的MX主机名替换每个 MX_HOST 占位符:

openssl s_client -starttls smtp -connect MX_HOST:25 -服务器名称 MX_HOST -verify_hostname MX_HOST -verify_return_error -showcerts

在两个探测器上使用相关的信任存储。参考: RFC 8461 §4.2 和 OpenSSL 主机名检查语义。仅成功的 OpenSSL 主机名检查并不能证明MTA-STS合规性:当不存在适用的 SAN 时,通用主机名验证可以回退到证书公用名。 RFC 8461 §4.2 特别要求SMTP证书包含具有匹配 DNS-ID 的使用者备用名称。单独检查证书 SAN 并确认所选MX主机名与其​​中的DNS条目匹配;不接受仅通用名称匹配作为所需的SMTP身份检查。还可以根据策略独立验证MX 。对于 HTTPS 策略主机, RFC 8461 §3.3 允许仅匹配 DNS-ID 标识符,并仅允许通配符作为完整的最左侧标签,而通用 OpenSSL 默认值可以接受部分标签通配符;将这两个探测器视为诊断程序,而不是完整的MTA-STS证书配置文件验证程序。测试环境中的出站端口 25 阻止是连接限制,而不是远程证书已损坏的证据。没有探测生产终点。下面保留的 2026 年 11 月 7 日证书链观察是针对环回服务捕获的,不会在此处重新运行。

修复链条而不削弱保单索赔

参考: RFC 8461 §3.3, RFC 8461 §4.2.

通过其批准的服务工作流程在受影响的端点安装正确的证书和中间链。重新测试原始名称和所有相关地址。请勿使用不安全的提取作为成功的验证结果或扩大MX模式以隐藏证书不匹配。

刷新失败不会丢弃有效的缓存策略。在事件通信中保持这种区别:修复策略 HTTPS 支持未来的提取,而修复损坏的MX可以恢复执行旧策略的发件人的合规传送。独立监控两个证书生命周期。

保留的历史证据和剩余范围

以下是保留的 2026 年 11 月 7 日实验室记录,经过检查但未作为本次审查的网络实验重新运行。新的离线夹具执行被单独记录。

带时间戳的本地跟踪捕获了 HTTPS 和SMTP主机名故障。使用wrong.example .test 证书的 HTTPS 失败,原因是mta-sts.example .test 的主机名不匹配。过期证书失败,证书已过期。新生成的有效策略主机证书随后恢复了 HTTPS 检索。单独公布的SMTP服务 STARTTLS 并首先完成TLS 1.3 并获得有效的实验室证书;安装错误的证书后, mx.old.example的客户端验证失败。所有信任检查都使用显式的一次性实验室 CA 和请求的 SNI 名称。保留的时间戳标识观察结果。这些证书是历史固定材料,而不是当前服务运行状况的凭证或证明。成功的 HTTPS 获取事件还会保留证书指纹;失败的 HTTPS 和SMTP事件保留验证结果,但不包含对等证书指纹。这是保留的孤立握手证据,而不是声称公共提供商存在证书问题或公共证书更新已得到验证。

[ 外卖 ]

修复验证失败而不是禁用验证。

[ 按角色 ]

这对您意味着什么

选择您的角色以执行后续实际步骤。

IT/邮件管理员

验证实际使用的名称

SNI、信任存储和端点身份属于诊断证据。

后续步骤

  1. 捕获链和主机名证据。
  2. 发送正确的 SNI 值。
  3. 重新测试每个相关地址。

CISO / SecOps

保留信任上下文

一位成功的客户并不能获得所有发件人的认可。

后续步骤

  1. 保留信任存储上下文。
  2. 不要绕过验证作为修复。
  3. 将主机匹配与信任验证分开。

创始人/非技术人员

不同的事件所有者

Web 策略托管和接收邮件可能会单独失败。

后续步骤

  1. 分配单独的 HTTPS 和SMTP所有者。
  2. 跟踪续订截止日期。
  3. 准确传达受影响的交付路径。

[ 常见问题解答 ]

常见问题

保单证书上属于哪个名称?

策略主机,例如mta-sts.example.com 。

RFC 8461 §3.3

SMTP期间检查哪个名称?

选定的MX主机名,独立于策略主机 HTTPS。 RFC 8461 §4.2 要求证书使用者备用名称中有匹配的 DNS-ID。通用 OpenSSL 主机名检查成功可能涉及通用名称回退,因此请单独检查 SAN;仅成功的探测并不能证明MTA-STS合规性。

RFC 8461 §4.2 OpenSSL 主机名检查语义

允许的通配符是否可以修复错误的证书?

不会。MX 模式匹配和证书身份验证是单独的检查。

RFC 8461 §4.1 RFC 8461 §4.2

为什么 SNI 很重要?

共享端点可以为每个请求的名称选择不同的证书链。

RFC 8461 §7.1

浏览器的成功是否证明每个发送者都信任该链?

不会。信托商店和客户行为可能有所不同。

RFC 8461 §3.3

端口 25 超时证明什么?

只是测试无法完成该连接,而不是证书失败。

我可以使用 --insecure 来验证修复吗?

不。它抑制了必要的检查。

失败的 HTTPS 是否会删除缓存的强制执行?

不会。有效且未过期的缓存策略仍然适用。

RFC 8461 §3.3

[ 来源 ]

来源

  1. RFC 6066

    部分 §3

  2. RFC 8461

    部分 §3.3 · §4.1 · §4.2 · §7.1

  3. OpenSSL 3.5 s_客户端手册

    部分 选项:服务器名称、verify_hostname、verify_return_error、showcerts、starttls

  4. OpenSSL 主机名检查语义

    部分 描述:SAN、CN 和主题检查标志

[ 词汇表 ]

词汇表

SNI
携带请求的服务器名称的TLS扩展。

RFC 6066 §3

信任链
从服务器身份到接受的根的证书路径。

RFC 8461 §4.2

DNS-ID
用于证书主机名匹配的DNS身份。

RFC 8461 §4.2

企业出处

为什么顶级金融机构和政府 退役了他们的电子邮件安全仪表板。

传统的电子邮件身份验证平台会向您出售仪表板并要求您的工程师来完成这项工作。在高风险环境中,手动监督意味着延迟执行、配置漂移和不受监控的影子域。

EmailAuth是代理电子邮件来源平台。 我们的代理人强制执行 p=reject,保持第三方发件人一致并将您的域名移至完整状态 RFC 9989 合规性、新的DMARC标准,以及人机交互审核能力。

政府 大型企业 一级金融机构

SaaS · 专用租赁 · 气隙本地部署 · BYOK 加密

知识库