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