什么是 DMARC、DKIM 和 SPF

域名设置检测工具:

 https://www.cloudflare-cn.com/learning/email-security/dmarc-dkim-spf/

什么是 DMARC、DKIM 和 SPF?

DMARC、DKIM 和 SPF 是三种电子邮件身份验证方法。它们共同帮助防止垃圾邮件发件人、网络钓鱼程序和其他未经授权的各方代表并非属于他们的域名*发送电子邮件

DKIM 和 SPF 可以比作办公室墙上张贴的营业执照或医生的医学学位,帮助证明其合法合理性。

同时,DMARC 告诉邮件服务器在 DKIM 或 SPF 验证失败时该怎么做,无论是将验证失败的邮件标记为“垃圾邮件”,还是将电子邮件完全丢弃。

没有正确设置 SPF、DKIM 和 DMARC 的域名可能会发现,他们发送的电子邮件被隔离为垃圾邮件,或没有传送给收件人。他们还有被垃圾邮件制作者冒充的风险。

 

v=DMARC1; p=reject; adkim=s; aspf=s; rua=mailto:example@third-party-example.com;
  • v=DMARC1 表示该 TXT 记录包含一个 DMARC 政策,应该被电子邮件服务器解释为该政策的内容。
  • p=quarantine 表示电子邮件服务器应当“隔离”未通过 DKIM 和 SPF 的电子邮件,将它们视为潜在的垃圾邮件。其他可能的设置包括 p=none,它允许未通过检查的电子邮件仍然传递,以及 p=reject,它指示电子邮件服务器阻止未通过检查的电子邮件。
  • adkim=s 意味着 DKIM 检查是“严格的”。将 s 改为 r,即可将其设置为“宽松的”,比如 adkim=r
  • aspf=s 与 adkim=s 的意义相同,但是针对 SPF。
  • 注意,aspf 和 adkim 是可选设置。p= 属性指示电子邮件服务器应当如何处理那些未通过 SPF 和 DKIM 的电子邮件。

 

https://mxtoolbox.com/SuperTool.aspx?action=spf
https://mxtoolbox.com/SuperTool.aspx?

 

 

txt    _dmarc    v=DMARC1; p=quarantine; fo=1; ruf=mailto:it-jump@qq.com; rua=mailto:it-jump@qq.com

 

DMARC 是 “Domain-based Message Authentication, Reporting & Conformance” 的缩写。它用来检查一封电邮是否来自所声称的发送者。DMARC 建立在广泛使用的 SPF 和 DKIM 协议上,并且添加了域名对齐检查和报告发送功能。这样可以改善域名免受钓鱼攻击的保护。

 

为什么 DMARC 如此重要?

根据 dmarc.org 的说法:

随着社交网络和电子商务的繁荣,垃圾邮件发送者和钓鱼攻击发起者基于利益的原因,想要入侵用户的账户,破解用户的信用卡等。Email 的相对容易攻击的特性备受罪犯们的青睐。只是简单地把企业的 logo 嵌入到 email 中,就能获取用户的信任。
用户很难辨别一封假的 email,邮件提供商也很难判断哪些邮件有可能会伤害用户。邮件发送者基本上对邮件认证的问题一无所知,因为他们缺少合理的反馈机制。那些尝试部署 SPF 和 DKIM 的企业的进展非常慢,因为没有监督进度和除错的机制。

DMARC 解决了这些问题。它帮助 email 发送者和接收者来共同保护 email,避免了昂贵的入侵损失。

DMARC 记录是什么?

DMARC 记录作为 TXT 资源记录发布到 DNS 中。它指示当验证失败时,应当如何处理收到的 email。

考察以下的发布在域名 “sender.exampledomain.com” 上的 DMARC 记录:

v=DMARC1;p=reject;pct=100;rua=mailto:postmaster@exampledomain.com

在这个例子中,发送者请求接收者完全拒绝验证未通过的 email,并且发送相关报告至 postmaster@exampledomain.com。如果发送者是在测试配置的话,“reject” 有可能被替换成 “quarantine”,意味着验证未通过的 email 将被隔离。DMARC 记录使用可扩展的 “标签 - 值” 语法。

DMARC 记录标签是什么?

这是一个典型的 DMARC 记录:

v=DMARC1; p=none; ri=3600; rua=mailto:5b06a240321f1@ag.dmarcly.com; ruf=mailto:5b06a240321f1@fo.dmarcly.com; sp=none; adkim=s; aspf=s; fo=0:1:d:s;

它由多个标签组成。这些标签告诉邮件服务提供商应该如何发送 DMARC 报告。我们在下面逐一解释这些标签。

v 是 DMARC 协议版本。它的值必须是 DMARC1。

p 是策略。该策略将被应用到验证失败的邮件上。可以设置成 ‘none’, ‘quarantine’, 或者 ‘reject’。‘none’ 用来收集 DMARC 报告。‘quarantine’ 用来隔离可疑邮件。‘reject’ 拒收可疑邮件。

ri 是以秒为单位的报告发送间隔。

rua 是一系列用来接受聚合报告的电邮。

ruf 是一系列用来接受失败报告的电邮。

sp 是子域名策略。

adkim 制定 DKIM 的对齐策略。

aspf 制定 SPF 的对齐策略。

fo 是法庭选项。

rf 制定失败报告的格式。

pct 对失败邮件应用策略的百分比。

DMARC 策略是什么?

DMARC 策略是在 DMARC 记录中制定的 p 标签。它指示邮件服务提供商应该如何处理验证失败的邮件。

DMARC 策略可以取三个值中的一个:none (monitor), quarantine 和 reject。

  • none: 邮件提供商对验证失败邮件不采取任何处理。这个模式用来收集 DMARC 报告。
  • quarantine: 邮件提供商把验证失败邮件放到垃圾邮件文件夹。
  • reject: 邮件提供商拒收验证失败邮件。
posted @   walkersss  阅读(137)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· DeepSeek “源神”启动!「GitHub 热点速览」
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器
历史上的今天:
2021-01-12 Nginx负载均衡session会话保持方法
2021-01-12 Mysqldump常用命令
点击右上角即可分享
微信分享提示