更改DNS之前先定义问题
A 无效查找 诊断不仅仅意味着“ DNS没有提供预期的地址”。 RFC 7208描述了返回零答案的肯定响应或名称错误响应的相关查询。这些通常称为空查找。超时或服务器故障不是同一响应类别。将所有不成功的查找视为无效可能会将暂时的解析器事件转变为重写有效发件人策略的错误建议。
该标准规定,实现应该将无效查找限制为两次。它允许可配置的限制,并在这种情况下建议默认设置两个。超过适用的限制会产生 permerror。保留这些规范性区别:“二”并不是每个实现中无条件通用的“必须”,但审阅者也不应该假设未知的接收者已经提高了其限制。 RFC 7208 ,第 4.6.4 节
维护两个独立的柜台
整体 SPF 预算限制评估了 DNS 引起的术语,包括 include、a、mx、ptr、exists 和 redirect。无效限制涉及评估评估过程中遇到的空答案或不存在答案的资格。它们在操作后果上重叠,但衡量的东西不同。一项政策在用尽其总体期限预算之前可能会遇到有问题的无效响应。较长的成功依赖路径可以耗尽期限预算而不产生无效响应。
数据包捕获计数、解析器缓存命中计数和SPF术语计数不可互换。缓存可以改变网络活动,而不使逻辑策略可以自由评估。同样,一个句法术语可能需要额外的解析工作或有其自己的补充约束。将评估的术语、扩展查询名称、记录类型、答案分类和运行总计保留在不同的字段中。 RFC 7208 ,第 4.6.4 节
收集足够的响应详细信息以对事件进行分类
对于提议的授权调查,保留查询的名称和类型、 DNS响应代码、答案计数、相关返回记录、解析程序上下文和时间戳。保留原始响应或忠实的结构化记录,而不仅仅是绿色或红色仪表板标签。没有答案的积极响应不应被默默地重铸为NXDOMAIN 。两者都可能对作废记账很重要,但它们的DNS含义和补救路径可能不同。
记录SPF评估器是否确实完成了查找。静态发现工具可以探索特定消息从不评估的依赖关系。这种探索可以揭示风险,但并不能证明消息消耗了这些查找。确定连接地址、发件人输入和策略分支,以便其他审阅者可以了解评估或跳过机制的原因。
单独保留错误。超时、收集日志被截断或解析器无法访问是一种不确定性,需要单独分类。不要用假设的空答案替换缺失的观察结果。调查应该是可重复的,而不需要审阅者从散文中推断响应类型。
在提出修复建议之前解释机制
存在机制测试扩展域是否具有标准定义的地址数据。有一种机制将相关地址与连接客户端进行比较。他们的不匹配结果本身并不能证明出版商犯了错误。一些策略有意使用存在性检查。诊断问题是实际路径是否保持在适用的限制内,以及依赖关系是否仍然服务于其预期的授权目的。
不存在的包含目标值得有不同的解释。包括递归评估策略;子 none 结果映射到permerror ,而不是被视为安全失败的普通不匹配。因此,报告可能会遇到丢失的DNS数据,并且比累积无效限制解释更直接包含错误。解释最早支持的错误,而不是相同缺失名称的所有可想象的后果。 RFC 7208 ,第 5.2、5.3 和 5.7 节
操作工作表和验收标准
准备一个工作表,其中包含步骤列、包含策略、机制、扩展目标、查询类型、响应代码、答案计数、逻辑项总数、无效总数和继续决策。如果可用,请包括评估者记录的无效限制配置。如果该配置未知,请陈述假设并避免在没有证据的情况下将其归因于真实的接收服务。
对于每个可疑的空答案,分配一个可以确认目标是否是当前目标的所有者。印刷错误、退休提供商依赖、有意存在测试和暂时不可用的证据需要不同的响应。记录建议的更正及其可能影响的发件人路由。切勿仅仅因为名字看起来很熟悉而替换猜测的供应商。
接受需要一条连贯的路径和准确的失败分支,而不仅仅是草稿记录中更少的术语。审核者应该能够确定哪个响应被分类为无效、何时超过配置的阈值以及该事件确定结果的原因。在任何单独批准的更改之后,将再次需要当前证据,因为提供程序依赖项和缓存可能与规划快照不同。
虚构的诊断:空答案与不可用的解析器
想象一个完全虚构的策略,它按顺序达到三个存在检查,每个检查都返回一个零答案的肯定响应。假设一个虚构的评估器配置为无效限制为 2 并且没有较早的匹配或错误。在第三个合格响应中,建议的跟踪会识别超出的限制和permerror 。这是一个解释性场景,而不是执行的固定装置或有关任何提供商的声明。
将第三个观察更改为超时。诊断不能再说这个反应是第三个无效答案。调查者必须保留临时的DNS错误和评估者的处理,而不是强行将事件纳入之前的解释。将第二个观察结果更改为与存在机制匹配的肯定地址答案,并且后面的分支可能永远不会到达。
这些变化说明了为什么未解析主机名的简单列表是不够的。相关事实是响应语义、顺序和终止点。它们还说明了为什么相同的政策文本可以为不同的输入或DNS状态生成不同的路径,而不意味着某个观察者捏造了其结果。
保留原始证据并打开释放大门
本手稿未查询公共或私人领域。该工作表是一种建议的方法,所进行的诊断是虚构的。目录需要一个带注释的路径,显示每个计数的术语和确切的失败分支;在实际授权证据存在并得到审查之前,该要求仍然有效。
出版物应标记解析器上下文、收集时间和评估器假设。它不应该从一种实现的可配置阈值中声明通用接收器行为。来源适用性、人工审查、原始证据、生产路线、视觉可访问性和所有者发布仍然开放。任何真正的DNS修复都属于单独授权的更改过程,具有当前的发件人清单和回滚计划。