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

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

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

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

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

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

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

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

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

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

多措共舉,防范于未然

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

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

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

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

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