余曉莉 趙建新
[摘要]研究基于以太幀轉(zhuǎn)發(fā)的SSL VPN如何實現(xiàn)內(nèi)網(wǎng)資源的遠(yuǎn)程訪問,并且在遠(yuǎn)程安全接入上從各個方面對SSL VPN系統(tǒng)進(jìn)行安全性設(shè)計。
[關(guān)鍵詞]SSL虛擬專用網(wǎng)網(wǎng)絡(luò)安全
中圖分類號:TP3文獻(xiàn)標(biāo)識碼:A文章編號:1671-7597(2009)1110089-01
虛擬專用網(wǎng)技術(shù)可以擴(kuò)展企業(yè)的內(nèi)部網(wǎng)絡(luò),使在外工作的員工和合作伙伴可以通過標(biāo)準(zhǔn)、公用的因特網(wǎng)訪問企業(yè)的內(nèi)部網(wǎng)絡(luò)?;诎踩捉幼謱訁f(xié)議的VPN遠(yuǎn)程訪問方案以其方便、安全、快捷、靈活的特性成為遠(yuǎn)程用戶快速訪問企業(yè)內(nèi)部網(wǎng)絡(luò)的首要選擇。
一、SSL VPN部署架構(gòu)設(shè)計
當(dāng)今世界瞬息萬變,全球化的商業(yè)環(huán)境使分布在世界各地的企業(yè)各分支機(jī)構(gòu)員工、合作伙伴和客戶之間的聯(lián)系更加緊密。企業(yè)的各分支、合作伙伴、客戶與企業(yè)總部使用什么樣的接入模式共享內(nèi)網(wǎng)資源,需隨著具體的網(wǎng)絡(luò)環(huán)境和相應(yīng)的權(quán)限而定。根據(jù)網(wǎng)絡(luò)應(yīng)用環(huán)境的不同,VPN客戶端的接入模式總體上可分為兩種模式:端到邊(End-to-Border)模式和邊對邊(Border-to-Border)模式。
(一)端到邊接入模式
端到邊的接入模式適合于任何地點的遠(yuǎn)程用戶接入企業(yè)內(nèi)網(wǎng),共享企業(yè)內(nèi)部資源和進(jìn)行遠(yuǎn)程辦公。在端到邊的接入模式中,由于遠(yuǎn)程用戶接入的地點是不確定的,所以需要提供一種既方便又安全的遠(yuǎn)程接入VPN。方便快捷地接入企業(yè)內(nèi)網(wǎng)是此種接入模式的首要需求。由于此種模式的特點,不可能滿足在每個遠(yuǎn)程接入點都加入接入設(shè)備,而且也不可能滿足每個遠(yuǎn)程用戶都熟悉遠(yuǎn)程接入技術(shù),這就需要此種模式的接入程序不需任何其它設(shè)備和滿足零配置。在使用方便之外,由于接入用戶的多樣性,必須給遠(yuǎn)程用戶提供可控區(qū)域的接入,使其只能訪問角色權(quán)限范圍內(nèi)的內(nèi)網(wǎng)服務(wù)資源。同時,為了防止非授權(quán)用戶利用VPN接入內(nèi)網(wǎng)竊取商業(yè)秘密,必須提供高強(qiáng)度的身份認(rèn)證和訪問控制策略。
(二)邊對邊接入模式
邊到邊的接入模式適合于企業(yè)內(nèi)部各分支機(jī)構(gòu)、合作伙伴的互聯(lián)。在企業(yè)總部的網(wǎng)關(guān)處架設(shè)VPN的服務(wù)器,在企業(yè)各分支的網(wǎng)關(guān)處架設(shè)VPN的客戶端。由于此種模式的接入地點相對比較確定,而且資源的共享都是在企業(yè)內(nèi)部之間,其安全性比較好(假設(shè)企業(yè)內(nèi)網(wǎng)是可信任的),這種接入模式的首要要求是遠(yuǎn)程接入的性能,安全性主要是針對安全隧道的安全。由于地點的確定性,所以可以在各個網(wǎng)關(guān)處使用硬件手段來實現(xiàn)加密和傳輸。本文研究的基于以太幀轉(zhuǎn)發(fā)的虛擬專用網(wǎng)可以實現(xiàn)上述兩種模式的遠(yuǎn)程接入。由于端到邊的接入模式同樣也可以在邊到邊的網(wǎng)絡(luò)環(huán)境下使用。而且端到邊的接入模式更適合普遍SSL VPN的要求,可以完全做到利用ActiveX控件嵌入到Web里,從Web服務(wù)器下載使用,無需遠(yuǎn)程接入用戶做任何配置,完全實現(xiàn)無客戶端性(clientless)?;谏鲜隹紤],本文主要研究、設(shè)計和實現(xiàn)端到邊的遠(yuǎn)程接入。
二、SSL VPN系統(tǒng)工作原理
傳統(tǒng)的SSL VPN支持的應(yīng)用局限在基于Web的應(yīng)用,文件共享和E-mail等和瀏覽器相關(guān)的一些網(wǎng)絡(luò)應(yīng)用服務(wù)。對于一些基于點對點和反向連接的網(wǎng)絡(luò)服務(wù)都不能提供很好的支持。本文設(shè)計和實現(xiàn)了一種基于以太幀轉(zhuǎn)發(fā)的SSL VPN的構(gòu)架。其基本原理是利用IP層的路由機(jī)制,將與內(nèi)網(wǎng)通信的以太幀路由到客戶端上的虛擬網(wǎng)卡中,然后通過設(shè)備I/O讀寫接口將以太幀轉(zhuǎn)發(fā)到應(yīng)用層,接著SSL VPN客戶端程序?qū)⒁蕴珟瑢懭虢⒑玫腟SL安全通道中,服務(wù)端在收到以太幀后,將其寫入服務(wù)端虛擬網(wǎng)卡設(shè)備中,虛擬網(wǎng)卡將以太幀自下而上壓出TCP/IP協(xié)議棧,在IP層查詢路由表,根據(jù)以太幀的目的地址將其路由轉(zhuǎn)發(fā)到連接內(nèi)網(wǎng)的網(wǎng)絡(luò)接口,最后以太幀到達(dá)真正的內(nèi)網(wǎng)服務(wù)端。
以太幀從客戶端到內(nèi)網(wǎng)服務(wù)器的工作流程如下:從內(nèi)網(wǎng)服務(wù)器發(fā)往客戶端的以太幀也可以經(jīng)VPN網(wǎng)關(guān)服務(wù)器通過SSL安全隧道傳送給客戶端。首先因VPN客戶端虛擬網(wǎng)卡的IP地址不在內(nèi)網(wǎng)網(wǎng)段內(nèi),內(nèi)網(wǎng)服務(wù)器會將以太幀發(fā)給默認(rèn)路由——VPN網(wǎng)關(guān),VPN網(wǎng)關(guān)在收到以太幀后,將幀自下而上壓出協(xié)議棧,到達(dá)IP層時,根據(jù)幀的目的IP地址比較路由表得知幀的下一跳出口為虛擬網(wǎng)卡,以太幀到達(dá)虛擬網(wǎng)卡后,VPN服務(wù)器通過虛擬網(wǎng)卡的設(shè)備接口將以太幀讀出,接著將其通過SSL安全隧道發(fā)送給VPN客戶端,同樣VPN客戶端將收到的幀送入虛擬網(wǎng)卡,最后虛擬網(wǎng)卡將幀自下而上送給客戶端服務(wù)程序。
整個SSL VPN的工作原理如上所述。因為客戶端與服務(wù)端轉(zhuǎn)發(fā)的是以太幀,所以可以支持點到點和基于反向連接的網(wǎng)絡(luò)服務(wù)。同樣因為是基于以太幀轉(zhuǎn)發(fā)的,所以在訪問控制中需要對每個以太幀進(jìn)行訪問權(quán)限檢測,相對于基于連接轉(zhuǎn)發(fā)和基于Web應(yīng)用的SSL VPN來說實現(xiàn)起來比較困難。
三、SSL VPN遠(yuǎn)程接入的安全設(shè)計
SSL協(xié)議本身為我們提供了消息的保密性,消息的完整性等安全特性。為了更進(jìn)一步提高SSL VPN遠(yuǎn)程接入的安全性,本文還采用了基于PKI的身份認(rèn)證機(jī)制,基于會話流的連接超時控制,基于角色資源的訪問控制策略和遠(yuǎn)程接入點會話數(shù)據(jù)清除等安全策略來提高SSL VPN遠(yuǎn)程接入的安全性。最普通的身份認(rèn)證形式是用戶標(biāo)識(ID)和密碼(Password)的組合,這種方式的認(rèn)證是基于用戶知道什么的身份認(rèn)證,系統(tǒng)的安全性依賴于用戶密碼的保密性。
在本文采用的基于PKI的身份認(rèn)證當(dāng)中,CA機(jī)構(gòu)的角色由受信任的CA根證書擔(dān)當(dāng),所有客戶端和服務(wù)端的證書都有CA根證書簽名頒發(fā),在SSL VPN服務(wù)器上存放受信任CA根證書的數(shù)字證書,而客戶端證書、服務(wù)端證書和證書吊銷列表的生成頒發(fā)機(jī)構(gòu)由本文提供一整套解決方案。SSL VPN系統(tǒng)的管理員能分別向每個遠(yuǎn)程接入用戶頒發(fā)識別用戶身份的個人數(shù)字證書,在需要撤銷客戶端證書時由系統(tǒng)管理員生成證書吊銷列表,并及時更新SSL VPN服務(wù)器的CRL(證書吊銷列表),拒絕被吊銷證書的遠(yuǎn)程接入用戶登錄VPN服務(wù)器。遠(yuǎn)程用戶登錄SSL VPN服務(wù)器的整個過程為:首先遠(yuǎn)程接入用戶輸入用戶名/密碼進(jìn)行最基本的身份認(rèn)證,在連接服務(wù)器時,會用存放在客戶端的CA根證書驗證服務(wù)端證書的有效性,驗證通過后會彈出服務(wù)端數(shù)字證書信息對話框供用戶選擇是否信任,選擇信任后,服務(wù)器將對通過SSL安全通道傳送過來得用戶名/密碼進(jìn)行認(rèn)證,在認(rèn)證成功后,根據(jù)用戶的登陸權(quán)限判斷是否需要客戶端證書認(rèn)證,如果需要則在客戶端程序中彈出導(dǎo)入個人數(shù)字證書的對話框,在用戶選擇導(dǎo)入數(shù)字證書時需要用戶輸入個人證書的私鑰密碼,輸入結(jié)束后SSL VPN服務(wù)器將對客戶端證書的有效性、是否撤銷進(jìn)行檢測判斷,一切認(rèn)證通過后就可以進(jìn)行SSL遠(yuǎn)程通信了。
參考文獻(xiàn):
[1]羅明宇、盧錫城,計算機(jī)網(wǎng)絡(luò)安全技術(shù),計算機(jī)科學(xué),2000,27(10):63-65.
[2]馬英杰、肖麗萍、何文才、李彥兵,SSL協(xié)議分析及其在Web服務(wù)應(yīng)用中的改進(jìn),微處理機(jī),2005(6):30-33.
[3]金侖、謝俊元,基元SSL協(xié)議的可信應(yīng)用與實現(xiàn),計算機(jī)應(yīng)用研究,2006(1):103-105.