董昊 胡曦明 馬苗
摘要:基于H3C Cloud Lab平臺對BGP/MPLS VPN安全性進行了深入分析,指出其在數據傳輸過程中存在信息泄露的安全隱患。在此基礎上,提出并實現了基于IPSec的安全BGP/MPLS VPN設計方案。經過仿真實驗表明,該方案在保證BGP/MPLS VPN傳輸可靠性的同時,通過引入數據加密機制有效地增強了虛擬專用網數據傳輸的安全性,擴展了BGP/MPLS VPN技術的適用范圍。
關鍵詞:邊界網關協議;多協議標簽交換;虛擬專用網;IP安全協議;加密
中圖分類號:TP393文獻標志碼:A文章編號:1008-1739(2018)12-58-4
Analysis on BGP MPLS VPN Security and Simulation Experiment
DONG Hao1, HU Ximing1,2, MA Miao1,2
(1. School of Computer Science, Shaanxi Normal University, Xian Shaanxi 710119, China; 2. Key Laboratory of Modern Teaching Technology, Ministry of Education, Xian Shaanxi 710119, China)
0引言
虛擬專用網(Virtual Private Network,VPN)是一種用于連接企業或團體之間專用網絡的通信網絡技術。多協議標簽交換(Multi-Protocol Label Switching,MPLS)是一種用于快速數據包交換和路由的體系,它為網絡數據流量提供了目標、路由地址、轉發和交換等能力。將VPN與MPLS技術相結合,便形成了一種主流VPN,即MPLS VPN[1],它基于運營商的骨干網絡,構建企業或團體的虛擬專用網絡,實現跨地域、可靠、高速的信息傳輸,具有高效率、易擴展和易維護的特點。因此,MPLS VPN現在廣泛應用于社會的各個領域,例如教育行業[2]、醫療機構[3]及企業[4]等。
隨著網絡技術的發展,網絡安全問題日益嚴重,網絡信息安全逐漸得到了人們的關注。MPLS VPN作為一種主流的虛擬專用組網方案,其私網傳輸的數據得到安全保障是至關重要的[5]。為此,討論了基于MPLS VPN組網方案的數據傳輸的安全性問題,并提出了相應的改進措施[6]。
1 BGP/MPLS VPN安全性
1.1 BGP/MPLS VPN
BGP/MPLS VPN是一種常見的MPLS VPN組網方式,這種組網方式是以MPLS VPN模型為基礎,依靠BGP為信令協議在骨干網上傳輸私網路由信息,利用MPLS通道傳輸私網流量[7]。MPLS模型中包括用戶網絡邊緣設備(CE)、運營商邊緣路由器(PE)及運營商骨干路由器(P)3部分,其中CE和PE被認為是運營商和用戶的管理范圍邊界。在數據傳輸過程中,MPLS通道是通過識別標記將數據傳送到目的地址。每個數據包的標記類似于郵編,MPLS的轉發路由也是通過標記來區分特定的VPN[8]。這種網絡模型既實現了高效轉發,又具有易擴展的性能。
1.2安全性探究實驗
為了探究BGP/MPLS VPN中數據傳輸的安全性問題,利用軟件平臺搭建網絡環境,實現該方案下的數據傳輸過程[9]。H3C Cloud Lab是一款基于虛擬機的網絡設備模擬軟件,它以虛擬機為支撐,實現模擬現實的組網方案,常用于企業初期的組網方案設計和網絡實驗展示。
全局使能MPLS與MPLS LDP,定義VPN實例,最后配置路由交換協議,網絡拓撲如圖1所示。其中,P和PE分別表示運營商骨干路由器和邊緣路由器,在CE1與CE2之間配置VPN實例,使其之間的通信通過私網流量,PE與CE之間配置與VPN綁定的OSPF多實例,PE與PE之間配置與VPN綁定的BGP多實例,最終將PE中配置的OSPF與BGP相互引入。
當CE中OSPF狀態機變為FULL,其與鄰居會達到完全臨接狀態,即可在CE路由表中找到通過BGP協議學到的對端路由信息,CE1路由器的路由表信息如圖2所示。
在CE各自成功學到對端的路由后,使用ping命令驗證網絡連通性,測試結果如圖3所示。
結果表明,CE1與CE2之間成功建立VPN,5次ping無丟包現象,連通良好。
為了探究BGP/MPLS VPN下的網絡安全性,可在運營商邊緣路由器(PE)處抓包同時,模擬VPN中(CE之間)通信過程,查看抓到的報文并分析其安全性。在PE1處GE0/1接口處抓包,CE1 ping CE2來模擬VPN間的通信過程,抓取報文如圖4所示。
1.3存在的安全性問題
通過實驗分析抓取的報文,5次ping抓到了10條ICMP報文,沒有丟包現象,且可以詳細地看到每一條ICMP報文的請求/回顯序列號等信息。通過多次試驗表明,BGP/MPLS VPN具有較高的數據傳輸可靠性,可以滿足日常的VPN應用需求。
但是就安全性而言,BGP/MPLS VPN并沒有對信息進行加密,它的數據是通過明文傳輸的。這種明文的傳輸方式很容易被攻擊、利用,進而導致賬戶密碼等關鍵信息在通過BGP/MPLS VPN傳輸中造成泄露。顯然,BGP/MPLS VPN在具有高效傳輸的同時,也存在著由于不對數據進行加密而容易造成數據傳輸安全漏洞,由此使得BGP/MPLS VPN在金融、安保和政務等保密性較高的應用領域中的應用受到極大限制。
2基于IPSec的安全BGP/MPLS VPN
為了增強MPLS VPN的安全性,將MPLS VPN技術與一些安全協議相結合,能夠達到VPN數據傳輸的加密目的[10]。IPSec(Internet Protocol Security)是一種開放標準的框架結構,通過使用加密的安全服務以確保在IP網絡上進行保密而安全的通信。IPSec主要用于VPN相關領域,提供端到端或站到站的信息保護,主要使用AH和ESP兩種安全協議。IPSec VPN也是目前一種主流的VPN,它提供了一套完整的網絡體系,通過對信息加密、提供驗證服務以保障數據的安全[11]。
因此,為了增強BGP/MPLS VPN的安全性,將MPLS技術與IPSec相結合,提出一種基于IPSec的安全BGP/MPLS VPN設計方案。組建IPSec over MPLS VPN網絡環境,分析驗證在該混合組網方案下數據傳輸在安全性方面的表現情況。
2.1方案設計
將IPSec與MPLS技術相結合,即IPSec over MPLS,可以使得私網流量加密后再進行傳輸。以BGP/MPLS VPN為基礎,在CE間配置IPSec隧道[12],分析數據在該混合組網方案下的加密情況,拓撲圖如圖5所示。
2.2方案的實現
針對上述方案,分別采用手工方式和IKE協商方式實現IPSec安全策略,進而搭建基于IPSec的安全BGP/MPLS VPN。
2.2.1手工方式配置IPsec安全策略
部分配置命令如表1所示(以CE1設備為例,CE2與CE1同理)。
手工方式指定了路由器的入口SPI和出口SPI與入口密鑰和出口密鑰,其可以不依賴IKE而單獨實現IPsec功能,且這種方式建立的SA永不老化。配置成功后,查看CE路由器IPSec SA,如圖6所示。
手工配置的SPI(inbound與outbound SPI)分別為54321和12345。查看CE1路由表,如圖7所示。
這里沒有顯示對端的路由信息,為了驗證VPN連通性,CE1 ping CE2測試連接狀態,如圖8所示。
可以通信,說明CE1并不用通過PE1尋找路由,即PE1并未感知CE1與CE2間IPSec通道的真實存在,提高了網絡安全性。查看在PE1處GE0/1接口抓到的報文,如圖9所示。
捕獲到了10條ESP報文,這些報文即為5次ping的通信過程,但無法查看通信過程中的序列號、TTL等信息,說明IPSec隧道對私網信息進行了加密處理。
2.2.2 IKE協商方式的IPsec安全策略
部分配置命令如表2所示(以CE1設備為例,CE2與CE1同理)。
使用IKE協商方式配置時,SPI將隨機生成且建立的SA具有生存期,其只需要配置好IKE協商安全策略的信息,由IKE自動協商來創建和維護SA,是大型動態網絡環境中慣用的配置方式。
安全策略配置成功后,查看CE1路由表,如圖10所示。
該路由表與手工配置時的路由表類似,也沒有對端的路由信息。這里仍然利用CE1 ping CE2測試連接狀態,如圖11所示。
可以通信,IKE協商方式與手工方式相似,CE1不需要獲取PE1的路由信息便可與CE2成功通信。
圖11中的第一次ping回顯Request time out即為IKE協商。抓取報文可以看到IKE的協商過程與ping的請求/回顯,如圖12所示。
其中,報文段中的第一部分表示IKE的主模式,完成協商策略、Diffie-Hellman交換與驗證交換;第二部分表示快速模式,它在主模式基礎上完成IPSec SA協商;第三部分即為ping報文加密后的ESP數據包。
3安全性分析
通過上述3個實驗可以發現,在BGP/MPLS VPN方案中,CE發出的數據報文沒有經過加密,是以明文方式直接傳輸,且在CE1中可以找到對端網段的路由信息;而在BGP/MPLS VPN基礎上成功建立IPSec隧道后的安全VPN下,不僅在CE中找不到對端的路由信息,而且在抓到的數據包里找不到明文傳送的信息。CE傳輸私網信息時會通過IPSec加密后再進行傳輸,其傳輸路由也不再通過BGP協議獲取,同時網絡運營商也不會感知私網之間的隧道存在,因此后者比前者在安全性上更勝一籌。
4結束語
本文利用HCL平臺搭建了MPLS VPN,模擬私網間的數據傳輸,抓包分析發現BGP/MPLS VPN下的數據傳輸采用明文方式,容易造成數據傳輸過程中的信息泄露,給用戶帶來安全隱患,也限制了BGP/MPLS VPN的應用場合。為了增強其安全性,提出了基于IPSec的安全BGP/MPLS VPN設計方案并進行了實現。MPLS與IPSec相結合后,通過實驗的對比可以發現,IPSec隧道在信息傳輸過程中對信息進行了加密處理,真正為私網信息提供了安全保障,實現在保證BGP/MPLS VPN傳輸可靠性的同時增強了網絡安全性,且擴展了BGP/MPLS VPN技術的適用范圍。該方案可應用于對保密性要求較高的企業組網方案,在現有虛擬專用網基礎上建立IPSec隧道,極大地提高了VPN數據的安全性,配置簡易靈活,而且易擴展、易管理、易維護,更加安全高效地保護站點到站點之間的私網數據傳輸。
參考文獻
[1]何璐茜.MPLS VPN技術研究及應用[J].現代電子技術, 2011,34(15):127-130.
[2]王廣澤,汪鵬,羅智勇,等.一種MPLS VPN的分散校區圖書館教育網組建模型[J].哈爾濱理工大學學報,2017,22(3): 31-35.
[3]何東,鄭建剛,馮涌,等.基于MPLS/VPN技術的集團化醫院廣域網平臺的設計與實現[J].電腦知識與技術,2012,8(29): 7136-7138.
[4]李大習.基于SDN的MPLS企業VPN技術實現[J].電子技術,2017,46(12):42-44.
[5]周健.云計算背景下的信息安全問題研究[J].現代電子技術, 2017,40(11):84-87.
[6]李忠武,陳麗清.計算機網絡路由器的應用研究[J].現代電子技術,2014,37(8):113-115.
[7]韓海雯,張瀟元.基于BGP協議的MPLSVPN構建機制分析[J].計算機工程與設計,2008(5):1104-1107.
[8]王文娟,李緒凱,張天輝,等.MPLS/BGP-VPN技術應用[J].計算機與網絡,2015,41(1):60-63.
[9]杭州華三通信技術有限公司.H3C路由器典型配置指導[M].北京:清華大學出版社,2013.
[10]王建明. IPSec協議在VPN中的應用探討[J].網絡安全技術與應用,2015(5):67.
[11]蹇成剛.IP分組網絡安全分析及IPSec技術[J].計算機與網絡,2010,36(17):42-44.
[12]廖悅欣.IPSec協議實現技術研究[D].廣州:華南理工大學, 2013.