[ 报告与调查 ]

原始SPF结果与一致的SPF政策结果

解释为什么DMARC策略结果中SPF通过与SPF失败可以共存。

由EmailAuth研究团队提供

[ 要点 ]

  • 在比较 From 之前,请先读取实际的SPF域和结果。
  • 身份验证通过和域对齐必须同时成立。
  • 在宣布总体DMARC结果之前检查DKIM 。
在此页面上

一个 SPF pass 回答发送 IP 是否被授权用于评估的SPF身份。 DMARC 问一个额外的问题:经过身份验证的身份是否与 From 中的域一致?一个 汇总报告 因此可以显示原始SPF通过和 SPF 相关的DMARC失败,而不会自相矛盾。

识别经过SPF验证的域

参考: RFC 9990 §3.1.1.13, RFC 7208 §2.4, RFC 9989 §4.4.2.

一起读取 auth_results/spf/domain 和 result。检查标识符/header_from、任何envelope_from 和报告的范围。不要假设SPF检查了可见的发件人域。 RFC 7208定义 邮件来自 身份,同时 RFC 9989 使用该身份来实现SPF对DMARC的贡献。

对于空反向路径, SPF使用邮局管理员定义 MAIL FROM 身份 HELO 领域。这种特殊情况不应成为任何独立HELO通行证都满足DMARC规则。当前的 RFC 9990 报告允许 mfrom 作为SPF范围;遗留报告格式可能会暴露不同的字段并需要明确的解释。

应用正确的对齐模式

参考: RFC 9989 §3.2.10.2, RFC 9989 §4.10.2, RFC 9990 §3.1.1.9.

严格的SPF 结盟 要求经过身份验证的域与作者域完全匹配。宽松的对齐允许通过适用的组织域规则定义关系。不要仅仅通过删除固定数量的标签来计算它:公共后缀和策略发现细节很重要。

row/policy_evaluated 下的SPF值表示 DMARC 相关结果,而不是原始SPF结果的重复。仅仅因为域名彼此相似,原始失败或错误不能成为成功的SPF路径。身份验证必须成功并且一致。

处理两个对比鲜明的行

参考: RFC 9989 §5.3.5.

假设brand.example和vendor.example适用有效的策略、已完成的检查和不相关的组织域。合成行 A 使用 header_from= brand.example 、MAIL FROM= vendor.example和原始SPF =pass。不相关的身份不对齐,因此需要policy_evaluated/ spf=fail 。将供应商 IP 添加到brand.example的SPF不会更改此路由实际评估的身份。

合成行 B 使用 header_from= brand.example和 MAIL FROM= bounce.brand.example以及原始SPF =pass。假设适用的组织域发现将它们放在一起。宽松的SPF对齐可以通过,而严格的SPF对齐则因名称不同而失败。这些是说明性的现场装置,而不是观察到的交通。

对于任一行,检查是否对齐 DKIM 然后得出DMARC整体失败的结论。一个传球对齐 DKIM签名 可以独立于SPF提供成功的DMARC路径。

选择更改失败层的修复

参考: RFC 7208 §10.3.

如果原始SPF失败,请调查实际评估域的授权和连接路径。如果原始SPF通过但未对齐,请调查受支持的自定义 MAIL FROM 配置或其他对齐的身份验证路径。不要继续将 IP 添加到不相关的域中 SPF记录.

通过受控接收的邮件和随后的报告证据确认更改,保留原始结果和一致结果。转发可能会改变连接IP,因此请测试相关路由,并避免仅将SPF视为传递的保证。使用评估的身份、对齐模式和展示的结果结束调查。

保留原始到对齐的测试用例

四个部分合成地图共享 header_from= brand.example 、policy p=reject 和纪元间隔 1704067200–1704153600。 A 使用 MAIL FROM= vendor.example与原始SPF通过且没有DKIM签名:对齐的SPF和DMARC失败。 B 使用 MAIL FROM= bounce.brand.example与原始SPF通行证且无DKIM :在明确假定的共享组织域下,宽松模式通过SPF对齐和DMARC 。严格模式下相同的 B 输入都会失败。第四种情况恢复了 A 不相关的SPF身份,但添加了brand.example传递DKIM例如 /selector billing1: DMARC通过DKIM传递。

提供的本地身份练习再现了所提供的身份、结果和对齐模式的所有四个结果。它使用显式的组织域映射,而不是DNS树遍历实现。它也不测试真正的空反向路径消息;上面的零路径指导是基于规范的。实际的提供者和接收者行为仍然需要收到的消息证据。

