[ SPF ]

SPF temperror :调查DNS故障并重试行为

调查瞬时SPF DNS故障,不要将SPF结果与接收方的SMTP响应或发件人的重试计划混淆。

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

[ 要点 ]

  • Temperror 描述的是瞬态评估问题,而不是显式的非授权问题。
  • 接收方处理和发送方重试行为需要单独的证据。
  • 保留解析器上下文和确切的失败依赖项。
在此页面上

在解释交付之前了解结果

SPF temperror 表示验证者在执行检查时遇到暂时性错误,通常涉及DNS 。这并不意味着域明确拒绝向客户端授权,也不能确定已发布的记录永久格式错误。这种区别很重要,因为永久策略重写可能是对临时解析器问题的错误响应。

检查软件可以选择接受或暂时拒绝该消息。如果由于此原因在SMTP期间拒绝, RFC 7208建议回复代码 451 以及增强状态 4.4.3(如果支持)。这些是有条件的建议,并不能证明每个接收者都会发出这些确切的代码或消息已进入重试队列。在描述发生的情况之前,先获取实际的SMTP响应和发送方状态。 RFC 7208 ,第 8.6 节

捕获评估的身份和DNS上下文

从连接地址开始, HELO 或者 邮件来自 身份、评估域、发送者参数和观察时间。 SPF并不简单地评估用户在邮件的“发件人”显示中看到的域。如果服务使用单独的信封域,则需要在该上下文中调查该域的瞬态结果,而不是自动归因于客户的可见地址。

保留准确的查询名称、记录类型、解析器或评估器上下文、响应代码、超时信息和相关应答记录。后来从管理员笔记本电脑发出的成功查询是有用的佐证,但它无法重建接收者之前的DNS状态。保留带有时间戳和范围的观察结果。发送方或接收方的DNS软件都可能出现问题,因此仅凭错误标签无法分配责任。 RFC 7208 ,第 2.3、2.4 和 8.6 节

按照发生错误的依赖关系进行操作

策略可以依赖于递归包含或重定向以及其他 DNS 引发机制。子temperror通过包含作为错误传播,而不是表现得像普通的不匹配。因此,跳过暂时不可用的供应商并宣布母公司的最终-all结果是不安全的。显示评估停止并将结果返回给父级的机制。

将暂时性故障与空的肯定答案和无效查找记帐中使用的名称错误响应分开。还要区分十期限限制和经过时间限制。 RFC 7208规定处理器应该施加一个评估时间限制,应该允许至少二十秒;如果超出,授权应该是temperror 。不要将其描述为通用固定超时或在没有证据的情况下假设特定接收器的配置。 RFC 7208 ,第 4.6.4 和 5.2 节

调查中分开三个时钟

至少存在三个相关的时间序列: DNS解析和缓存、接收方的SMTP事务以及发送系统的队列尝试。临时DNS故障可能会在几毫秒或几秒内发生,而稍后的传送尝试则需要更长的时间。让这些序列通过交易证据联系起来,而不是将它们视为一个通用的“重试”事件。

记录接收方是否接受消息、发出临时响应或在没有可用响应的情况下关闭连接。然后检查授权的发送方证据以了解实际排队重试、下次尝试时间或最终到期时间。本文没有规定特定于供应商的重试间隔。协议级临时错误不会确定特定应用程序如何排队、报告或放弃消息。

不要承诺等待一定能解决问题。反复出现的解析器问题或不可用的依赖项可能会在多次尝试中继续出现。相反,在短暂中断期间重复编辑DNS可能会引入新的缺陷,并使原始原因更难以重建。首先进行诊断,保留时间顺序,并为每个证据来源指定一名负责的操作员。

提议的验收工作表

创建一个工作表,每次有界尝试一行。包括路由所有者、消息关联标识符、评估身份、连接地址、准确的SPF快照、依赖步骤、 DNS结果、 SPF结果、接收方响应和发送队列状态。将不必要的收件人详细信息和邮件内容保留在工作副本之外。保留每个字段的来源,这样应用程序状态就不会被误认为是接收者观察。

添加不确定性列。示例包括不可用的接收方解析程序日志、较晚而非同时的DNS应答或无法可靠链接到SMTP事务的队列事件。在选择操作行动之前,审核者应该了解仍然未知的内容。不要通过假设同一时间窗口中的所有消息都遵循相同的路径来填补空白。

验收标准应区分诊断和恢复。诊断需要支持的瞬态故障及其在评估中的位置。恢复需要稍后在规定的条件下对受影响的路线进行授权观察。两者都不能自动证明每个接收者、地址族或供应商依赖性都是健康的。拟议的后续检查需要其自己的授权和保留结果;该草案没有执行此类检查。

