[ DNS和域名 ]

在没有固定传播承诺的情况下规划DNS TTL 更改

围绕旧的缓存生命周期、权威发布和测量的解析器观察来计划身份验证更改,而不是通用传播截止日期。

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

[ 要点 ]

  • 降低 TTL 不会追溯缩短已使用旧 TTL 缓存的条目。
  • 别名、否定答案和权威一致性增加了单独的依赖关系。
  • 本地刷新和一些公共解析器检查不能证明全局完成。
在此页面上

用变更计划取代传播截止日期

DNS TTL 有助于确定何时重新考虑缓存的信息。它不会在全球范围内安排每个接收器开始使用替代品的时刻 SPF 政策或 DKIM 钥匙。不同的解析器在不同的时间获取旧的答案,权威服务器可能并不都提供新数据,并且应用程序可以有自己的查找和重试行为。

有用的变革计划将权威出版物与下游观察分开。 “ DNS主机接受编辑”是比“相关权威服务器返回预期答案”更早的里程碑。这两个语句都没有确定特定邮件接收者用于一分钟前发送的消息的内容。从每个里程碑的证据开始制定时间表,而不是笼统地承诺DNS需要固定的小时数。

了解正在观察哪个 TTL

权威资源记录具有与其发布的数据关联的 TTL。缓存的响应通常会报告缓存数据的剩余生命周期,因此两个递归解析器可以返回具有不同剩余 TTL 的相同文本。这些值描述了不同的缓存状态;它们不是记录预期配置的两个相互竞争的声明。 RFC 1035 ,第 4.1.3 节; RFC 1034 ,第 6.2.1 节.

如果现有记录具有较长的 TTL,则减少该值不会向后到达已存储较旧答案的缓存。在实质性更改之前计划减少,并允许考虑之前的缓存窗口。在将其视为维护计划的一部分之前,请确认较低的 TTL 确实已得到服务。这是规划指导,而不是证明每个缓存都已被观察到。

别名链添加了不同的依赖关系。别名记录和目标记录集可以具有不同的 TTL 和不同的运算符。客户端的短 TTL CNAME 不会强制同时刷新已缓存的目标键。在尝试解释时间之前写下两个名字。

分别对新旧答案进行建模

考虑一个虚构的SPF更新: mail.example.com。解析器 A 在 09:50 获取旧策略,TTL 为 3,600 秒。 10:00,权威运营商将发布的TTL更改为300。10:10,运营商替换策略。解析器 A 的早期条目在其原始缓存生命周期内仍然可用,直到 10:50(没有其他行为)。第一个在 10:10 之后查看的第二个解析器可能已经返回替换内容。

这个例子是发明的算术,而不是测量或保证的到期时间表。它的教训是,在 10:00 降低 TTL 不会重写解析器 A 的 09:50 条目。操作工作表应保留先前的数据、先前的 TTL、权威机构观察到 TTL 更改的时间、内容更改的时间以及后续采样的解析器答案。

对于DKIM轮换,请保留单独的里程碑以发布新版本 选择器,验证其可用性,启动使用它的签名并淘汰旧的选择器。仅DNS缓存算法无法决定先前发送的邮件何时完成验证。发送方的排队、重试和保留要求也属于轮换决策。 RFC 6376 ,第 3.1 和 3.6 节.

包括否定答案和中断行为

新创建的名称可能没有以前的正面记录。解析器可以保存较早的NXDOMAIN或NODATA结果。否定响应的基于 SOA 的生命周期与新发布的 TTL 值不同 TXT记录。因此,更改新的TXT TTL 不会删除之前缓存的缺失。 RFC 2308 ,第 3 节和第 5 节.

对于简单的到期故事来说,还有一个明确的标准例外。 RFC 8767允许在无法权威刷新过期条目时提供陈旧数据。是否发生这种情况取决于解析器和故障条件。不要仅仅因为返回的答案具有较小的非零 TTL,就认为它是新鲜的。 RFC 8767 ,第 4-5 节.

这些案件应该改变调查,而不是导致任意的额外等待期。如果当局不同意,请纠正出版一致性。如果仍然出现否定响应,请检查其原始问题和 SOA 上下文。如果无法访问权限,请恢复或调查可用性,而不是重复编辑已经正确的TXT记录。

选择回答发布问题的观察结果

