BGP安全?公共密鑰基礎(chǔ)架構(gòu)或可解決
邊界網(wǎng)關(guān)協(xié)議(Border Gateway Protocol)確實(shí)起到了不少作用。但是,企業(yè)仍舊應(yīng)該實(shí)施一些措施以保證IT路由的安全性。
全球互聯(lián)網(wǎng)路由表主要是基于信任但需驗(yàn)證的模型而建立的,這不同于早期的互聯(lián)網(wǎng),因?yàn)槟抢锩恳晃恢鞲删W(wǎng)的工程師本身都是互相認(rèn)識(shí)的。與許多其他的早期應(yīng)用程序類(lèi)似,安全并不是邊界網(wǎng)關(guān)協(xié)議(BGP)發(fā)展的主要因素。
互聯(lián)網(wǎng)在過(guò)去只是一種主要用于學(xué)術(shù)研究的通信媒介,它的應(yīng)用程序和協(xié)議都依賴(lài)于可信的個(gè)人連接,但是它現(xiàn)在已經(jīng)轉(zhuǎn)換為一種依賴(lài)于加密機(jī)制的技術(shù),通過(guò)加密來(lái)保證數(shù)據(jù)保密性、完整性和身份驗(yàn)證。Telnet大多數(shù)時(shí)候提供了安全Shell連接方法,而開(kāi)放郵件(Open Mail)延遲問(wèn)題也大多已經(jīng)解決。BGP安全性基本上也有相同的需求,現(xiàn)在有一些標(biāo)準(zhǔn)可以進(jìn)一步加強(qiáng)信任但需驗(yàn)證策略的“驗(yàn)證”部分。
沒(méi)有針對(duì)全球IP路由的集中授權(quán)方法
目前還既沒(méi)有針對(duì)全球IP路由信息的集中授權(quán)方法,既沒(méi)有面向互聯(lián)網(wǎng)分層路由結(jié)構(gòu)的方法。全球路由表是由互連運(yùn)營(yíng)商建立的,他們會(huì)向連接方告知自己將通過(guò)哪些路由來(lái)接收流量。為了實(shí)現(xiàn)這個(gè)效果,BGP會(huì)在路由器之間建立會(huì)話,用于交換關(guān)于可訪問(wèn)性信息前綴。即使是非ISP的中小型公司也可以應(yīng)用BGP,它可以幫助他們同時(shí)連接多個(gè)ISP,同時(shí)在供應(yīng)商之間實(shí)現(xiàn)輕松切換。在任意時(shí)刻,任何BGP通信端都可以對(duì)外發(fā)布任意的IP前綴。
與此相反的是公共交換電話網(wǎng)絡(luò),它們的路由信息是靜態(tài)的,并且通過(guò)紙質(zhì)方式或電子方式分發(fā)(如微軟Access數(shù)據(jù)庫(kù))。只要有過(guò)更換電話號(hào)碼的經(jīng)歷,任何人都能理解BGP的好處。正是這種靈活性加快了互聯(lián)網(wǎng)的爆炸性增長(zhǎng)。這是一個(gè)支撐互聯(lián)網(wǎng)日常運(yùn)行的基礎(chǔ)元素,但是最終用戶感覺(jué)不到它的存在。這種不可見(jiàn)性在一定程度上解釋了為什么BGP拋棄了其他互聯(lián)網(wǎng)協(xié)議和應(yīng)用程序上的許多安全性改進(jìn)措施。
BGP或IP尋址協(xié)議并沒(méi)有內(nèi)置措施可以防止網(wǎng)絡(luò)發(fā)布錯(cuò)誤前綴信息。同樣,這實(shí)際上是一個(gè)基于信任的系統(tǒng),ISP需要自行驗(yàn)證他們的下游用戶發(fā)布了正確的網(wǎng)絡(luò)信息。
它必須部署一些過(guò)濾器,防止用戶發(fā)布一個(gè)不屬于它的網(wǎng)絡(luò)。但是,這個(gè)過(guò)程很容易發(fā)生錯(cuò)誤,因?yàn)樗诟虏患皶r(shí)的信息源,如Whois數(shù)據(jù)庫(kù)或一組路由注冊(cè)表——它們都不可靠。即使在***環(huán)境中,仍然有可能出現(xiàn)錯(cuò)誤。#p#
公共密鑰基礎(chǔ)架構(gòu)可能是解決問(wèn)題的方法
前綴劫持(Prefix Hijacking)的概念是指網(wǎng)絡(luò)運(yùn)營(yíng)商發(fā)布或宣布一個(gè)未分配給它的路由器。在2008年,巴西有一個(gè)ISP不小心把差不多整個(gè)路由表泄露給同級(jí)運(yùn)營(yíng)商了。幸好,這個(gè)意外很快被發(fā)現(xiàn),因此千萬(wàn)的破壞并不嚴(yán)重。在今年初,巴基斯坦電信公司觸發(fā)一場(chǎng)全球性斷網(wǎng)事件,原因是它在試圖阻擋YouTube時(shí)設(shè)置了一個(gè)錯(cuò)誤配置。這是不是一個(gè)錯(cuò)誤配置導(dǎo)致泄露或內(nèi)部拒絕服務(wù)的案例?很難說(shuō)。而最近還發(fā)生了一些造成金錢(qián)損失的劫持事件:盜取比特幣。
有一個(gè)解決可以解決許多此類(lèi)問(wèn)題:資源公共密鑰基礎(chǔ)架構(gòu)(RPKI)。RPKI是一個(gè)專(zhuān)用的PKI框架,它使用X.509證書(shū)擴(kuò)展來(lái)傳輸IP路由來(lái)源信息。一些需要發(fā)布前綴的組織創(chuàng)建了一個(gè)路由源簽證(Route Origin Attestation, ROA),其中包括前綴、掩碼長(zhǎng)度范圍和來(lái)源獨(dú)立系統(tǒng)號(hào)。這些ROA會(huì)被發(fā)布到全世界,特定的組織可以用一個(gè)可驗(yàn)證的授權(quán)方式發(fā)布指定的IP前綴。根據(jù)RPKI Dashboard網(wǎng)站的數(shù)據(jù),目前只有不到5%的全球路由表使用ROA保護(hù),其中南美洲和加勒比海地區(qū)數(shù)量最多。南美洲和加勒比海地區(qū)有接近20%的網(wǎng)絡(luò)信息中心路由處于RPKI有效狀態(tài),大約占全球路表的2.5%。
這一平臺(tái)的兩種實(shí)現(xiàn)方法
實(shí)現(xiàn)RPKI的方法有兩個(gè):托管方法和代理方法。在托管模型中,地區(qū)互聯(lián)網(wǎng)注冊(cè)機(jī)構(gòu)(Regional Internet Registry, RIR)負(fù)責(zé)執(zhí)行證書(shū)授權(quán)(CA)和托管愿意參與的組織的私有證書(shū)。對(duì)于沒(méi)有很多資源或不太會(huì)修改ROA明細(xì)的較小型組織而言,這是一個(gè)很便捷的入門(mén)方法。這個(gè)過(guò)程的交互則在RIR提供的一個(gè)門(mén)戶網(wǎng)站上進(jìn)行。
代理RPKI則更加靈活一些,它允許組織使用一個(gè)編程接口來(lái)訪問(wèn)RIR基礎(chǔ)架構(gòu)。這要求該組織成為一個(gè)負(fù)責(zé)相關(guān)管理工作負(fù)載的CA。這種方法更適合那些有大量資源的服務(wù)提供商,他們會(huì)將這些資源分配給下游客戶或組織,而這些用戶會(huì)執(zhí)行非常多的修改,因此通過(guò)一個(gè)門(mén)戶網(wǎng)站來(lái)完成手工配置會(huì)非常繁瑣。
在托管模式中,RIR實(shí)現(xiàn)這個(gè)新標(biāo)準(zhǔn)的難度較小一些,因此即使是最小型網(wǎng)絡(luò)運(yùn)營(yíng),使用BGP來(lái)參與通信也是很輕松的。對(duì)于不需要使用BGP的組織而言,他們?nèi)匀挥斜匾斫膺@種技術(shù)對(duì)于安全性的作用。如果不使用BGP去連接互聯(lián)網(wǎng),那么你仍然要向上游提供商確定兩個(gè)問(wèn)題:分配給你組織的前綴是否受RPKI保護(hù)?如果沒(méi)有,什么時(shí)候才會(huì)有這種保護(hù)?
評(píng)估云提供商的保護(hù)措施
如果網(wǎng)站或應(yīng)用程序托管在一個(gè)云提供商環(huán)境中,那么你在評(píng)估和選擇過(guò)程中應(yīng)該確定這些應(yīng)用程序所在的網(wǎng)絡(luò)是否有RPKI保護(hù)。注意:前面提到的劫持事件就是針對(duì)托管在亞馬遜Web Services的比特幣擁有者。
一定要注意,RPKI可以解決BGP來(lái)源驗(yàn)證問(wèn)題,但是無(wú)法驗(yàn)證路徑。RPKI不能檢測(cè)所有的路由異常,它只檢測(cè)帶有來(lái)自非授權(quán)獨(dú)立系統(tǒng)前綴的路由。
全球路由表是互聯(lián)網(wǎng)的基礎(chǔ)元素。保證它的完整性是所有構(gòu)成網(wǎng)絡(luò)的責(zé)任。RPKI是保證這種共享資源完整性的一個(gè)重要步驟。我們沒(méi)有任何借口可以容忍因?yàn)殄e(cuò)誤配置或劫持造成的斷網(wǎng)事件。