Facebook宕機(jī)近7小時(shí)的災(zāi)難性事故,有辦法避免嗎?

當(dāng)?shù)貢r(shí)間10月4日,F(xiàn)acebook 及其旗下 Instagram 和 WhatsApp 等應(yīng)用全網(wǎng)宕機(jī),停機(jī)時(shí)間近 7 小時(shí),瀏覽器在嘗試打開(kāi)時(shí)顯示 DNS 錯(cuò)誤。Facebook官方發(fā)布聲明稱(chēng),因更新BGP路由器導(dǎo)致DNS權(quán)威服務(wù)器離線進(jìn)而造成長(zhǎng)達(dá)7個(gè)小時(shí)之久的中斷事故。

北京郵電大學(xué)計(jì)算機(jī)學(xué)院(國(guó)家示范性軟件學(xué)院)信息網(wǎng)絡(luò)中心路由安全研究團(tuán)隊(duì)聯(lián)合互聯(lián)網(wǎng)域名系統(tǒng)國(guó)家工程研究中心(ZDNS)專(zhuān)家通過(guò)對(duì)事件當(dāng)天的路由報(bào)文進(jìn)行回溯分析,簡(jiǎn)單還原整個(gè)事件發(fā)生的過(guò)程,并從互聯(lián)網(wǎng)基礎(chǔ)設(shè)施分布的均衡性和冗余性方面對(duì)路由維護(hù)、監(jiān)測(cè)與防御、域名系統(tǒng)冗余設(shè)計(jì)等方面提出一些建議。本次技術(shù)分析部分成果來(lái)源于國(guó)家重點(diǎn)研發(fā)計(jì)劃“大規(guī)模安全可信的編址路由關(guān)鍵技術(shù)和應(yīng)用示范”項(xiàng)目課題“網(wǎng)間互聯(lián)可信路由關(guān)鍵技術(shù)與設(shè)備研發(fā)”,該課題主要研究網(wǎng)間互聯(lián)可信路由關(guān)鍵技術(shù),支持域間路由行為安全協(xié)作和攻擊防范。

BGP和DNS偶發(fā)性事故聯(lián)動(dòng)是主因

分析發(fā)現(xiàn),F(xiàn)acebook重要服務(wù)的域名解析失效了,導(dǎo)致大量的Facebook應(yīng)用服務(wù)訪問(wèn)不可達(dá),另外一個(gè)嚴(yán)重的問(wèn)題是Facebook AS32934相互依賴(lài)的服務(wù)中間件和審核軟件開(kāi)始失效,從而導(dǎo)致整個(gè)數(shù)據(jù)中心的網(wǎng)絡(luò)崩潰,最后不得己以物理的暴力方式進(jìn)入機(jī)房恢復(fù)設(shè)備。研究認(rèn)為,此次事件的主角是BGP和DNS偶發(fā)性事故聯(lián)動(dòng)造成的重大事件。

專(zhuān)家進(jìn)一步解釋說(shuō),BGP和DNS作為網(wǎng)絡(luò)空間的基礎(chǔ)設(shè)施,是網(wǎng)絡(luò)空間的命門(mén)所在,猶如人體的動(dòng)靜脈,聯(lián)動(dòng)性的故障必然造成規(guī)模性失血,持續(xù)時(shí)間長(zhǎng)且極具破壞性的中斷通??梢詺w咎于控制平面的某些問(wèn)題。

分析還發(fā)現(xiàn),從互聯(lián)網(wǎng)碼號(hào)資源分配看,F(xiàn)acebook主要有三個(gè)自治域,從地址前綴分布可以看出,AS32934是Facebook的主力AS,我們通過(guò)分析FDNS日志,發(fā)現(xiàn)該自治域集中了Facebook大部分的應(yīng)用服務(wù),令人費(fèi)解的是,F(xiàn)acebook所有的DNS權(quán)威服務(wù)器全部位于AS32934中。“這相當(dāng)于把所有雞蛋都放進(jìn)了一個(gè)籃子中,一旦出現(xiàn)問(wèn)題,后果非常嚴(yán)重。”專(zhuān)家說(shuō)。

為了做進(jìn)一步的深入分析,研究團(tuán)隊(duì)基于Alexa網(wǎng)站排名從全球6個(gè)測(cè)量點(diǎn)對(duì)全球Top1000網(wǎng)站的權(quán)威服務(wù)器分布進(jìn)行了測(cè)量。

“我們挑選了Top30網(wǎng)站,從權(quán)威DNS地址分布、前綴聚合分布、AS聚合分布進(jìn)行數(shù)據(jù)分析,發(fā)現(xiàn)國(guó)外很多重要應(yīng)用服務(wù)網(wǎng)站大都存在類(lèi)似Facebook的問(wèn)題,這里amazon.com例外,它的權(quán)威分布冗余度較高,這可能與2018年亞馬遜權(quán)威DNS遭遇BGP劫持教訓(xùn)有關(guān)。”專(zhuān)家表示,國(guó)內(nèi)的主流網(wǎng)站防護(hù)比較好,基本都有冗余備份。

