检查一条 DMARC 记录,或者生成一条

一条 DMARC 记录就是一行文本,最多带十一个设置项,其中两项决定了它到底有没有实际作用。这个工具把它们用大白话讲出来,再核实那个会悄悄让你收不到报告的关键环节。

正在加载工具……

工作原理

  1. 输入你的域名,按“Check”(检查)。
  2. 看这些设置项和发现的问题:p=(策略)是收件方真正会执行的部分,pct= 限定这条策略适用于多大比例的邮件。
  3. 如果你的报告发往另一家公司的地址,检查一下授权那一块 —— 没有那条记录,报告永远不会送到。

为什么什么都不用上传

这个页面上的每一步操作,都由运行在你浏览器标签页里的代码完成,用的就是渲染网页的那套引擎。文件从磁盘读进标签页的内存,在那里被处理,再作为下载写回去。它不会被送到任何地方 —— 不会送给我们,也不会送给第三方。

自己动手验证

  1. 打开浏览器的开发者工具(F12),选择“网络”(Network)面板。
  2. 载入你的文件,运行这个工具。
  3. 你能看到的请求只有这些:工具自己的代码 —— 少数几个重型工具还会从公共 CDN 取它们的开源引擎 —— 外加一条发往 loreatec.jp 的小小访问记录(页面地址和标题,仅此而已)。没有一条带着你的文件。

文件不外传的证明 →

常见问题

我配好了 DMARC,但一份报告都没收到,为什么?

如果报告地址(rua)在一个和你不同的域名下 —— 比如某个分析服务商、你的代理商,或者一个私人邮箱 —— 那个域名必须发布一条记录,表明它同意接收关于你的报告:也就是 yourdomain._report._dmarc.theirdomain 这条记录,值为 v=DMARC1。收件方在发送报告之前会先检查这条记录,缺失时就会悄悄什么都不发。这个页面会替你检查这一点。另一个常见原因很简单:地址前面漏写了“mailto:”。

adkim 和 aspf 到底改变了什么?

它们规定了通过 SPF 或 DKIM 检查的域名,要和人们看到的 From 地址匹配到什么程度。Relaxed(默认值)接受同一个组织下的任何子域名 —— mail.example.com 算作 example.com 的一部分。Strict 则要求完全一致。对几乎所有人来说 relaxed 都是对的选择;strict 适合那些能掌控每一个子域名、并想防止某个被攻破的子域名被人利用的组织。

p=none 是不是没什么用?

作为第一步它是必须的,作为终点它却很糟糕。用 p=none 时,你的邮件不会有任何变化,但你能收到报告 —— 这正是你在最初那几周找出所有合法发件源时需要的东西。如果一直停留在 none 好几年,它就起不到任何保护作用:任何人依然可以冒充你的域名发信,只是现在多了一条记录,证明你其实知道这件事。

sp= 是做什么用的?

给子域名单独设一条策略。不设的话,子域名会沿用 p= 的策略。这一点很重要,因为攻击者常常利用那些根本没打算用来发信的子域名 —— 比如 invoice.yourdomain.com —— 在这种子域名上设 sp=reject 不会破坏任何东西,哪怕主域名此时还停留在 none。

pct 呢?

它只把这条策略应用在一部分没通过检查的邮件上,这样你就可以先以 10% 的比例进入隔离(quarantine)来观察效果。它是一个逐步推进的坡道,不是终点:即便策略是 p=reject,只要 pct=50,仍有一半的伪造邮件会被放行。