1 引言
虛擬專用網(wǎng)絡(luò)VPN(Virtual Private Network)是使用隧道封裝、認(rèn)證、加密和訪問(wèn)控制等網(wǎng)絡(luò)安全機(jī)制在公共網(wǎng)絡(luò)中建立專用數(shù)據(jù)通信網(wǎng)絡(luò)的技術(shù)。目前VPN主要有兩種:IPSecVPN和SSL VPN。安全套接層虛擬專網(wǎng)SSL VPN是基于應(yīng)用層的VPN,而IPSee VPN是基于網(wǎng)絡(luò)層的VPN。南于IPSecVPN存在通信性能較低、需要安裝客戶端軟件、維護(hù)成本高及很難實(shí)現(xiàn)防火墻和NAT遍歷、無(wú)法解決IP地址沖突等問(wèn)題,因此SSL VPN技術(shù)受到廣泛關(guān)注。
2 SSL VPN簡(jiǎn)介及其特點(diǎn)
SSL VPN指采用安全套接層SSL(Security Socket Lay-er)協(xié)議實(shí)現(xiàn)遠(yuǎn)程接人的一種新型VPN技術(shù)。SSL VPN能讓企業(yè)更多遠(yuǎn)程用戶在不同地點(diǎn)接入,實(shí)現(xiàn)更多網(wǎng)絡(luò)資源訪問(wèn),且對(duì)客戶端設(shè)備要求低,因而降低了配置和運(yùn)行支撐成本。SSL VPN通信基于標(biāo)準(zhǔn)TCP/UDP協(xié)議傳輸,因而能遍歷所有NAT設(shè)備、基于代理的防火墻和狀態(tài)檢測(cè)防火墻。SSLVPN是一種利用數(shù)據(jù)封裝技術(shù),基于 SSL/TSL協(xié)議,以WebServet架構(gòu)為依托的VPN實(shí)現(xiàn)。
與IPSec VPN相比,SSL VPN具有以下特點(diǎn):(1)SSLVPN的用戶使用標(biāo)準(zhǔn)的瀏覽器,無(wú)需安裝客戶端程序即可通過(guò)SSL VPN隧道接人內(nèi)部網(wǎng)絡(luò);(2)SSL VPN保護(hù)基于Web的應(yīng)用更有優(yōu)勢(shì);(3)SSL VPN用戶不受上網(wǎng)方式限制,SSL VPN隧道可穿透防火墻;(4)SSL VPN只需維護(hù)中心節(jié)點(diǎn)的網(wǎng)關(guān)設(shè)備,客戶端免維護(hù)。降低了部署和支持費(fèi)用;(5)SSL VPN更容易提供細(xì)粒度訪問(wèn)控制,可對(duì)用戶的權(quán)限、資源、服務(wù)、文件進(jìn)行更加具體的控制,與第三方認(rèn)證系統(tǒng)結(jié)合更加便捷。
3 SSL VPN網(wǎng)絡(luò)架構(gòu)
SSL VPN網(wǎng)關(guān)服務(wù)器一般位于企業(yè)的Internet防火墻之后.如圖1所示。
由于遠(yuǎn)程客戶端(如PDA、便攜電腦、Mobile User等)和SSL VPN網(wǎng)關(guān)服務(wù)器位于不同網(wǎng)絡(luò)中,因此兩者之間要形成一個(gè)安全通道。需用SSL進(jìn)行數(shù)據(jù)加密通信,從而在Internet上形成遠(yuǎn)程客戶端到SSL VPN網(wǎng)關(guān)之間的加密隧道。VPN網(wǎng)關(guān)服務(wù)器相當(dāng)于內(nèi)部網(wǎng)絡(luò)中的安全代理,由于與其他各種服務(wù)器處于同一內(nèi)部網(wǎng)中,因此它們之間的數(shù)據(jù)可通過(guò)明文傳輸。 SSL VPN充當(dāng)兩種角色:當(dāng)遠(yuǎn)程客戶端與SSL VPN進(jìn)行通信時(shí),SSL VPN是服務(wù)器端,負(fù)責(zé)處理遠(yuǎn)程客戶端的請(qǐng)求;而當(dāng)SSL VPN與網(wǎng)內(nèi)各服務(wù)器進(jìn)行通信時(shí),它則是客戶端,負(fù)責(zé)把遠(yuǎn)程客戶端的請(qǐng)求轉(zhuǎn)發(fā)到內(nèi)網(wǎng)服務(wù)器。
企業(yè)內(nèi)部的服務(wù)器多種多樣,常見(jiàn)的有Web服務(wù)器、Mail服務(wù)器、FTP服務(wù)器、Telnet服務(wù)器等。SSL VPN需要能夠代理遠(yuǎn)程客戶端訪問(wèn)內(nèi)部網(wǎng)絡(luò)的各種服務(wù)器.這種技術(shù)稱反向代理技術(shù),它是一種服務(wù)器負(fù)載均衡技術(shù),也是一種保護(hù)內(nèi)部網(wǎng)絡(luò)的預(yù)防攻擊技術(shù)。
4 網(wǎng)關(guān)服務(wù)器的設(shè)計(jì)
4.1 為Tomcat配置SSL
本系統(tǒng)中,SSL VPN網(wǎng)關(guān)是基于Web服務(wù)器Tomcat實(shí)現(xiàn)的。從圖1中可知遠(yuǎn)程客戶端和VPN之間通過(guò)SSL協(xié)議安全通信,目前瀏覽器大多支持SSL,無(wú)需額外配置,則主要是為Tomcat配置SSL,包含:準(zhǔn)備安全證書以及配置Tomcat的SSL連接器(Connector)。具體配置方法如下:
(1)使用keytool命令生成證書庫(kù)文件打開(kāi)命令行對(duì)話框,輸人如下命令:keytool-genkey-alias tomcat-keyalg RSA-keysize 1024-validity 365-keystore tomcat.keystore,則會(huì)在當(dāng)前目錄下生成文件tomcat.keystore。
(2)保存文件將生成的tomcat.keystore文件保存在TOM-CAT/conf目錄下。
(3)修改server.xml文件 去掉SSL Connector注釋語(yǔ)句<!
(4)重新啟動(dòng)Tomcat訪問(wèn)http://localhost:8443,一般打開(kāi)頁(yè)面前會(huì)提示確認(rèn)證書的內(nèi)容,選擇OK即可看到頁(yè)面。
遠(yuǎn)程客戶端通過(guò)瀏覽器訪問(wèn)SSL VPN,為保證兩者通信的安全性,在HTTP協(xié)議下采用SSL協(xié)議,如圖1所示。采用SSL機(jī)制的HTTP稱為HTTPS協(xié)議,HTTP使用的默認(rèn)端口為80,而HTTPS使用的默認(rèn)端口為443。