隨后,聯(lián)合研究團(tuán)隊(duì)又把數(shù)據(jù)擴(kuò)展到Top100網(wǎng)站,Top1000網(wǎng)站,整體冗余情況也很不樂(lè)觀,Top100網(wǎng)站中有超過(guò)50%的網(wǎng)站DNS權(quán)威冗余度較低,Top1000網(wǎng)站中有接近70%的網(wǎng)站權(quán)威服務(wù)器集中在單一自治域中。

多措共舉,防范于未然

通過(guò)事件的回溯分析,專(zhuān)家認(rèn)為,BGP和DNS的一系列巧合操作造成了此次事件的嚴(yán)重后果,因此可以看到BGP和DNS誤操作的“網(wǎng)絡(luò)核彈”威力。為此,聯(lián)合研究團(tuán)隊(duì)在路由維護(hù)、事件監(jiān)測(cè)防御以及DNS冗余度方面,提出以下建議:

一是路由維護(hù)。BGP路由作為網(wǎng)間互聯(lián)互通的基本協(xié)議,簡(jiǎn)單而不簡(jiǎn)約。任何自動(dòng)化的操作,如果沒(méi)有全局的知識(shí)庫(kù)作為路由過(guò)濾的支撐,比較容易發(fā)生錯(cuò)誤的配置,需要對(duì)危害性的命令有“特別嚴(yán)格”地警示和確認(rèn)。 二是路由監(jiān)測(cè)與防御。目前著名的路由監(jiān)測(cè)平臺(tái)如BGPStream、ThousandEyes、Downdectcor都可以檢測(cè)出事件的發(fā)生,然而大部分系統(tǒng)關(guān)注的是事件的漏報(bào)率和誤報(bào)率,忽視了事件所涉及前綴的敏感度以及前綴的歸屬責(zé)任人。建議建立敏感前綴管理人的臺(tái)賬機(jī)制,能在事件發(fā)生的第一時(shí)間通知管理人,這是路由安全防御的有效防范手段。 三是域名系統(tǒng)冗余設(shè)計(jì)。DNS系統(tǒng)的本質(zhì)是一個(gè)分布式的數(shù)據(jù)庫(kù),這種結(jié)構(gòu)允許對(duì)整體數(shù)據(jù)庫(kù)的各個(gè)部分進(jìn)行本地控制且互相關(guān)聯(lián)。如亞馬遜amazon.com的權(quán)威域授權(quán)體系在多元化層面要優(yōu)于facebook.com,所以其抗風(fēng)險(xiǎn)能力要強(qiáng)于Facebook。另外,DNS系統(tǒng)在架構(gòu)設(shè)計(jì)和技術(shù)路線選擇時(shí)要盡量避免采用單一化架構(gòu)和技術(shù),應(yīng)從部署形式和部署位置等層面考慮技術(shù)多元性。

四是域名體系管理“頂層設(shè)計(jì)”。根據(jù)互聯(lián)網(wǎng)已披露信息,事發(fā)期間Facebook除了面向互聯(lián)網(wǎng)公開(kāi)的業(yè)務(wù)受到影響,其面向內(nèi)部的業(yè)務(wù)(會(huì)議系統(tǒng)、認(rèn)證系統(tǒng)等)貌似也受到影響,從而可以推斷其DNS系統(tǒng)不但承載外部業(yè)務(wù)域名,還承載了大量面向內(nèi)網(wǎng)的域名解析,進(jìn)而加劇了故障修復(fù)時(shí)間。這提醒我們域名體系的管理必須要從頂層設(shè)計(jì)開(kāi)始,基于業(yè)務(wù)面向的對(duì)象、重要性、所屬安全隔離域等因素規(guī)范域名空間及資源的劃分和使用。

五是域名體系風(fēng)險(xiǎn)控制。本次Facebook出現(xiàn)如此嚴(yán)重的故障,在運(yùn)維管理層面也有值得反思之處。如域名的TTL值大小在應(yīng)用層面決定著能切換和調(diào)度的速度,應(yīng)用側(cè)一定希望越短越好,而從DNS系統(tǒng)運(yùn)維層面看則是時(shí)間越短,遞歸DNS的緩存時(shí)間也會(huì)越短,一旦權(quán)威DNS出現(xiàn)問(wèn)題,域名整體服務(wù)的容錯(cuò)能力會(huì)大幅降低。另外,互聯(lián)網(wǎng)域名服務(wù)體系解析邏輯嚴(yán)謹(jǐn),想要完成從客戶(hù)端到服務(wù)端的業(yè)務(wù)訪問(wèn)和交互,需經(jīng)過(guò)由終端到遞歸DNS、遞歸DNS從根、頂級(jí)域到二級(jí)域,再到權(quán)威DNS的多層查詢(xún)。想要完成整個(gè)業(yè)務(wù)接入訪問(wèn),任何一個(gè)環(huán)節(jié)出現(xiàn)問(wèn)題都會(huì)導(dǎo)致業(yè)務(wù)不可用。應(yīng)重視自身權(quán)威系統(tǒng)的管理外還應(yīng)加強(qiáng)域名體系各層級(jí)的狀態(tài)監(jiān)測(cè)和感知。

(免責(zé)聲明:本網(wǎng)站內(nèi)容主要來(lái)自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。
任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁(yè)或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書(shū)面權(quán)利通知或不實(shí)情況說(shuō)明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開(kāi)相關(guān)鏈接。 )