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