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