将练习保持在范围内

这些示例是部分字段投影,而不是架构有效的报告或测量的流量。本地检查使用明确提供的身份验证结果和组织关系;他们不执行DNS发现、 SPF评估、加密验证、报告摄取或接收器传送测试。在进行生产更改之前保留原始报告和可信消息证据。

[ 外卖 ]

在比较 From 之前,请先读取实际的SPF域和结果。身份验证通过和域对齐必须同时成立。在宣布总体DMARC结果之前检查DKIM 。

[ 按角色 ]

这对您意味着什么

选择您的角色以执行后续实际步骤。

IT/邮件管理员

比较两个结果层

原始SPF和策略评估SPF回答不同的问题。

后续步骤

  1. 记录 MAIL FROM 和 header_from。
  2. 应用报告的对齐模式。
  3. 在声明DMARC失败之前检查对齐的DKIM 。

CISO / SecOps

避免不必要的授权

将 IP 添加到错误的记录会扩大配置范围,但不会修复身份。

后续步骤

  1. 查看提议的SPF更改。
  2. 保留空路径和旧格式上下文。
  3. 需要变更后的证据。

创始人/非技术人员

诊断故障层

对齐问题需要与缺少发件人授权不同的决策。

后续步骤

  1. 询问哪个身份通过了SPF 。
  2. 确认服务支持合适的返回路径。
  3. 在变更期间保护关键路线。

[ 常见问题解答 ]

常见问题

SPF如何在同一份报告中通过和失败?

原始结果可以通过,而经过身份验证的域则无法通过DMARC对齐。

RFC 9990 §3.1.1.9 RFC 9990 §3.1.1.13

SPF通常会验证可见的发件人吗?

对于DMARC , SPF使用 MAIL FROM 身份,包括其定义的空路径构造。 SPF可以单独评估HELO ;比较可见的 From 是否对齐,而不是替换为SPF标识。

RFC 7208 §2.3 RFC 7208 §2.4

HELO通行证是否始终满足DMARC ?

不会DMARC依赖于 MAIL FROM 身份,包括SPF定义的空反向路径构造。

RFC 9990 §3.1.1.13 RFC 7208 §2.4

子域是否通过严格对齐?

当它与作者域不同时则不然。严格模式需要精确匹配。

RFC 9989 §3.2.10.2

当SPF未对齐时,对齐的DKIM能否拯救DMARC ?

是的。一种成功的一致身份验证路径可以满足DMARC要求。

RFC 9989 §5.3.5

我们应该将源 IP 添加到 From 域吗?

仅当该域实际上是相关的SPF身份并且授权是有意的时。对齐间隙需要不同的诊断。

什么字段确认原始身份?

使用结果、范围和可用信封信息检查 auth_results/spf/domain。

RFC 9990 §3.1.1.13

为什么修复后要测试转发?

即使直邮通过,转发也会改变连接 IP 并影响SPF 。

RFC 7208 §10.3

[ 来源 ]

来源

  1. RFC 9989

    部分 §3.2.10.2 · §4.10.2 · §4.4.2 · §5.3.5

  2. RFC 9990

    部分 §3.1.1.11 · §3.1.1.13 · §3.1.1.9

  3. RFC 7208

    部分 §10.3 · §2.3 · §2.4

[ 词汇表 ]

词汇表

原始SPF结果
在DMARC解释之前,用于验证的域的报告SPF结果。

RFC 9990 §3.1.1.11 RFC 9990 §3.1.1.13

DMARC 相关SPF结果
评估的SPF结果与DMARC对齐相关,而不是替代的本地覆盖结果。

RFC 9990 §3.1.1.9

企业出处

为什么顶级金融机构和政府 退役了他们的电子邮件安全仪表板。

传统的电子邮件身份验证平台会向您出售仪表板并要求您的工程师来完成这项工作。在高风险环境中,手动监督意味着延迟执行、配置漂移和不受监控的影子域。

EmailAuth是代理电子邮件来源平台。 我们的代理人强制执行 p=reject,保持第三方发件人一致并将您的域名移至完整状态 RFC 9989 合规性、新的DMARC标准,以及人机交互审核能力。

政府 大型企业 一级金融机构

SaaS · 专用租赁 · 气隙本地部署 · BYOK 加密

知识库