[ SPF ]

SPF所有限定符:比较失败、 softfail 、中性和通过

谨慎选择最终的SPF结果,并将身份验证结果与接收器处理分开。

由EmailAuth研究团队提供 · 4 分钟阅读

[ 要点 ]

  • A达到所有机制匹配;它的限定符控制结果。
  • Bare all 意味着+all ,而早期的匹配和错误仍然很重要。
  • 分别检查DMARC对齐和接收器处理。
在此页面上

all 机制始终匹配。因此,它的限定符决定了什么 SPF 说的是到达它的连接地址。熟悉的结尾-all 、 ~all 、 ?all和+all是四种不同的身份验证语句,而不是四种有保证的传递操作。

较早的机制可能已经返回结果。在解释记录的最后一个单词之前,请阅读整个评估路径。 RFC 7208 §2.6 和 RFC 7208 §5.1 定义这些语义。

比较四个结局

使用-all ,到达所有接收的发送方都会失败。该策略表示该地址未获得评估身份的授权。对于~all ,它会收到softfail ,这是一个较弱的否定语句,而不是通过。对于?all ,它会收到中立的结果,这意味着该策略不会对该地址做出授权断言。使用+all ,它会收到通过。

在下面 RFC 7208 §4.6.2,不合格的 all 具有默认 + 限定符,因此也会通过。这使得一切成为一个必然的许可选择,而不是一个无害的终结者。一旦所有匹配,后续机制就无法提供额外的权限。

工作示例:保持授权发件人不变

使用综合策略 v=spf1 ip4:192.0.2.90 QUALIFIERall。对于来自192.0.2.90的连接, ip4 首先匹配并在每个结尾下返回 pass 。对于192.0.2.91 ,第一个机制不匹配。所选择的结局然后分别返回失败、 softfail 、中性或通过。

将~all更改为-all不会更改此装置中第一个地址的结果。它改变了尚未匹配的地址的处理方式。这就是为什么正确的准备问题是是否已识别出所有合法的发送路径,而不是公共发送者是否通过了一项测试。

政策包括 v=spf1 -all 不通过SPF授权任何地址。它可以表达非发送身份,但并不是每个接收者都必须丢弃在 From 中显示该域的每条消息的通用指令。

将结果和处理分开

SPF返回认证结果。接收者使用本地策略和其他证据来决定如何处理消息 RFC 7208 §8.4 和 RFC 7208 §8.5。失败并不能证明每个接收者都拒绝了该消息, softfail也不能保证在发送消息时会发出警告。

SPF softfail和中性不会成为通过SPF路径 DMARC。在下面 RFC 9989 §4.4.2, DMARC需要通过 结盟 其SPF路径,或单独的传递对齐 DKIM 小路。因此,尽管SPF失败,邮件仍可以通过DKIM传递DMARC 。相反, +all可以为地址生成SPF通行证,但不使其内容可信。

不要使用+all来消除错误仪表板。它授权每个到达该身份的地址并打破预期的限制。而是修复丢失的发件人、不正确的身份或损坏的依赖项。

区分政策结局和评估错误

佩默错误 和 temperror 不是失败的其他拼写。多种的 SPF记录、无效语法或超出处理限制可能会阻止正常评估。临时DNS问题可能会产生temperror 。将-all替换为~all不会修复到达结尾之前发生的错误。

在选择更改之前收集实际结果并进行跟踪。对于DNS中断,请调查依赖性和解析器路径。对于无法识别的合法发件人,请先确定其所有者和预期的信封身份,然后再授予其权限。

推出更严格的声明并提供证据

盘点常规、故障转移、 IPv6和不频繁发送路由。针对这些地址和未经授权的控制测试建议的策略。保留以前的记录,定义基于服务的回滚条件并在发布后验证收到的邮件。

如果转发是合法传送的一部分,请审查更广泛的身份验证设计,包括一致的DKIM和接收者行为。不要广泛授权未知转发器使每个间接SPF路径通过。

实用的外卖

选择您打算对其他不匹配的发件人进行的声明的限定符。首先验证库存和错误路径,然后将身份验证和交付作为单独的结果进行衡量。

记录下一个决定

对于合成赛程中的192.0.2.91 ,四种结局分别为失败/ softfail /中性/通过; 192.0.2.90仍然通过之前的 ip4 匹配。如果在正常结果之前发生语法或依赖性错误,则更改最终限定符不是修复。这些是分析控制流结果,而不是交付测试。

[ 外卖 ]

A达到所有机制匹配;它的限定符控制结果。 Bare all 意味着+all ,而早期的匹配和错误仍然很重要。分别检查DMARC对齐和接收器处理。

[ 按角色 ]

这对您意味着什么

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

IT/邮件管理员

保留结果类别。

不要将DNS错误、 softfail和失败变成一种无差别的故障标签。

后续步骤

  1. 捕获评估轨迹。
  2. 测试确切的提议结局。
  3. 单独验证对齐的DKIM 。

CISO / SecOps

拒绝一揽子授权作为维修。

+all可以通过删除预期的SPF限制来消除可见的故障。

后续步骤

  1. 需要合理的权限更改。
  2. 审查广泛的赠款。
  3. 明确接收者的判断力。

创始人/非技术人员

通过覆盖范围判断准备情况。

仅当了解关键发件人和恢复计划时,更严格的策略结束才有用。

后续步骤

  1. 盘点重要的消息类型。
  2. 测试稀有路由和故障转移路由。
  3. 将身份验证与交付结果分开。

[ 常见问题解答 ]

常见问题

-all是否强制每个收件人拒绝邮件?

不会。它为不匹配的地址提供SPF失败。接收器处理是一个单独的决定。

RFC 7208 §5.1 RFC 7208 §8.4

~all SPF通行证吗?

不会。它会产生softfail ,这是一种不满足DMARC的SPF通过要求的独特结果。

RFC 7208 §8.5 RFC 9989 §4.4.2

?all是什么意思?

它产生中立的,而不是该地址已被授权的断言。

RFC 7208 §2.6.2

bare all 与+all不同吗?

不会。如果没有限定符,则隐含 +,并且匹配结果为通过。

RFC 7208 §4.6.2

我到底可以添加发件人吗?

它不会授予权限,因为所有内容都首先匹配。

RFC 7208 §5.1

将-all更改为~all是否可以修复permerror ?

不可以。语法、记录选择或处理限制错误需要自行诊断。

RFC 7208 §4.5 RFC 7208 §4.6.4

SPF失败时DMARC还能通过吗?

是,当传递对齐的DKIM签名提供DMARC传递路径时。

RFC 9989 §5.3.5

在转向-all之前应该检查什么?

验证合法路由、实际信封身份、 IPv6和故障转移使用、间接邮件行为以及批准的恢复计划。

[ 来源 ]

来源

  1. RFC 7208

    部分 §2.4 · §2.6 · §2.6.2 · §4.5 · §4.6.2 · §4.6.4 · §5.1 · §8.4 · §8.5 · §10.3

  2. RFC 9989

    部分 §4.4.2 · §5.3.5

[ 词汇表 ]

词汇表

SPF
连接 IP 和相关SMTP身份的授权评估。

RFC 7208 §2.4

SPF限定符
决定机制匹配结果的前缀;省略的限定符默认为 +。

RFC 7208 §4.6.2

企业出处

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

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

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

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

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

知识库