评估路径,而不是装饰性查找分数
SPF 评估取决于连接 IP 地址、相关SMTP身份以及评估路径上遇到的DNS状态。仅显示可见包含术语的静态计数的检查器可能会错过嵌套依赖项、早期匹配、错误和重定向行为。有用的输出应显示输入、有序评估和结果原因,同时区分观察到的运行和假设的最坏情况分析。
RFC 7208 定义SPF及其 check_host 评估。本文提出了检查员的要求和防守装置。它没有声称EmailAuth实现了它们或测试了任何真实的发件人。未执行用户域DNS查询、 SMTP连接或测试消息。保留的标准是书面证据,而不是执行笔录。
记录身份和连接输入
工作表应标识提供给评估的 IP 地址、域和发件人输入,以及解释它们所需的SMTP上下文。 SPF评估相关 邮件来自 身份并已指定 HELO 行为,包括空反向路径情况。它不直接验证人类可读的显示名称或证明消息的内容是合法的。在将通过解释为更广泛的信任信号之前,请保持这些界限可见。
RFC 9989 添加一个 结盟 当SPF有助于时与可见发件人域的关系 DMARC。对某些其他域的成功SPF评估不会自动获得一致的DMARC通过。检查器应保留实际评估的身份,以便下游分析可以评估该关系而无需猜测。本手稿中没有可用的接收消息样本来确定实际的对齐结果。
显示有序机制和依赖性结果
RFC 7208按顺序评估机制,结果取决于匹配和错误。早期匹配可能意味着稍后的机制不会针对该输入进行评估。因此,检查器应该显示哪些条款已达成,哪些条款未达成以及处理结束的原因。如果它还计算依赖项清单或可能的不匹配路径,请将其标记为不同的分析,而不是将其呈现为执行路径。
包含不仅仅是粘贴到父记录中的文本。其引用的评估定义了结果处理:引用的传递生成包含的匹配项,而其他结果遵循标准的映射。重定向是在没有机制匹配后根据自己的规则评估的修饰符,任何 all 机制都会导致重定向被忽略。在解释为什么两个表面相似的记录表现不同时,这些区别很重要。
精确应用十项限制
第 4.6.4 节将评估的引起 DNS 查询的术语总数限制为 10 个:include、a、mx、ptr、exists 和 redirect 是列出的机制或修饰符。超过该限制需要 permerror。 all、ip4 和 ip6 机制以及 exp 修饰符不受相同限制; exp 可能会导致稍后查找。限制不是简单的最大数量 TXT记录 或在线路上观察到的原始DNS数据包。
嵌套评估有助于相关的总体评估预算。其他限制适用于与 mx 和 ptr 处理相关的地址查找,具有不同的规定处理。检查人员应该实施并报告这些细节,而不是将它们扁平化为不合格的十个DNS查询口号。它还应该将缓存的解析器活动与评估的逻辑术语区分开来:较少的网络数据包并不授权忽略协议的评估限制。
区分无效答案和暂时失败
RFC 7208描述 无效查找 作为没有答案或名称错误响应的肯定DNS响应。实现应将其限制为两个,可以使限制可配置,并且建议在可配置时默认为两个。超过应用的 void 限制会产生permerror 。这是具有可配置行为的“应该”级别的建议,而不是每个实现始终强制执行相同的固定限制的普遍断言。
DNS超时或服务器故障不仅仅是另一个无效答案。相关SPF错误规则可以产生 temperror,而永久性的评估问题会产生permerror 。记录实际的DNS响应或失败以及用于解释它的规则。不要将不可用的依赖关系转变为猜测的不匹配或干净的传递。检查员应该揭露不确定性并保留足够的证据以便稍后重现区别。
诚实地表示周期和畸形记录
循环依赖会重复消耗评估资源并达到定义的限制;它们不应该被表示为保证成功结果的无害的重复数据删除图。检查器可以检测并解释循环,但其报告的协议结果必须与实施的标准和输入相匹配。保留引用名称链和处理停止点,而不执行不受控制的重试。
在路径评估之前记录选择和语法问题。多种的 SPF记录 在相同的身份下,这不是合并发件人并在标准下产生permerror有效方法。未知的机制和未知的修饰符有不同的处理方式;仅仅因为可以忽略未知的修饰符,就不能安全地忽略不熟悉的机制。测试计划应涵盖这些区别,而不是将每个不受支持的项目视为一个通用警告。
依赖路径工作表
创建包含评估输入、实施版本、 DNS观察时间、选定SPF记录、有序术语、嵌套依赖项、术语预算和无效计数的工作表。对于每个步骤,记录响应状态、匹配或不匹配、错误映射和停止原因。为未评估的依赖项添加一个单独的列,以便读者可以区分实际路径证据和库存。保留解析器上下文和任何可配置的限制。
建议的装置应包括代表性匹配路径、到达后续依赖项的非匹配路径、循环、无效响应和不可用的DNS 。使用受控的合成DNS装置,而不是未经授权查询客户的基础设施。预期结果应引用相关标准部分并确定实现可配置的行为。这里没有运行固定装置,因此工作表包含需求而不是捏造的成绩单。
虚构诊断:短记录长路径
虚构的操作员只看到顶级记录中的几个包含术语,并假设查找预算是安全的。拟议的夹具审查表明,每个术语都可能导致对不匹配路径的进一步依赖。不同的输入可能会较早匹配,并且永远不会达到后面的术语。因此,即使发布的顶级文本相同,这两个路径也可能消耗不同的逻辑预算。
在建议更改之前,团队将保留实际的评估输入和路径。它不会盲目地将提供商记录扁平化为静态 IP 范围,因为这可能会转移更新责任并变得过时。此场景是虚构的:没有查询或修改提供程序依赖项、地址范围或真实记录。它说明了为什么检查器必须解释路径而不是仅显示计数。
保持结论的范围
有用的结果表明评估了哪些身份和 IP、在什么DNS状态和实施行为下以及为什么会出现结果。它不承诺每个发送者都会通过,也不保证通过会建立商业合法性。依赖项清单很有价值,但不应将其与执行的SPF评估相混淆。
该目录需要具有代表性的匹配、不匹配、循环、无效和不可用的 DNS 案例。那些最初的赛程和结果仍然开放。人类专家审查、来源适用性、生产路线、可访问性和所有者发布也保持开放。该草案提供了建议的证据模型,而不是执行的扫描或验证的工具行为。