当地时间10月4日,Facebook 及其旗下 Instagram 和 WhatsApp 等应用全网宕机,停机时间近 7 小时,浏览器在尝试打开时显示 DNS 错误。Facebook官方发布声明称,因更新BGP路由器导致DNS权威服务器离线进而造成长达7个小时之久的中断事故。
北京邮电大学计算机学院(国家示范性软件学院)信息网络中心路由安全研究团队联合互联网域名系统国家工程研究中心(ZDNS)专家通过对事件当天的路由报文进行回溯分析,简单还原整个事件发生的过程,并从互联网基础设施分布的均衡性和冗余性方面对路由维护、监测与防御、域名系统冗余设计等方面提出一些建议。本次技术分析部分成果来源于国家重点研发计划“大规模安全可信的编址路由关键技术和应用示范”项目课题“网间互联可信路由关键技术与设备研发”,该课题主要研究网间互联可信路由关键技术,支持域间路由行为安全协作和攻击防范。
BGP和DNS偶发性事故联动是主因
分析发现,Facebook重要服务的域名解析失效了,导致大量的Facebook应用服务访问不可达,另外一个严重的问题是Facebook AS32934相互依赖的服务中间件和审核软件开始失效,从而导致整个数据中心的网络崩溃,最后不得己以物理的暴力方式进入机房恢复设备。研究认为,此次事件的主角是BGP和DNS偶发性事故联动造成的重大事件。
专家进一步解释说,BGP和DNS作为网络空间的基础设施,是网络空间的命门所在,犹如人体的动静脉,联动性的故障必然造成规模性失血,持续时间长且极具破坏性的中断通常可以归咎于控制平面的某些问题。
分析还发现,从互联网码号资源分配看,Facebook主要有三个自治域,从地址前缀分布可以看出,AS32934是Facebook的主力AS,我们通过分析FDNS日志,发现该自治域集中了Facebook大部分的应用服务,令人费解的是,Facebook所有的DNS权威服务器全部位于AS32934中。“这相当于把所有鸡蛋都放进了一个篮子中,一旦出现问题,后果非常严重。”专家说。
为了做进一步的深入分析,研究团队基于Alexa网站排名从全球6个测量点对全球Top1000网站的权威服务器分布进行了测量。
“我们挑选了Top30网站,从权威DNS地址分布、前缀聚合分布、AS聚合分布进行数据分析,发现国外很多重要应用服务网站大都存在类似Facebook的问题,这里amazon.com例外,它的权威分布冗余度较高,这可能与2018年亚马逊权威DNS遭遇BGP劫持教训有关。”专家表示,国内的主流网站防护比较好,基本都有冗余备份。
随后,联合研究团队又把数据扩展到Top100网站,Top1000网站,整体冗余情况也很不乐观,Top100网站中有超过50%的网站DNS权威冗余度较低,Top1000网站中有接近70%的网站权威服务器集中在单一自治域中。
多措共举,防范于未然
通过事件的回溯分析,专家认为,BGP和DNS的一系列巧合操作造成了此次事件的严重后果,因此可以看到BGP和DNS误操作的“网络核弹”威力。为此,联合研究团队在路由维护、事件监测防御以及DNS冗余度方面,提出以下建议:
一是路由维护。BGP路由作为网间互联互通的基本协议,简单而不简约。任何自动化的操作,如果没有全局的知识库作为路由过滤的支撑,比较容易发生错误的配置,需要对危害性的命令有“特别严格”地警示和确认。 二是路由监测与防御。目前著名的路由监测平台如BGPStream、ThousandEyes、Downdectcor都可以检测出事件的发生,然而大部分系统关注的是事件的漏报率和误报率,忽视了事件所涉及前缀的敏感度以及前缀的归属责任人。建议建立敏感前缀管理人的台账机制,能在事件发生的第一时间通知管理人,这是路由安全防御的有效防范手段。 三是域名系统冗余设计。DNS系统的本质是一个分布式的数据库,这种结构允许对整体数据库的各个部分进行本地控制且互相关联。如亚马逊amazon.com的权威域授权体系在多元化层面要优于facebook.com,所以其抗风险能力要强于Facebook。另外,DNS系统在架构设计和技术路线选择时要尽量避免采用单一化架构和技术,应从部署形式和部署位置等层面考虑技术多元性。
四是域名体系管理“顶层设计”。根据互联网已披露信息,事发期间Facebook除了面向互联网公开的业务受到影响,其面向内部的业务(会议系统、认证系统等)貌似也受到影响,从而可以推断其DNS系统不但承载外部业务域名,还承载了大量面向内网的域名解析,进而加剧了故障修复时间。这提醒我们域名体系的管理必须要从顶层设计开始,基于业务面向的对象、重要性、所属安全隔离域等因素规范域名空间及资源的划分和使用。
五是域名体系风险控制。本次Facebook出现如此严重的故障,在运维管理层面也有值得反思之处。如域名的TTL值大小在应用层面决定着能切换和调度的速度,应用侧一定希望越短越好,而从DNS系统运维层面看则是时间越短,递归DNS的缓存时间也会越短,一旦权威DNS出现问题,域名整体服务的容错能力会大幅降低。另外,互联网域名服务体系解析逻辑严谨,想要完成从客户端到服务端的业务访问和交互,需经过由终端到递归DNS、递归DNS从根、顶级域到二级域,再到权威DNS的多层查询。想要完成整个业务接入访问,任何一个环节出现问题都会导致业务不可用。应重视自身权威系统的管理外还应加强域名体系各层级的状态监测和感知。
(免责声明:本网站内容主要来自原创、合作伙伴供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,应及时向本网站提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明。本网站在收到上述法律文件后,将会依法尽快联系相关文章源头核实,沟通删除相关内容或断开相关链接。 )