开发者生态
morning
DMARC 可以保护您免受哪些侵害,不能保护您免受哪些侵害
摘要
Ask five people what DMARC does and you will get five answers: it stops phishing, it kills spam, it proves an email is safe. None of that is quite right. DMARC (the current spec is RFC 9989 ) checks o...
the
DMARC
you
address
and
domain
From
actually
that
message
2026-08-03
1 阅读
约6分钟阅读
adulion
字号:
问五个人 DMARC 是做什么的,您会得到五个答案:它阻止网络钓鱼、它消灭垃圾邮件、它证明电子邮件是安全的。这些都不完全正确。 DMARC(当前规范是 RFC 9989 )检查一件狭隘的事情:发件人行中显示的域的所有者是否实际授权了此消息,可以通过 SPF 或 DKIM 证明吗?这是一个很好回答的问题。它也比 DMARC 建立的声誉要小很多。达到 p=reject 时,您会认为您现在已经防网络钓鱼了,您将悄悄放弃处理 DMARC 从未接触过的所有内容的控件。电子邮件如何证明发送者是谁 DMARC 下有两个构建块。 SPF 是域发布的允许代表其发送邮件的服务器的列表;收件人检查邮件是否确实是从其中之一寄来的。 DKIM 在消息中添加加密签名,让接收者确认它来自签名域并且在此过程中没有被更改。然后,DMARC 将这两个地址固定到您在“发件人”行中看到的地址。这是让人绊倒的部分。一封电子邮件实际上有两个“发件人”地址。有信封地址,其工作原理类似于邮寄包裹上的地址:邮件服务器使用它来路由消息,然后将其丢弃,因此您永远不会看到它。您可以在邮件应用程序中看到可见的消息顶部显示的“您的银行 ”。没有什么可以强迫这两者匹配。这个差距就是整个游戏:攻击者可以在可见的发件人中显示您的银行,而信封悄悄地指向他们自己的服务器。 SPF 查看信封地址。 DKIM 的签名带有自己的域。 DMARC 的工作是获取实际经过身份验证的地址,并根据您可以看到的“发件人”行进行检查,因为这是人们信任的地址。它们实际上是什么样子 所有这三个都作为文本记录存在于您的域的 DNS 中,与您的网站地址配置的位置相同。您不需要记住语法;它有助于识别形状。 SPF 记录列出了允许发送的人员。此人授权 Google Workspace 和营销工具,并表示其他任何内容都应被视为可疑:example.com。 TXT "v=spf1 include:_spf.google.com include:sendgrid.net -all" include: 条目拉入每个提供商自己的服务器列表,-all 意味着“如果不在这些列表中,则不是我们”。 DKIM 记录会发布签名密钥的公共部分,以便收件人可以检查邮件上的签名。长字符串是键本身:selector1._domainkey.example.com。 TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQ...AB" 最后,DMARC 记录将其捆绑在一起,并告诉接收者当消息失败时该怎么做。这要求他们拒绝失败并向您发送报告:_dmarc.example.com。 TXT "v=DMARC1; p=reject; rua=mailto:reports@example.com" p=reject 是严格设置:身份验证失败,邮件将被拒绝。 rua= 就是您的汇总报告所在的位置。实际上如何决定通过 DMARC 位于 SPF 和 DKIM 之上,并且独立评估它们。邮件可以通过两种不同的方式传递:SPF 传递隐藏信封域,并且该域与可见的发件人域对齐,或者 DKIM 签名进行验证,并且其签名域与可见的发件人域对齐。如果任一对齐路径成功,则 DMARC 通过。如果两者都没有,则失败。 “对齐”仅仅意味着两个域匹配得足够紧密,可以算作同一个组织。流程图 TD A[传入电子邮件] --> S{SPF 进行身份验证并与发件人域保持一致?} S -->|yes| P([DMARC 通行证]) S -->|否| D{DKIM 验证并与来自域一致?} D -->|yes| P D -->|否| F([DMARC 失败]) 如果 SPF 或 DKIM 均通过身份验证并与可见的发件人域保持一致,则 DMARC 通过。只有当两者都没有时它才会失败。简单介绍一下“对齐”的含义,因为它能吸引人们注意。 DMARC 有两种模式。在宽松模式(默认)下,两个域只需共享相同的组织域,因此 mail.example.com 的 DKIM 签名与 example.com 的 From 一致。在严格模式下,它们必须相同,并且相同的签名将会失败。如果您看到“SPF 通过,DMARC 失败”,并想知道两者如何同时为真,这通常意味着 SPF 成功确认了隐藏信封域,但该域与可见发件人地址的匹配不够紧密,无法对齐。然后,严格模式与宽松模式决定密切相关的域是否算作相同的域。请注意测试从不关注的内容:消息中的文字、链接、附件、发件人是否有意伤害您。它只询问邮件来自哪里。 DMARC 的用途 DMARC 的构建目标是精确域欺骗。如果有人将 your-bank.com 放入发件人地址,但没有生成一致的 SPF 或 DKIM 结果,则 p=reject 策略会要求参与的接收者拒绝邮件,尽管接收者保留对其处置的最终控制权,并且可以应用本地策略或 e
这篇文章对您有帮助吗?
订阅66必读
每日精选科技资讯,直达你的邮箱