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