在 DMARC 报告中,SPF 身份验证混合通过/失败,没有 SPF 记录

在 DMARC 报告中,SPF 身份验证混合通过/失败,没有 SPF 记录

我已为我的域名附上了一份 DMARC 报告(该报告由 Google 发送)。它正确显示只有从我的 mta(amazon ses)发送的邮件通过了 DMARC 合规性检查。DKIM 部分也显示只有来自我的 MTA 的邮件通过了检查。太棒了。

但是,此报告显示少数主机通过了 SPF 身份验证,大多数主机未通过 SPF 身份验证。为什么/怎么会这样?我的 DNS 中甚至没有设置 SPF 记录?我是否误解了此报告的含义?有人可以解释一下发生了什么吗?

在此处输入图片描述

答案1

了解各种身份验证机制针对哪些地址进行检查非常重要。一封电子邮件至少有两个发件人地址——信封发件人 (RFC 5321) 和邮件头发件人 (RFC 5322)。SPF 针对信封发件人地址进行检查,而 DMARC 针对邮件头发件人进行检查。如果我们使用一些示例:

ENV From: [email protected]
HEADER From: [email protected]

如果您缺少 SPF 记录,则自动通过,并且域名相同,因此 DMARC SPF 对齐将通过。

ENV From: [email protected]
HEADER From: [email protected]

SPF 会根据 differentdomain.com 进行检查,并且根据其规则可能会通过也可能不会通过,并且 DMARC 会根据您的域名进行检查,但由于域名不同,SPF 对齐将失败。

DMARC 要求 SPF 对齐或者DKIM 对齐通过。要使 SPF 对齐通过,ENV From 域必须与标头 from 域相同,并且 SPF 必须通过。要使 DKIM 对齐通过,DKIMd=属性中指定的域必须与标头 from 中的域匹配,并且 DKIM 签名必须有效。

如果您的地址在标头中,您将收到 DMARC 报告,但如果信封中的不是您的域名,您可能会看到任何域名的 SPF 结果。无论哪种情况,如果它经过正确的 DKIM 签名,它仍将通过 DMARC,因为请记住,只有一个或另一个对齐检查需要通过。

答案2

报告中的一个例子DMARC

主机216.207.245.17(反向查找告诉我们lists.digium.com)代表您的电子邮件域发送了 147 封电子邮件。这些电子邮件通过了SPF检查,但由于用于检查的域SPF对齐与您的电子邮件域有关,但它失败了DMARC

尤其是电子邮件转发器/邮件列表的行为方式也是如此。在将电子邮件分发给列表成员之前,会重写退回地址(又名 smtp.mailfrom / return-path / 信封发件人地址),以便将未送达报告 (NDR) 发送回邮件列表提供商,而不是原始发件人。

虽然FROM地址会在电子邮件客户端中显示给收件人,但该envelope from地址是隐藏的,但用于检查 SPF。这就是 DMARC 对防止网络钓鱼如此重要的原因,因为SPF(或DKIM)本身无法验证FROM收件人看到的地址。

邮件列表通常的行为方式会导致DMARC在检查时身份验证失败,因为域与域SPF之间的对齐被删除。此外,有时签名字段(如主题)会被编辑,这会破坏原始 DKIM 签名。这正是envelope fromFROMDKIMARC (已认证接收链)正在创建,作为 的扩展DMARC。不幸的是,ARC仍处于草稿阶段。

因此,如果我们回顾我们的示例,邮件列表提供商会将地址重写envelope from[email protected],接收邮件服务器会检查域中的记录lists.digium.comSPF结果发现:"v=spf1 a mx ip4:216.207.245.0/26 ~all\"SPF通过(216.207.245.17属于范围的一部分216.207.245.0/26),DMARC失败。根据您的DMARC策略操作和接收服务器配置,电子邮件可能会被标记为垃圾邮件、被隔离、被拒绝或被发送到收件箱。

相关内容