IP MPLS VPN安全嗎?
1.介紹
隨著IP/MPLSVPN的興起,用戶和運營商都將目光轉(zhuǎn)向了這種極具競爭力和市場前景的VPN。對用戶而言,IP/MPLSVPN可以非常方面地替代租用線和傳統(tǒng)的ATM/幀中繼VPN來連接計算機或LAN,也可以提供租用線的備份、冗余和峰值負載分擔等,費用節(jié)省明顯。而就服務提供商而言,IP/MPLSVPN是其未來數(shù)年內(nèi)擴大業(yè)務范圍,保持競爭力和客戶忠誠度,降低成本,增加利潤的重要手段。
安全性保證是IP/MPLSVPN(以下統(tǒng)稱VPN)能否取代租用線和傳統(tǒng)的ATM/幀中繼VPN的一個關鍵因素(另外一個是QoS的保證)。盡管2000年2月Yankeegroup發(fā)表了研究報告,指出傳統(tǒng)的ATM/幀中繼VPN存在嚴重的安全隱患,但ATM/幀中繼VPN在安全性方面仍然享有很高的聲譽。與人們對ATM/幀中繼VPN安全性非常信任的情況相反,盡管IP/MPLSVPN技術聲稱提供了安全性保證,但由于人們普遍認為IP網(wǎng)本身是不安全的,因此對基于IP/MPLS的VPN的安全性仍然存在很大疑慮。
IP/MPLS的安全性究竟如何,比ATM/幀中繼VPN安全性要高還是不如?要回答這個問題并不容易,因為安全性是一個復雜的系統(tǒng)問題,任何一個網(wǎng)絡系統(tǒng)單靠VPN提供的安全通信是不可能保證安全的。本文不討論IP/MPLS與ATM/幀中繼VPN面臨的相同的安全問題,如實現(xiàn)上(比如后門)和實施時(配置錯誤)的安全問題,而是從不同的VPN隧道技術和不同的組網(wǎng)方式的角度來探討其安全性。
2.VPN安全性實施方式
根據(jù)用戶是否信任運營商以及用戶數(shù)據(jù)的安全敏感程度,用戶可以選擇由運營商提供安全性保障,也可以選擇由用戶自己實施安全性保障。IP/MPLSVPN同時支持這兩種實施方式。
2.1用戶不信任運營商
當用戶不相信運營商提供的任何形式的安全服務時(比如用戶的數(shù)據(jù)特別敏感),用戶應該使用防火墻以及具有安全隧道功能的用戶駐地設備(CPE)來實現(xiàn)IP/MPLSVPN。在這種情況下,用戶自己負責所傳遞數(shù)據(jù)的安全性,VPN數(shù)據(jù)的安全性取決于用戶防火墻以及所使用的隧道協(xié)議的安全性(后文對不同隧道協(xié)議的安全性分別進行了討論)等具體實施時的多方面因素。
與在傳統(tǒng)的ATM/幀中繼VPN的中運營商只提供傳遞ATM信元或幀中繼幀的傳輸通道相似,運營商這時只負責提供傳遞IP/MPLS包的傳輸通道,不負責安全保證,隧道數(shù)據(jù)的安全性由用戶自己負責。
2.2用戶信任運營商
傳統(tǒng)的基于幀中繼和ATM的VPN都假定運營商是值得信賴的,在IP/MPLSVPN的實施中,也可以這樣假設。
在這種情況下,防火墻功能的提供以及包傳輸?shù)陌踩员WC都是由運營商提提供的。如果是基于網(wǎng)絡的VPN,運營商負責運營商兩個邊緣設備(PE)之間的安全性,不包括用戶接入鏈路的安全性(這段鏈路一般是用戶專用的,通常認為是安全的);如果是基于用戶設備(CE)的VPN,則運營商負責保證CE設備到PE設備之間的安全性,包括了用戶接入鏈路的安全性,這是一種基于CE的管理型VPN。
在不同場合下運營商可以根據(jù)需要采用不同的安全等級。如果運營商認為PE到PE或CE到CE的路徑本來就是安全的,因為運營商擁有整個骨干網(wǎng)基礎設施(VPN數(shù)據(jù)傳遞只在一個運營商的IP骨干網(wǎng)中傳遞),或者把部分骨干網(wǎng)外包給另一個值得信賴的運營商(比如可能是SONET/SDH電路,波長或光纖),那么就不大需要太高的安全機制(如IPSec)來提供骨干網(wǎng)節(jié)點間的隧道安全服務。如果VPN數(shù)據(jù)的傳遞橫跨多個運營商的骨干網(wǎng),那么使用高級別的安全機制就很有必要。
3.IPSec的安全性
IPSec是專門設計為IP提供安全服務的一種協(xié)議(其實是一個協(xié)議族)。IPSec可有效保護IP數(shù)據(jù)報的安全,所采取的具體保護形式包括:數(shù)據(jù)源驗證;無連接數(shù)據(jù)的完整性驗證;數(shù)據(jù)內(nèi)容的機密性保護;抗重播保護等。
使用IPSec協(xié)議中的認證頭(AH)協(xié)議和封裝安全載荷(ESP)協(xié)議,可以對IP數(shù)據(jù)報或上層協(xié)議(如UDP和TCP)進行保護,這種保護由IPSec兩種不同的工作模式(分別對應隧道模式和傳輸模式)來提供。其中AH可以驗證數(shù)據(jù)的起源、保障數(shù)據(jù)的完整性以及防止相同數(shù)據(jù)包的不斷重播。ESP除具有AH的所有能力之外,還可選擇保障數(shù)據(jù)的機密性,以及為數(shù)據(jù)流提供有限的機密性保障。
AH和ESP協(xié)議根據(jù)安全聯(lián)盟(SA)規(guī)定的參數(shù)為IP數(shù)據(jù)包提供安全服務。SA可以手工建立,也可以自動建立。IKE就是IPSec規(guī)定的一種用來自動管理SA的協(xié)議。IKE的實現(xiàn)可支持協(xié)商VPN,也可支持IP地址事先并不知道的遠程接入。IKE必須支持協(xié)商方不是SA協(xié)商發(fā)生的端點的客戶協(xié)商模式,這樣可以隱藏端方身份。
雖然到目前為止,全球安全專家普遍認為IPSec是最安全的IP協(xié)議,但也并非全是贊美之詞,最主要的批評是它的復雜性,因為系統(tǒng)復雜性是系統(tǒng)安全的主要威脅之一。IPSec有兩個運行模式:傳輸模式和隧道模式,有兩個安全協(xié)議:AH和ESP。AH提供認證,ESP提供認證和/或加密。這導致了額外的復雜性:打算認證一個包的兩臺機器之間的通信總共有四種模式可供選擇:傳輸/AH,隧道/AH,空加密的傳輸/ESP以及空加密的隧道/ESP,而這些選擇之間的功能和性能差別都很小(因此沒有太大實際意義)。產(chǎn)生這種問題的原因是IPSec是多個國家的安全專家經(jīng)過多年的研究和討論后折衷的產(chǎn)物。因此有安全專家已經(jīng)提出安全協(xié)議的設計原則應是多家競爭,擇優(yōu)使用,正如AES(高級加密標準)那樣。
ATM/幀中繼VPN的“專用”性體現(xiàn)在虛電路連接的是一組閉合的用戶或社區(qū),安全性保證主要來自它的“閉合用戶群(CUG)”的特性,假設運營商不會(惡意)錯誤配置而導致數(shù)據(jù)傳遞錯誤,不會監(jiān)聽用戶的流量,不會不經(jīng)過授權就進入用戶網(wǎng)絡,不會被修改,不會被非授權方進行流量分析等,根本不提供認證和加密等安全服務(當然如果用戶需要傳遞特別敏感的數(shù)據(jù)(如金融信息)等,通常需要采用用戶自己實施的鏈路加密等方法)。而對于IPSecVPN,連接的也是一組閉合的用戶或社區(qū),但這時提供的安全服務還包括認證和加密等。因此可以這樣認為,IPSec比傳統(tǒng)的ATM/幀中繼VPN更強的安全服務,是到目前為止最為安全的VPN技術。
4.L2TP的安全性
二層隧道技術(L2TP)定義了利用包交換方式的公共網(wǎng)絡基礎設施(如IP網(wǎng)絡、ATM和幀中繼)封裝鏈路層PPP幀的方法。遠程撥號接入VPN(VPDN)通常使用L2TP在用戶和企業(yè)客戶網(wǎng)絡之間通過撥號方式創(chuàng)建一個虛擬的點到點連接。
在L2TP隧道建立的過程中,隧道終點之間可以選擇是否進行認證。這種認證的安全性與PPPCHAP相同,能夠在隧道建立的過程中有效防止重放和竊聽攻擊。該機制設計用于隧道的建立過程,因此并不適用于其它方面。對于一個惡意用戶而言,在已經(jīng)認證的隧道成功建立之后,竊聽隧道數(shù)據(jù)流或插入數(shù)據(jù)包是一件很容易的事情。
在使用中L2TP可能會遇到的安全性問題分析總結(jié)如下(這些都是相對于IPSec所提供的安全服務比較而言的):
1)L2TP只定義了對隧道的終端實體進行身份認證,而不是認證隧道中流過的每一個數(shù)據(jù)報文。這樣的隧道無法抵抗插入攻擊和地址欺騙攻擊。
2)L2TP由于沒有針對每個數(shù)據(jù)報文的完整性校驗,就有可能進行拒絕服務(DoS)攻擊:發(fā)送一些假冒的控制信息,導致L2TP隧道或底層PPP連接的關閉。
3)L2TP本身不提供任何加密手段,當數(shù)據(jù)需要保密時,需要其它技術的支持。
4)雖然PPP報文的數(shù)據(jù)可以加密,但PPP協(xié)議不支持密鑰的自動產(chǎn)生和自動刷新。這樣進行監(jiān)聽的攻擊者就可能最終攻破密鑰,從而得到所傳輸?shù)臄?shù)據(jù)。
當L2TP運行在IP上時是不安全的。但對于IPSec而言,特定隧道的所有L2TP控制和數(shù)據(jù)包都是相同的UDP/IP數(shù)據(jù)包,因此可以將L2TP與IPSec結(jié)合使用,使用IPSec安全保護后的L2TP能夠提供與IPSec相同程度的安全性。
5.MPLS的安全性
MPLS為每個IP包加上一個固定長度的標簽,并根據(jù)標簽值轉(zhuǎn)發(fā)數(shù)據(jù)包。MPLS實際上就是一種隧道技術,所以使用它來建立VPN隧道十分容易而高效。由于MPLS技術本身就非常新,因此這里對MPLSVPN的安全性從多個方面做了一個較為詳細的、同時適用于BGP方式和虛擬路由器方式的實現(xiàn)的分析和介紹。
從下面的分析可以得出這樣的結(jié)論:MPLSVPN采用路由隔離、地址隔離和信息隱藏等多種手段提供了抗攻擊和標記欺騙的手段,完全能夠提供與傳統(tǒng)的ATM或幀中繼VPN相類似的安全保證。
1)路由隔離
MPLSVPN實現(xiàn)了VPN之間的路由隔離。每個PE路由器為每個所連接的VPN都維護一個獨立的虛擬路由轉(zhuǎn)發(fā)實例(VFI),每個VFI駐留來自同一VPN的路由(靜態(tài)配置或在PE和CE之間運行路由協(xié)議)。因為每個VPN都產(chǎn)生一個獨立的VFI,因此不會受到該PE路由器上其它VPN的影響。
在穿越MPLS核心到其它PE路由器時,這種隔離是通過為多協(xié)議BGP(MP-BGP)增加唯一的VPN標志符(比如路由區(qū)分器)來實現(xiàn)的(這是在BGP方式下,虛擬路由的方式與此類似)。MP-BGP穿越核心網(wǎng)專門交換VPN路由,只把路由信息重新分發(fā)給其它PE路由器,并保存在其它PE的特定VPN的VFI中,而不會把這些BGP信息重新分發(fā)給核心網(wǎng)絡。因此穿越MPLS網(wǎng)絡的每個VPN的路由是相互隔離的。
2)隱藏MPLS核心結(jié)構(gòu)
出于安全考慮,運營商和終端用戶通常并不希望把它們的網(wǎng)絡拓撲暴露給外界,這可以使攻擊變得更加困難。如果知道了IP地址,一個潛在的攻擊者至少可以對該設備發(fā)起DoS攻擊。但由于使用了“路由隔離”,MPLS不會將不必要的信息泄露給外界,甚至是向客戶VPN。
在不提供因特網(wǎng)接入服務的“純粹”的MPLSVPN中,信息隱藏的程度可以與幀中繼或ATM網(wǎng)絡相媲美,因為它不會把任何編址信息泄露給第三方或因特網(wǎng)。因此當MPLS網(wǎng)絡沒有到因特網(wǎng)的互聯(lián)時,其安全性等價于幀中繼或ATM網(wǎng)絡。但如果客戶選擇通過MPLS核心網(wǎng)絡同時接入到因特網(wǎng),那么運營商至少會把一個IP地址(對等PE路由器的)暴露給下一個運營商或用戶,存在被攻擊的可能性。
3)抗攻擊性
因為進行了路由隔離,因此不可能從一個VPN攻擊另外一個VPN或核心網(wǎng)絡。但從理論上講有可能利用路由協(xié)議對PE路由器進行DoS攻擊,或者攻擊MPLS的信令信息。
要想攻擊PE路由器就必須知道它的IP地址,但由于上面介紹的原因,IP地址已經(jīng)被隱藏。另外,就算是攻擊者猜測到了PE的IP地址,也無法進行有效的攻擊,因為已經(jīng)進行了有效的MPLS“路由隔離”。對于MPLS信令系統(tǒng)的攻擊,如果在所有PE/CE對等體上對路由協(xié)議使用MD5認證,就能夠有效防止虛假路由的問題。另外,很容易跟蹤這種潛在的對PE的DoS攻擊的源地址。
4)標記欺騙
在MPLS網(wǎng)絡中,包的轉(zhuǎn)發(fā)不是基于IP目的地址,而是基于由PE路由器預先添加的標記。與IP欺騙攻擊時攻擊者替代包的IP源地址和目的地址相似,理論上有可能出現(xiàn)MPLS包的標記欺騙。
任何CE路由器和它的對等PE路由器之間的接口主要是IP接口(也就是說沒有標記)。CE路由器不知道MPLS核心的存在,所有的“標記”工作都應該是由PE完成的。因此出于安全考慮,PE路由器應該不接受來自CE路由器的任何標記包。當然,發(fā)送到MPLS網(wǎng)絡中的包仍然存在IP地址欺騙的可能性,但這可以通過地址隔離來實現(xiàn),使得屬于某個VPN的用戶只可能攻擊他自己的網(wǎng)絡,而無法攻擊別人的網(wǎng)絡。
6.總結(jié)
從上面的分析可以得到如下的IP/MPLSVPN的重要結(jié)論:
1)與傳統(tǒng)ATM/幀中繼VPN類似,安全性可以由用戶自己實施,也可以由運營商實施。
2)用于VPDN業(yè)務的L2TP只做連接建立時的身份認證,安全性存在隱患。
3)根據(jù)分析,MPLSVPN的安全性與ATM/幀中繼一樣。
4)IPSec是到目前為止最為安全的協(xié)議,其安全性甚至比享有很高的聲譽的ATM/幀中繼還要好。
5)IPSec與L2TP和MPLS不是互斥的,而是可以結(jié)合使用。在基于L2TP或MPLS組建VPN時,如果需要“絕對”的安全保,則可以與IPSec結(jié)合使用。
最后必須強調(diào)的是:安全問題是一個系統(tǒng)問題,不僅僅取決于VPN的這些隧道協(xié)議自身的安全性。
【編輯推薦】


















