一台DNS根服务器与同伴失去了联系 草台班子运维让故障持续长达四天
在过去的四天多的时间里,互联网域名系统最核心的一台服务器与它的12台根服务器不同步,原因是一个无法解释的故障,它可能会导致全球范围内的稳定性和安全性问题。这台服务器由互联网运营商CogentCommunications维护,是提供互联网根区的13台根服务器之一,位于被称为域名系统(DNS)的分级分布式数据库的顶端。
下面简要介绍域名系统的工作方式以及根服务器在其中的作用:
当有人在浏览器中输入wikipedia.org时,处理请求的服务器首先必须将人性化的域名翻译成IP地址。这就是域名系统的作用。域名系统流程的第一步是浏览器查询本地操作系统中的本地存根解析器。存根解析器会将查询转发到递归解析器,递归解析器可能由用户的ISP提供,也可能是Cloudflare和Google分别提供的1.1.1.1或8.8.8.8服务。
如果需要,递归解析器会联系c-root服务器或其12个对等服务器之一,以确定.org顶级域的权威名称服务器。然后,.org名称服务器会将请求转给维基百科名称服务器,后者会返回IP地址。在下图中,递归服务器被标记为"迭代器"。
鉴于根服务器在确保一台设备可以找到互联网上任何其他设备方面的关键作用,有13台根服务器分布在世界各地。事实上,每个根服务器都是一个服务器集群,这些服务器在地理位置上也很分散,因此冗余度更高。通常情况下,13台根服务器--各自由不同的实体运营--步调一致。当对它们所托管的内容进行更改时,所有服务器一般都会在几秒或几分钟内完成更改。
C-rootDNS服务器上的奇怪事件
这种紧密同步对于确保稳定性至关重要。如果一个根服务器将流量查询指向一个中间服务器,而另一个根服务器将查询发送到另一个中间服务器,那么我们所知的互联网的重要部分就可能崩溃。更重要的是,根服务器会存储必要的加密密钥,以便根据DNSSEC机制对一些中间服务器进行身份验证。如果所有13个根服务器的密钥不一致,就会增加DNS缓存中毒等攻击的风险。
Cogent公司拒绝对此发表评论,其负责维护的12个c-root实例在上周六突然停止更新。法国工程师斯特凡-博茨迈耶(StéphaneBortzmeyer)是最早在周二的一篇文章中指出这一问题的人之一,他当时指出,c-root比其他root服务器晚了三天。
在Mastodon上,我们进一步注意到了这种滞后现象。
到周三中午,滞后时间已缩短至一天左右。
到周三晚些时候,c-root终于更新完毕。
这一滞后促使工程师推迟了原定于本周对处理以.gov和.int结尾的域名查询的域名服务器进行的工作。原计划是将服务器的DNSSEC更新为使用ECDSA密钥。由于新密钥无法统一推广到所有根服务器,因此这些计划不得不被取消。
负责.govDNSSEC过渡的Cloudflare工程师ChristianElmerot周三宣布:"我们完全了解并监控着C根服务器周围的情况,在情况稳定之前,我们不会继续进行正在进行的DNSSEC算法滚动。"计划向.int服务器过渡的工程师也发出了同样的呼吁,但只是在一些人担心尽管出现了问题,工作仍会继续进行之后。
Elmerot在接受采访时说,更新问题对现实世界的影响很小,但随着时间的推移,影响会越来越大。他解释说
随着根区变化的累积,版本之间的差异开始变得越来越重要。根区的典型变化是更改授权(NS记录)、轮换DNSSEC更新的DS记录以及DNSSEC签名的更新。如果差异仍然存在,那么过时的根服务器将看到DNSSEC签名过期,这将开始产生更明显的后果。使用多个根服务器可以降低解析器使用落后根服务器的几率。
在c-root出现故障的同时,同样由Cogent维护的c-root网站也出现了故障,导致许多人无法访问该网站。许多人认为这两个问题的原因是一样的。后来发现,网站问题是由于Cogent将用于托管网站的IP地址转移到了法国电信公司Orange的非洲子公司OrangeIvoryCoast。
这次混淆让Bortzmeyer开了个玩笑:"已向Cogent报告(票据HD303751898),但他们似乎不明白自己管理的是根域名服务器。"
出现这些错误的原因是,近几个月来,Cogent公司终止了与几家运营商的合作关系,根据一种被称为对等互联的安排交换彼此的流量。最近的一次终止发生在上周五,当时Cogent公司"部分剥离"了印度运营商塔塔通信公司(TataCommunications)的业务,此举导致Cogent的客户无法访问塔塔通信公司在亚太地区托管的许多网站。
周三晚些时候,Cogent发表了以下声明,他们表示直到周二才意识到故障,并又花了25个小时才修复故障:
世界协调时5月21日15:30时,CogentCommunications的c-root团队被告知,c-root服务的根区在5月18日之后不再跟踪根区发布服务器的变更。分析表明,这是由于一项无关的路由政策变更造成的,其副作用是使相关监控系统瘫痪。c-root没有因为这次中断而无法回答任何DNS查询,唯一的影响是根区的新鲜度。c-root提供的根区同步已于5月22日16:00UTC时完全恢复。
最初,一些人猜测塔塔通信公司的停运、c-root网站的中断以及c-root本身的更新错误都与此有某种联系。鉴于声明含糊不清,这些事件之间的关系仍不完全清楚。
踩一下[0]

站长云网
顶一下[0]