DMARC 策略与报告
强制执行对齐并解读报告。
DMARC 策略与报告 是 CoddyKit 上的免费 Cyber Security Academy 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Cyber Security Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Cyber Security Academy 课程共包含 4 节课。
DMARC 增加的功能
DMARC(基于域的消息认证、报告与一致性)将 SPF 和 DKIM 结合起来,弥补了它们最大的盲点。
SPF 和 DKIM 各自验证一个域名,但不一定验证用户看到的可见发件人标头。DMARC 要求这种验证结果与发件人域名对齐,并告诉接收方在邮件失败时应采取什么措施,同时还会向您发送报告。
对齐的概念
对齐是 DMARC 的核心。只有在 SPF 或 DKIM 通过并且经过验证的域名与可见发件人域名匹配时,邮件才能通过 DMARC。
- SPF 对齐——信封 MAIL FROM 域名与发件人域名匹配
- DKIM 对齐——DKIM 的
d=域名与发件人域名匹配
这可以阻止攻击者使用自己的域名通过 SPF,同时在发件人中显示您的域名。
宽松对齐与严格对齐
对齐可以使用两种模式进行检查,并按机制分别配置:
- 宽松(默认)——组织域名必须匹配;允许使用子域名(
mail.company.com可与company.com对齐) - 严格——域名必须完全匹配
宽松模式是实际部署中的默认选择,因为组织通常会合法地从子域名以及通过供应商发送邮件。在能够保证使用完全相同的域名签名时,严格模式可以提供更紧密的控制。
DMARC DNS 记录
DMARC 会以 TXT 记录的形式发布在特殊的 _dmarc 子域名中:
_dmarc.company.com. IN TXT \
"v=DMARC1; p=reject; rua=mailto:dmarc@company.com; \
ruf=mailto:forensic@company.com; pct=100; \
adkim=r; aspf=r; fo=1"策略标记说明
DMARC 的关键标记用于控制行为和报告:
p policy: none | quarantine | reject
sp policy for subdomains (defaults to p)
rua address for aggregate reports
ruf address for forensic (failure) reports
pct percent of mail the policy applies to (rollout)
adkim DKIM alignment mode: r (relaxed) | s (strict)
aspf SPF alignment mode: r (relaxed) | s (strict)
fo forensic report options三种策略级别
p= 标记会告诉接收方如何处理未通过 DMARC 的邮件:
- p=none——不采取任何措施,仅发送报告(监控模式)
- p=quarantine——将失败邮件视为可疑邮件(转入垃圾邮件)
- p=reject——直接拒绝失败邮件(最强保护)
任何部署的目标都是达到 p=reject,因为它确实会阻止伪造邮件。不过,盲目从这一策略开始可能会导致合法邮件被丢弃。
汇总报告(RUA)
汇总报告(发送到 rua 地址)是接收服务提供商每天发送的可扩展标记语言格式汇总。报告会显示所有以您域名名义发送邮件的来源,以及每个来源是否通过了 SPF、DKIM 和对齐检查。
您可以通过这些报告发现:
- 您忘记授权的合法服务
- 针对您域名的伪造尝试
- 在执行策略前发现配置错误的发送方
它们是安全推出 DMARC 时最有用的工具。
阅读汇总报告
汇总的可扩展标记语言报告会列出来源 IP 及其身份验证结果:
<record>
<row>
<source_ip>198.51.100.4</source_ip>
<count>120</count>
<policy_evaluated>
<disposition>none</disposition>
<dkim>pass</dkim>
<spf>pass</spf>
</policy_evaluated>
</row>
<identifiers><header_from>company.com</header_from></identifiers>
</record>取证报告(RUF)
取证(失败)报告(发送到 ruf 地址)会提供有关单封邮件失败情况的详细信息,包括经过删减的标头。
它们有助于调查正在进行的伪造活动。不过:
- 由于隐私方面的顾虑,许多服务提供商不会发送此类报告
- 报告可能包含敏感的收件人数据,因此必须谨慎处理
实际上,汇总(RUA)报告承担了大部分分析工作;取证报告属于额外信息。
安全的分阶段发布路径
不要直接跳到拒绝策略。请根据报告采用分阶段的发布方式:
- 发布 p=none,配置
rua并监控数周 - 修复报告显示的每个合法发件人的 SPF 和 DKIM
- 切换到 p=quarantine,也可以使用
pct逐步提高比例 - 确认没有合法邮件失败后,设置 p=reject
在进一步收紧策略前,请根据汇总报告验证每一步。
子域名与 BIMI
还有两个实践要点可以完善整体方案:
- 子域名策略(sp)——为子域名设置策略,防止攻击者伪造
random.company.com。即使某个子域名不发送邮件,也请使用sp=reject。 - BIMI——达到
p=quarantine或p=reject后,您可以发布 BIMI 记录,以便在支持该功能的收件箱中显示经过验证的徽标,这也是推动企业执行 DMARC 的业务激励。
快速检查
测试您对 DMARC 的理解。
回顾
您已了解 DMARC 如何执行策略并生成报告:
- DMARC 要求 SPF 或 DKIM 与可见的发件人域名对齐
- 对齐方式可以是宽松的(允许子域名),也可以是严格的(必须完全匹配)
p=策略会从 none 逐步升级为 quarantine,再升级为 reject- 汇总(rua)报告推动安全的分阶段发布;取证(ruf)报告则提供每封邮件的详细信息
- 设置子域名策略,并在开始执行策略后考虑使用 BIMI
至此,电子邮件安全课程就完成了:SPF 授权服务器,DKIM 为邮件签名,而 DMARC 将它们与发件人域名关联起来并执行策略。
常见问题解答
「DMARC 策略与报告」课时是免费的吗?
是的 — 「DMARC 策略与报告」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Cyber Security Academy 课程的其余内容,请升级到 CoddyKit PRO。 Cyber Security Academy 课程共包含 4 节课。
「DMARC 策略与报告」这节课中我会学到什么?
强制执行对齐并解读报告。 你通过在浏览器中直接运行的动手代码来练习 Cyber Security Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Cyber Security Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Cyber Security Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。
「DMARC 策略与报告」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Cyber Security Academy 课中编写并运行代码吗?
能。每节 Cyber Security Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。