杜家嚴 盧朝暉
摘要:VPN是隧道技術(shù)和加密技術(shù)相結(jié)合的產(chǎn)物,它能夠確保私有數(shù)據(jù)在共享網(wǎng)絡(luò)基礎(chǔ)設(shè)施上安全傳輸。介紹了IPSec和IPSec VPN的相關(guān)概念和基本原理,接著簡要介紹IPSec VPN在校園網(wǎng)上的應(yīng)用——配置Windows 2003網(wǎng)關(guān)實現(xiàn)局域網(wǎng)間的安全互連。關(guān)鍵詞:虛擬專用網(wǎng)絡(luò);VPN;IPSec;IPSec VPN;隧道技術(shù);Windows 2003
中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2012)01-0007-03
IPSec VPN and Its Application on Campus Network
DU Jia-yan1,LU Zhao-hui2
(1. Finance Department , Hainan Normal University, Haikou 571158, China;2. Network Center Hainan Normal University, Haikou 51158, China)
Abstract: VPN is a technology which integrates tunneling with encrypting , so it can ensure private data to be transmitted securely on the shared network infrastutctures.This paper introduces the correlative concepts and basic principles of IPSec and IPSec VPN,then briefly presents an application of IPSec VPN on campus network. The application is that secure connections among LANs are implemented by configuring windows 2003 gateways.
Key words: virtual private network;VPN;IPSec;IPSec VPN;tunneling;Windows 2003
VPN(Virtual Private Network)[1]中文譯為“虛擬專用網(wǎng)絡(luò)”,是指利用某種技術(shù)在共享網(wǎng)絡(luò)基礎(chǔ)設(shè)施上安全地傳輸私有數(shù)據(jù),從而形成不受地域限制,僅受統(tǒng)一策略管理和控制的專用網(wǎng)絡(luò)。VPN作為一種靈活的遠程接入解決方案,既解決了數(shù)據(jù)傳輸?shù)陌踩珕栴},又降低了跨廣域網(wǎng)的專網(wǎng)聯(lián)網(wǎng)成本,因而具有較好的應(yīng)用前景。本文主要討論基于IPSec[2]的VPN技術(shù)。
1 IP安全協(xié)議
TCP/IP協(xié)議在開發(fā)之初的設(shè)計重點是建立一個可靠的而不是安全的網(wǎng)絡(luò),所以IP包本身并不繼承任何安全特性。為此,IETF提出了一個開放、標準的安全體系結(jié)構(gòu)——IPSec,其目的是通過定義OSI模型第三層的數(shù)據(jù)包格式和相關(guān)基礎(chǔ)結(jié)構(gòu),為IP通信提供透明的端對端安全服務(wù)。
1.1 IPSec的安全體系
IPSec實際上是一套協(xié)議包,它主要包括如下幾個組件:
1)驗證頭協(xié)議(AH)提供數(shù)據(jù)源認證服務(wù)、數(shù)據(jù)完整性服務(wù)和反重放服務(wù),但不能保證數(shù)據(jù)包的機密性(未被別人看過)。具體做法如圖1所示。在IP包頭之后,并在要保護的數(shù)據(jù)之前,插入一個AH標識。其中,“驗證值”由雜湊算法(HMAC_MD5或HMAC_SHA)對整個數(shù)據(jù)包進行計算(也稱為簽名)而得。
2)封裝安全載荷協(xié)議(ESP)除了能提供AH所支持的服務(wù)外,還可用于保證數(shù)據(jù)包的機密性。ESP的工作流程與AH很相似,但在標識的放置上有所不同,如圖2所示。此外,ESP不對整個數(shù)據(jù)包進行簽名,但會采用以“加密算法塊鏈(CBC)”模式工作的加密算法(DES、3DES等)對受保護數(shù)據(jù)和部分ESP標識進行加密處理。
3)密鑰分配協(xié)議(IKE)主要用于對IPSec通訊雙方的密鑰交換進行自動管理,其具體實施可分為兩個階段:(階段一)主要使用一個Diffle-Hellman交換和預(yù)先設(shè)置好的驗證方法(預(yù)共享密鑰、數(shù)據(jù)簽名標準DSS和RSA公共密鑰算法等)來創(chuàng)建兩個通信實體之間的安全連接,即IKE安全聯(lián)盟(IKE SA);(階段二)在第一階段的基礎(chǔ)上,通信雙方協(xié)商安全協(xié)議(AH、ESP)、密鑰生存期等安全參數(shù)以及生成新的公共密鑰,建立“IPSec安全聯(lián)盟(簡稱SA)”。
4)IPSec安全聯(lián)盟是兩個IPSec通訊實體之間的一個邏輯連接,它能向其上的數(shù)據(jù)傳輸提供雙方達成一致的IPSec安全保障。首先SA是單向的。例如A、B兩臺主機進行安全通信,那么主機A就必須有兩個不同的SA,其中SA(Out)用來處理外發(fā)的數(shù)據(jù)包,SA(In)用來處理進入的數(shù)據(jù)包,而且主機A的SA(out)、SA(in)將分別和主機B的SA(in)、SA(out)共享相同的加密參數(shù)(比如密鑰等);其次SA是“與安全協(xié)議相關(guān)”的,也就是說每種協(xié)議都要構(gòu)建一個SA。任何IPSec實施方案都會構(gòu)建一個SA數(shù)據(jù)庫(SADB)來維護由三元組<安全索引參數(shù),目標地址,安全協(xié)議>唯一標識的SA記錄。
5)安全性策略是尚未成為標準的一個重要組件,它是系統(tǒng)管理員出于安全考慮,在IP流量中限制其流量的位置、加密方法以及是否允許訪問等。簡單地說,安全策略決定了一個包提供的安全服務(wù)。在具體實施中,策略將會保存到安全策略數(shù)據(jù)庫(SPD)中。
1.2 IPSec的基本工作原理
IPSec可以看作是包過濾防火墻的一種擴展。當接收到一個IP包時,包過濾防火墻使用其頭部在一個規(guī)則表中進行匹配,當找到一個相匹配的規(guī)則時,就按照該規(guī)則指定的方法對接收到的IP包進行處理——丟棄或轉(zhuǎn)發(fā)。與此流程相似,IPSec通過查詢SPD決定對接收到的IP包進行何種處理——丟棄、繞過IPSec直接轉(zhuǎn)發(fā)或IPSec處理。IPSec處理是指使用安全協(xié)議(AH、ESP)對IP包進行認證和加密,正是這種新添功能提供了比包過濾防火墻更進一步的安全性。
為了滿足不同的安全需求,IPSec提供了兩種工作模式:一種是適用于端到端安全保障的傳輸模式;另一種是適用于安全保護能力需由安全網(wǎng)關(guān)(主機或路由器)來提供的隧道模式。傳輸模式下,AH或ESP所保護的數(shù)據(jù)僅僅是上層協(xié)議(TCP、UDP或ICMP等),而源地址、目標地址及所有IP包頭的內(nèi)容都不加密。在隧道模式下,AH或ESP所保護的數(shù)據(jù)是整個IP包,而且IP包在傳輸過程中會出現(xiàn)兩個IP頭——其中內(nèi)部頭由源主機創(chuàng)建,外部頭是由安全網(wǎng)關(guān)添加。
2 IPSec VPN
2.1隧道技術(shù)
隧道技術(shù)是實現(xiàn)VPN的基礎(chǔ),其工作流程可描述如下:封裝——要傳輸?shù)呢撦d(數(shù)據(jù)幀或數(shù)據(jù)包)在進入互聯(lián)網(wǎng)之前,由隧道協(xié)議(PPTP、L2F或L2TF等)在這些負載前添加新的數(shù)據(jù)幀或數(shù)據(jù)包首部(Header);路由——新的首部負責(zé)提供路由信息,從而使封裝后的負載能夠通過互聯(lián)網(wǎng)傳遞;解包——當封裝負載到達互聯(lián)網(wǎng)的另一個端點時,再由相同的隧道協(xié)議將它們解包并轉(zhuǎn)發(fā)到最終的目的地。封裝負載在互聯(lián)網(wǎng)上傳輸時,所經(jīng)過的邏輯路徑就稱為隧道。如果隧道協(xié)議遵循IPSec標準對隧道中傳輸?shù)呢撦d進行加密,那么由隧道連接起來的網(wǎng)絡(luò)就稱為IPSec VPN。
2.2與IPSec有關(guān)的兩個隧道協(xié)議
1)L2TP/IPSec
L2TP(層2隧道協(xié)議)是把鏈路層PPP幀封裝在公共網(wǎng)絡(luò)設(shè)施(如IP、ATM、X .25或幀中繼)中進行傳輸?shù)乃淼绤f(xié)議。在IP網(wǎng)絡(luò)上,L2TP使用UDP來封裝、傳送L2TP控制消息和PPP幀,其包格式如圖3所示。
在安全方面:L2TP雖然繼承了PPP的用戶認證模式(PAP、CHAP),但是不能實現(xiàn)基于機器級身份的認證;其次,L2TP僅定義了控制包的加密傳輸方式,而沒有對傳輸中的數(shù)據(jù)進行加密。為了彌補這些不足,可以在L2TP封裝基礎(chǔ)上啟用ESP的傳輸工作模式再次對數(shù)據(jù)包進行封裝,以實現(xiàn)端對端的安全連接。這也就是所謂的L2TP/IPSec。L2TP/IPSec的IP包格式如圖4所示。
L2TP/IPSec有如下的特點:支持多種協(xié)議和動態(tài)尋址;解決了多個PPP鏈路的捆綁問題;可以應(yīng)用于撥號VPN和專線VPN。
2)IPSec隧道
IPSec隧道是啟用IPSec通道工作模式,把IP包封裝在IP網(wǎng)絡(luò)中進行傳輸?shù)乃淼绤f(xié)議。其數(shù)據(jù)包格式如圖5所示。
IPSec隧道協(xié)議有如下的特點:只能對IP數(shù)據(jù)進行保護;只支持網(wǎng)關(guān)到網(wǎng)關(guān)、主機到主機以及主機到網(wǎng)關(guān)的隧道環(huán)境,不支持撥號VPN。
2.3一個應(yīng)用實例
近年來,高校優(yōu)勢互補大合并或入住大學(xué)城建設(shè)新校區(qū),使得跨校區(qū)辦學(xué)成為高校普遍的運作方式[3]。在這種格局之下,如何解決財務(wù)數(shù)據(jù)等敏感信息跨校區(qū)安全共享和交流是學(xué)校信息化建設(shè)所亟待解決的問題之一。如圖所示,某高校由地理位置分散的主校區(qū)、農(nóng)學(xué)院、藝術(shù)學(xué)院、成教學(xué)院和職教學(xué)院五個校園網(wǎng)互聯(lián)組成。眾所周知,校園網(wǎng)是一個開放的網(wǎng)絡(luò)環(huán)境,如果不采取任何安全措施,就讓各校區(qū)財務(wù)處在該網(wǎng)絡(luò)平臺上直接進行數(shù)據(jù)互傳,那么就有可能出現(xiàn)財務(wù)數(shù)據(jù)被泄露或被篡改的問題。考慮本校的具體情況——各校區(qū)財務(wù)局域網(wǎng)都是通過Windows 2003(以下簡稱W2K)網(wǎng)關(guān)接入校園網(wǎng)、財務(wù)數(shù)據(jù)在傳輸時要求絕對的安全性但對實時性要求不高、投資新硬件和專線的經(jīng)費有困難等等,我們決定采用W2K所提供的IPSec VPN解決方案[4]來改造校園網(wǎng),即將主校區(qū)財務(wù)局域網(wǎng)跟其它校區(qū)的財務(wù)局域網(wǎng)通過安全隧道互聯(lián)起來,從而形成一個覆蓋整個校園的財務(wù)子網(wǎng)?;ヂ?lián)拓撲圖如圖6所示,其中虛線連接代表VPN連接。
下面以主校區(qū)財務(wù)處局域網(wǎng)CWnet1(網(wǎng)關(guān)為GW1)和職教學(xué)院財務(wù)處局域網(wǎng)CWnet2(網(wǎng)關(guān)為GW2)的IPSec VPN互聯(lián)為例,簡要介紹在W2K網(wǎng)關(guān)上進行IPSec隧道設(shè)置的步驟。
1)創(chuàng)建IPSec策略。如果W2K網(wǎng)關(guān)是一個域的成員,那么就需要在活動目錄(Active Directory)中創(chuàng)建組織單元(Organizational Unit)并把W2K網(wǎng)關(guān)設(shè)為該組織單元的成員,然后對組織單元的組策略對象(Group Policy Object)指定安全性策略。一般情況下,W2K網(wǎng)關(guān)不是域的成員,那么只需要創(chuàng)建一個本地安全性策略即可。注意:一臺計算機只能指定一個安全性策略。
2)對每條VPN連接,創(chuàng)建兩個篩選器列表:一個匹配流入的數(shù)據(jù)包,另一個匹配流出的數(shù)據(jù)包。在CWnet1的網(wǎng)關(guān)GW1中創(chuàng)建兩個篩選
列表:GW1_GW2_Out用于匹配從CWnet1流向CWnet2的數(shù)據(jù)包;GW1_GW2_In用于匹配從CWnet2流入CWnet1的數(shù)據(jù)包。在篩選器列表GW1_GW2_Out的創(chuàng)建過程中需要設(shè)置如下參數(shù):“篩選器列表的名字”設(shè)為“GW1_GW2_Out”;“源地址”設(shè)為一個特定的IP子網(wǎng)(IP地址為192.168.1.0、掩碼為255.255.255.0);“目標地址”設(shè)為一個特定的IP子網(wǎng)(IP地址為192.168.2.0、掩碼為255.255.255.0);“選擇協(xié)議類型”設(shè)為“任意”(IPSec隧道不支持基于具體協(xié)議或具體端口的過濾器);“激活“鏡像”。GW1_GW2_In的設(shè)置依此類推,唯一不同之處是源地址和目標地址互換。
同理,設(shè)置CWnet2的網(wǎng)關(guān)GW2。
3)對所創(chuàng)建的每個篩選器列表指定安全規(guī)則。給篩選列表GW1_GW2_Out指定安全規(guī)則需要設(shè)置如下參數(shù):“隧道終點由此IP地址指定”設(shè)為“210.40.2.8”;連接類型設(shè)為“所有網(wǎng)絡(luò)連接”;創(chuàng)建一個名為“GW1_GW2_Out篩選器操作”的篩選器操作,其中激活“協(xié)商安全”、清除“接受不安全的通訊,但總是用IPSec響應(yīng)”、“安全措施”設(shè)為“高(ESP)”;在身份驗證方法標簽中,如果隧道兩個端點屬于同一個域,那么就選擇“Kerberos V5”,否則就選“CA憑證驗證”或“預(yù)共享密鑰”(注意:兩個隧道的身份驗證方法必須一致)。篩選列表GW1_GW2_In的設(shè)置依此類推,不同之處僅僅是“隧道終點由此IP地址指定”設(shè)為“210.40.1.8”。
同理,設(shè)置CW_net2的網(wǎng)關(guān)GW2。4)將新策略指派給W2K網(wǎng)關(guān)。
3結(jié)束語
本著夠用、易用、實用的原則,針對學(xué)校的實際情況和有限的資金投入,利用IPsec VPN技術(shù)解決了財務(wù)子網(wǎng)跨校區(qū)安全傳輸?shù)膯栴},有效解決了人員往返主校區(qū)進行報賬的模式,既有效節(jié)約交通經(jīng)費,又明顯改善了財務(wù)處的辦事效率和服務(wù)質(zhì)量。
參考文獻:
[1]鐘建平.高校財務(wù)信息化建設(shè)中VPN技術(shù)的應(yīng)用[J].會計之友, 2007,(5):45-47.
[2] Stephen Kent.Security Architecture for the Internet Protocol[s].IETF RFC 2401,1998.
[3] lu zhaohui, du jiayan.The Application of DirectAccess in Finance Subnet Across multi-school Distric,2001 3rd World congress in Ap? plied Computer Science,and Computer Engineering Advances in communication Technology ,Vol.1-4,2011,7.
[4] Microsoft Inc..How To Configure IPSec Tunneling in Windows Server 2003.http://support.microsoft.com/kb/816514,2007.