在更改之前,从相关机构和选定的递归路径捕获准确的记录及其 TTL。然后,针对相同的端点重复相同的所有者、类型和类。包括与受影响环境相关的路径(如果可用);一些公共解析器仍然是样本,而不是对每个邮件接收者的人口普查。

建议的查询是 挖@RESOLVER_IP mail.example.com 。 TXT, 与 挖掘@AUTH_IP mail.example.com 。 TXT +norecurse。使用 UTC 时间戳保存完整响应,并在使用前标记所有占位符。本地缓存刷新仅更改本地缓存路径。它无法清除远程接收器的递归缓存,因此它不是全局完成控制。

准确报告结果:哪些权威机构同意,哪些采样解析器返回新值,以及哪些观察结果仍然缺失。然后通过预期服务发送受控消息并检查实际身份验证身份和接收者结果。此草案未执行任何DNS查询或消息测试。所需的解析器比较,包括 TTL、响应类型、权限和观察时间,仍处于开放状态。

[ 外卖 ]

TTL 是缓存行为的一部分;发布决策需要观察发布、抽样刷新和消息级验证。

[ 按角色 ]

这对您意味着什么

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

变更经理

安排证据里程碑

该计划需要区分 TTL 减少、内容替换和观察采用。

后续步骤

  1. 保留维护时段之前的先前答案和 TTL。
  2. 定义接受和回滚条件,无需全局时间保证。

DNS管理员

测量发布和缓存路径

权威值和递归剩余TTL描述了不同的状态。

后续步骤

  1. 记录更改前后的准确端点和时间戳。
  2. 将别名目标和早期的负面响应作为单独的依赖项进行检查。

邮件服务所有者

协调密钥使用与DNS可用性

新的选择器必须在服务依赖它之前可用,而较早的消息可能仍需要旧密钥。

后续步骤

  1. 签名更改时进行确认,队列仍可以包含较旧的签名。
  2. 在请求停用旧选择器之前验证受控邮件。

[ 常见问题解答 ]

常见问题

如果我将 TTL 更改为 300 秒,旧的SPF策略会在五分钟内消失吗?

不会。获得具有较长 TTL 的旧记录的解析器可以保留较早的缓存生命周期。验证何时提供较低值并考虑较早的条目。

为什么两个解析器对相同的TXT值返回不同的 TTL?

他们可能在不同时间获取数据并显示不同的剩余缓存生命周期。在将差异视为配置错误之前比较时间戳和端点。

何时应该计划减少 TTL?

在实质性变更之前,有证据表明当局会降低先前缓存生命周期的价值和津贴。交货时间取决于旧数据和运营计划。

较短的CNAME TTL 是否也会缩短目标密钥的 TTL?

不会。别名和目标数据是单独的记录,具有各自的缓存生命周期。当涉及提供商托管的密钥时跟踪这两个名称。

新TXT记录的 TTL 是否控制较早的丢失记录答案?

不会。缓存的否定答案有其自己的基于 SOA 的生命周期。创建TXT记录不会远程替换较早的缓存条目。

过期的数据还能继续提供吗?

是的。当权威刷新失败时, RFC 8767允许陈旧数据,但须遵守其规则和解析器行为。因此,过期不能被视为通用的全局切换。

刷新我的笔记本电脑会让邮件提供商使用新记录吗?

不会。这只会更改正在刷新的本地缓存路径。邮件提供商的解析器具有独立的状态。

TTL 到期是否足以淘汰旧的DKIM选择器?

不需要。协调先前发送或排队的邮件的签名转换和验证需求。仅DNS计时并不能确定发件人的安全退休时间表。

[ 来源 ]

来源

  1. RFC 1034 :域名:概念和设施
  2. RFC 1035 :域名:实施和规范
  3. RFC 2308 : DNS查询的负缓存
  4. RFC 6376 :域名密钥识别邮件签名
  5. RFC 8767 :提供过时数据以提高DNS弹性

[ 词汇表 ]

词汇表

TTL
DNS资源记录的缓存生命周期值,以及受适用标准管辖的刷新和允许的过时使用行为。
剩余生存时间
当解析器返回缓存记录时留下的生命周期,而不一定是最初发布的值。
正缓存条目
缓存的DNS数据提供相关记录,而不是保留缺失或解析失败。
负缓存条目
缓存的响应指示丢失的名称或请求的数据,单独的规则还涵盖解析失败。
服务陈旧
当无法权威刷新过期数据时,解析器行为可以重用过期数据。

企业出处

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

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

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

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

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

知识库