有用的DNS历史记录可以解释意图和观察结果。变更单说明了运营商想要发布的内容。权威答案显示了查询的服务器在特定时刻返回的内容。递归答案显示解析器返回的内容,可能来自缓存。重建身份验证事件时保留所有三个;没有一个人能够讲述完整的故事。
记录准确的对象和来源
对于每个观察,保留 UTC 时间、查询的所有者名称、类型、服务器地址、传输、响应代码、相关标志、TTL 和完整答案。保留原始输出或连线数据以及标准化视图。记录观察是否来自权威服务器、递归解析器或控制面板导出。 RFC 1034 解释了权限和缓存的区别。
对于策略更改,请保留之前的值和预期值、批准者、业务原因、受影响的发件人和回滚条件。稍后的屏幕截图无法证明早期的DNS状态。如果历史没有被捕捉到,请说出来。被动观察或报告元数据可以提供线索,但不应作为完整的权威变更日志呈现。
比较记录时保留语义
仔细规范化。 DNS名称不区分大小写,但不加区别地转换所有TXT内容可能会损坏证据。 TXT RDATA可以包含多个字符串;演示文稿引用与多个独立资源记录不同。保留原始结构并分别比较有应用意义的值。为了 SPF,多个策略记录是语义问题,而不是无害的格式。
将策略值更改与 TTL 更改、委托更改和解析程序缓存转换分开。根据负缓存规则,负响应可以持续存在 RFC 2308。新的权威值并不意味着每个接收者都会立即使用它。避免从一次成功的查找中得出通用传播完成时间。
阅读两个观察结果,无需发明编辑时间
假设 10:00 的授权权威查询显示旧策略。在 10:05,同一机构返回新策略,而递归解析器仍返回具有剩余缓存生命周期的旧值。这两种观察对于其各自的来源来说都是准确的。两者都没有确定所有其他服务器或接收器都具有新值。
这是一个假设的时间线,不是保留的数据包或已执行的DNS实验室。如果提供者审核事件不可用,则确切的突变时刻是未知的。在所询问的权威机构发生单一转变的既定假设下,当该权威机构的可见答案发生变化时,观察结果就会受到约束;它们不能证明精确的发布时间或全球收敛。记录缺失的审核事件,而不是用猜测的时间戳来填充它。
将历史记录与消息证据联系起来
检查故障时,调整消息时间戳、 DNS观察、签名选择器、队列延迟和报告观察间隔。 RFC 9990 提供聚合报告上下文,但报告不是DNS编辑的事务日志。认证结果描述评价;它可能不会透露导致它的确切解析器缓存内容。
根据批准的访问和保留政策保留证据。哈希有助于检测更改的字节,但未签名的本地清单并不是防篡改的来源。将源和集合上下文与摘要一起保存。明确间隙,包括缺失的有利位置或未记录的时间段。目标是进行可防御的重建和更安全的下一次改变,而不是对每个接收者的观点进行错误的确定。