M3AAWG 邮件认证推荐最佳实践

译自 M3AAWG「Email Authentication Recommended Best Practices」(2020) · 行业最佳实践 (BCP)

1. 引言

M3AAWG(Messaging, Malware and Mobile Anti-Abuse Working Group,消息、恶意软件与移动设备反滥用工作组)是全球最大的在线反滥用行业组织,其成员涵盖 Gmail、Yahoo、Microsoft 等主要邮件服务提供商以及大量商业发件组织。

本文档推荐了一套使用以下安全协议对电子邮件进行认证的最佳实践:SPF(Sender Policy Framework)DKIM(DomainKeys Identified Mail)DMARC(Domain-based Message Authentication, Reporting & Conformance)以及ARC(Authenticated Received Chain)

M3AAWG 的核心论断是:认证是二元的——要么做对,要么没做,不像内容过滤打分那样存在概率空间。行业的最终目标是实现"No Auth, No Entry(无认证不进入)":无法确定来源身份的邮件将不再被投递。认证是防御域名仿冒、钓鱼攻击和垃圾邮件的基石。

2. SPF 推荐实践

SPF 允许域名所有者公布哪些 IP 地址有权使用该域发送邮件。M3AAWG 提出以下重点建议:

特别的,M3AAWG 建议 SPF 记录应以 ~all(软失败,softfail)收尾;只有那些明确从不发信的域才应使用 -all(硬失败,fail)。

关于对齐:SPF 验证的是 Return-Path 域(即 MAIL FROM)。为使 DMARC 通过,该域应与信头 From 域对齐(即 SPF 对齐)。由于邮件转发过程中 Return-Path 常被改写,SPF 对齐在转发场景中容易失效——这正是引入 ARC 的原因之一。

3. DKIM 推荐实践

DKIM 通过数字签名让接收方验证邮件在传输过程中是否被篡改,并确认其与某个域名的绑定关系。M3AAWG 的建议:

M3AAWG 还特别指出:当一个域的 SPF 记录过于宽松时,攻击者可利用"SPF 升级攻击(SPF Elevation Attack)"在某些条件下成功伪造该域。优先让 DKIM 签名域与 From 域对齐,是缓解该风险的关键手段——这也与 NIST SP 800-177r1 的结论"DKIM 比 SPF 更稳健"一致。

4. DMARC 推荐实践

DMARC 在 SPF 和 DKIM 之上提供了策略层,告诉接收方当认证失败时应如何处理邮件。M3AAWG 给出以下分阶段建议:

M3AAWG 强调:p=nonesp=nonepct<100 只应视为过渡态,目标是将这些限制条件尽快移除。

5. ARC 推荐实践

ARC(Authenticated Received Chain)被 M3AAWG 文档正式纳入邮件认证栈。ARC 解决的是邮件经过中间跳(如邮件列表、转发服务)后认证失效的问题:

6. 实施策略

M3AAWG 推荐分阶段推进邮件认证部署,以降低风险:

  1. 从监控开始。先设置 DMARC 的 p=none,结合 rua 报表了解当前认证全景。
  2. 识别并修复认证缺口。分析 DMARC 报告,找出哪些合法的发信流尚未通过 SPF 或 DKIM 认证,逐一补充。
  3. 逐渐收紧策略。p=nonep=quarantinep=reject 逐步推进,每一步都确认无重大误判后再前进。
  4. 与第三方发件人协调。许多组织依赖 ESP(邮件服务提供商)、CRM 系统等第三方代为发信,务必确保这些第三方发信流也已配置 SPF/DKIM,并与组织的 From 域对齐。
  5. 维持持续监控。认证配置不是"一次部署、终身无忧"的工作。定期检查 DMARC 报告、审计 SPF 记录中的授权 IP、按期轮换 DKIM 密钥,是保持认证体系健康的必要投入。

7. 常见错误

M3AAWG 指出以下在实践中经常出现的错误:

8. 国外场景补充

上述 M3AAWG 的推荐主要面向全球邮件生态,以下结合国内邮件系统的实际部署情况做几点补充:

国内 DMARC p=reject 部署现状

截至 2026 年,国内大型邮件服务商(如 QQ 邮箱、163 邮箱、阿里邮箱)对 DMARC 策略的处理存在较大差异。部分服务商对 p=reject 的执行力度较弱,甚至对未通过 DMARC 认证的邮件仍以 p=none 逻辑投递。这意味着在国内环境下,仅靠 p=reject 可能无法实现真正的拒绝效果。

因此建议:

SPF 10 次 DNS 查询限制在国内的常见问题

国内企业邮件系统常引入多个第三方服务(企业微信、钉钉、营销平台、CRM 系统等),每个服务商都可能要求在 SPF 中添加一条 include 语句。加上部分第三方服务的 SPF 记录本身又包含多层 include,很容易触及 10 次 DNS 查询上限。

常见解决方案:

参考文献

  1. M3AAWG — Email Authentication Recommended Best Practices (2020-09), © Messaging, Malware and Mobile Anti-Abuse Working Group (M3AAWG)
  2. RFC 7208 — Sender Policy Framework (SPF) for Authorizing Use of Domains in Email
  3. RFC 6376 — DomainKeys Identified Mail (DKIM) Signatures
  4. RFC 7489 — Domain-based Message Authentication, Reporting, and Conformance (DMARC)
  5. RFC 8617 — The Authenticated Received Chain (ARC) Protocol
  6. M3AAWG — Best Practices for Managing SPF Records
  7. M3AAWG — DKIM Key Rotation Best Common Practices
  8. NIST SP 800-177r1 — Trustworthy Email