虚构诊断:其他地方接受,此处推迟

想象一条虚构的交易路线,其客户政策包括供应商。对于一个假设的接收者,供应商策略查询超时,并且SPF评估返回temperror 。假设接收方选择临时SMTP响应,并且发送方记录排队重试。这些是本教学示例中三个独立的假设事实,而不是收集的日志或实际的提供商事件。

第二个假设的接收者成功解析供应商策略并接受消息。该观察结果并不能证明第一个接收者的报告是错误的。不同的解析器上下文和时间可能会产生不同的结果。有用的调查将比较时间戳和依赖关系,而不是认为单个成功的查找会使每个早期的失败失效。

现在假设发件人仪表板仅显示“失败”并且没有SMTP响应。调查员无法断定接收者永久拒绝了该消息或发送者重试。下一步行动是通过批准的渠道获取少量缺失的证据。在队列和SMTP记录支持之前,建议的诊断仍然是临时的。任何记录变更都不能仅由通用标签来证明。

证据和发布边界

本文提供诊断方法,而不是事件报告。该目录需要特定结果的示例,以及支持每个诊断的DNS或消息证据。这些示例、原始查询记录和观察到的恢复行为仍然开放。未执行DNS扫描、消息发送、队列操作或接收器测试。

人工审查应检查有条件的SMTP建议、评估者假设和因果归因的限制。来源适用性、原始证据、生产路线、视觉可达性和所有者发布也保持开放。在真正的纠正之前,操作员必须区分策略缺陷和临时依赖性或解析器问题,并获得任何生产变更所需的授权。

[ 外卖 ]

首先跟踪瞬时故障,然后独立验证实际的SMTP和队列行为。

[ 按角色 ]

这对您意味着什么

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

DNS运营商

找到失败的依赖项

瞬时结果不会自动识别负责的域所有者。

后续步骤

  1. 保留查询和响应上下文。
  2. 比较同时代的证据。

邮件操作员

验证SMTP和队列行为

身份验证结果不会建立应用程序重试计划。

后续步骤

  1. 链接事务和队列事件。
  2. 将接受和重试索赔分开。

事件审核员

避免过早改变政策

推测性编辑可能会掩盖临时中断。

后续步骤

  1. 记录不确定性。
  2. 需要范围恢复证据。

[ 常见问题解答 ]

常见问题

temperror是否意味着客户端未经明确授权?

否。它表示暂时的SPF评估错误,通常与 DNS 相关。

RFC 7208 :发件人策略框架

接收者必须始终拒绝temperror吗?

不可以。检查软件可以根据其本地政策接受或暂时拒绝。

RFC 7208 :发件人策略框架

451有保证吗?

不可以。RFC RFC 7208建议在因此原因执行SMTP拒绝时这样做。

RFC 7208 :发件人策略框架

后来的成功查找是否反驳了先前的错误?

不会。时间和解析器上下文可能会有所不同。

可以包括忽略孩子的temperror吗?

指定的包含映射将temperror作为错误传播。

RFC 7208 :发件人策略框架

超时是无效答案吗?

否。将暂时性错误与限定空或不存在的DNS响应分开保存。

RFC 7208 :发件人策略框架

是否观察到重试?

否。所有重试示例都是虚构的,并且没有访问发送者队列。

哪些原始证据仍然存在?

结果特定的DNS或消息证据以及实际处理时间顺序仍然悬而未决。

[ 来源 ]

来源

  1. RFC 7208 :发件人策略框架

    部分 §2.3 HELO身份 · §2.4 来自身份的邮件 · §3.2 多个DNS记录 · §3.3 单个DNS记录中的多个字符串 · §4.5 选择记录 · §4.6 记录评估 · §4.6.4 DNS查找限制 · §5.1 “全部” · §5.2 “包含” · §5.3 “a” · §5.7 “存在” · §6修饰符定义 · §6.1 重定向:重定向查询 · §8 结果处理 · §8.4 失败 · §8.7 权限错误 · §10 对基础设施的影响 · §8.6 临时错误

[ 词汇表 ]

词汇表

温度错误
SPF结果表明评估过程中出现暂时性错误。

RFC 7208 :发件人策略框架

解析器上下文
与特定观察相关的解析器、时间和响应详细信息。
处置
接收者的处理决定,与SPF结果分开。

RFC 7208 :发件人策略框架

恢复证据
后来经过授权的观察显示了有限的受影响路线的行为。

企业出处

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

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

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

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

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

知识库