同时部署 DANE + MTA-STS 时,哪个优先?发送方按什么顺序决策?
当接收方同时部署了 DANE 和 MTA-STS 时,发送方需要按照明确的优先级顺序决策。理解这个顺序对于正确部署和排查问题至关重要。
一、决策顺序
根据 RFC 7672 和 RFC 8461 的规定,发送方的决策顺序如下:
- 发送方通过 MX 记录查询接收方的 MX 主机名
- 发送方尝试 DNSSEC 验证:查询 MX 主机名的 TLSA 记录(_25._tcp.<mx-host>.)
- 如果 DNSSEC 验证通过且有有效的 TLSA 记录 → 使用 DANE(强制执行 TLS)
- 如果无 DNSSEC 或无 TLSA 记录 → 回退到 MTA-STS
- 检查接收方的 _mta-sts DNS 记录和 mta-sts.txt 策略文件
- 如果 MTA-STS 策略存在(testing 或 enforce)→ 按策略执行
- 如果两者都不可用 → 使用标准 SMTP(无强制 TLS 要求)
二、DANE 优先的理由
DANE 被优先采用的原因是 DNSSEC 提供的密码学签名链条比 Web PKI 更强。MTA-STS 依赖 CA 体系(易受 CA 攻击),而 DANE 的 TLSA 记录经过 DNSSEC 签名,不可伪造。因此 IETF 标准将 DANE 定义为更高优先级。
三、冲突处理
如果 DANE 要求 TLS 加密(有 TLSA 记录),但 MTA-STS 为 testing 模式:DANE 优先,强制使用 TLS。如果 DANE 不可用但 MTA-STS 为 enforce 模式:MTA-STS 要求 TLS。如果 DANE 不可用且 MTA-STS 也不可用:回退到标准 SMTP。
参考文献
- RFC 7672 Section 3 — SMTP Security via DANE
- RFC 8461 Section 4 — MTA-STS Policy
引用格式:ztpop.net. "DANE + MTA-STS 优先级." https://www.ztpop.net/kb/faq/mta-sts-tls-faq-05.html. 2026-07-29. CC-BY 4.0