1 引言
虛擬專用網(wǎng)絡VPN(Virtual Private Network)是使用隧道封裝、認證、加密和訪問控制等網(wǎng)絡安全機制在公共網(wǎng)絡中建立專用數(shù)據(jù)通信網(wǎng)絡的技術。目前VPN主要有兩種:IPSecVPN和SSL VPN。安全套接層虛擬專網(wǎng)SSL VPN是基于應用層的VPN,而IPSee VPN是基于網(wǎng)絡層的VPN。南于IPSecVPN存在通信性能較低、需要安裝客戶端軟件、維護成本高及很難實現(xiàn)防火墻和NAT遍歷、無法解決IP地址沖突等問題,因此SSL VPN技術受到廣泛關注。
2 SSL VPN簡介及其特點
SSL VPN指采用安全套接層SSL(Security Socket Lay-er)協(xié)議實現(xiàn)遠程接人的一種新型VPN技術。SSL VPN能讓企業(yè)更多遠程用戶在不同地點接入,實現(xiàn)更多網(wǎng)絡資源訪問,且對客戶端設備要求低,因而降低了配置和運行支撐成本。SSL VPN通信基于標準TCP/UDP協(xié)議傳輸,因而能遍歷所有NAT設備、基于代理的防火墻和狀態(tài)檢測防火墻。SSLVPN是一種利用數(shù)據(jù)封裝技術,基于 SSL/TSL協(xié)議,以WebServet架構為依托的VPN實現(xiàn)。
與IPSec VPN相比,SSL VPN具有以下特點:(1)SSLVPN的用戶使用標準的瀏覽器,無需安裝客戶端程序即可通過SSL VPN隧道接人內(nèi)部網(wǎng)絡;(2)SSL VPN保護基于Web的應用更有優(yōu)勢;(3)SSL VPN用戶不受上網(wǎng)方式限制,SSL VPN隧道可穿透防火墻;(4)SSL VPN只需維護中心節(jié)點的網(wǎng)關設備,客戶端免維護。降低了部署和支持費用;(5)SSL VPN更容易提供細粒度訪問控制,可對用戶的權限、資源、服務、文件進行更加具體的控制,與第三方認證系統(tǒng)結合更加便捷。
3 SSL VPN網(wǎng)絡架構
SSL VPN網(wǎng)關服務器一般位于企業(yè)的Internet防火墻之后.如圖1所示。
由于遠程客戶端(如PDA、便攜電腦、Mobile User等)和SSL VPN網(wǎng)關服務器位于不同網(wǎng)絡中,因此兩者之間要形成一個安全通道。需用SSL進行數(shù)據(jù)加密通信,從而在Internet上形成遠程客戶端到SSL VPN網(wǎng)關之間的加密隧道。VPN網(wǎng)關服務器相當于內(nèi)部網(wǎng)絡中的安全代理,由于與其他各種服務器處于同一內(nèi)部網(wǎng)中,因此它們之間的數(shù)據(jù)可通過明文傳輸。 SSL VPN充當兩種角色:當遠程客戶端與SSL VPN進行通信時,SSL VPN是服務器端,負責處理遠程客戶端的請求;而當SSL VPN與網(wǎng)內(nèi)各服務器進行通信時,它則是客戶端,負責把遠程客戶端的請求轉發(fā)到內(nèi)網(wǎng)服務器。
企業(yè)內(nèi)部的服務器多種多樣,常見的有Web服務器、Mail服務器、FTP服務器、Telnet服務器等。SSL VPN需要能夠代理遠程客戶端訪問內(nèi)部網(wǎng)絡的各種服務器.這種技術稱反向代理技術,它是一種服務器負載均衡技術,也是一種保護內(nèi)部網(wǎng)絡的預防攻擊技術。
4 網(wǎng)關服務器的設計
4.1 為Tomcat配置SSL
本系統(tǒng)中,SSL VPN網(wǎng)關是基于Web服務器Tomcat實現(xiàn)的。從圖1中可知遠程客戶端和VPN之間通過SSL協(xié)議安全通信,目前瀏覽器大多支持SSL,無需額外配置,則主要是為Tomcat配置SSL,包含:準備安全證書以及配置Tomcat的SSL連接器(Connector)。具體配置方法如下:
(1)使用keytool命令生成證書庫文件打開命令行對話框,輸人如下命令:keytool-genkey-alias tomcat-keyalg RSA-keysize 1024-validity 365-keystore tomcat.keystore,則會在當前目錄下生成文件tomcat.keystore。
(2)保存文件將生成的tomcat.keystore文件保存在TOM-CAT/conf目錄下。
(3)修改server.xml文件 去掉SSL Connector注釋語句<!
(4)重新啟動Tomcat訪問http://localhost:8443,一般打開頁面前會提示確認證書的內(nèi)容,選擇OK即可看到頁面。
遠程客戶端通過瀏覽器訪問SSL VPN,為保證兩者通信的安全性,在HTTP協(xié)議下采用SSL協(xié)議,如圖1所示。采用SSL機制的HTTP稱為HTTPS協(xié)議,HTTP使用的默認端口為80,而HTTPS使用的默認端口為443。
4.2 Web轉發(fā)功能模塊的設計
SSL VPN中Web轉發(fā)功能模塊主要實現(xiàn)以下功能:當遠程客戶端發(fā)出訪問企業(yè)內(nèi)部某一服務器的請求時,SSL VPN中的Web轉發(fā)功能模塊分析該請求,得到其真正要訪問的內(nèi)網(wǎng)URL,然后向內(nèi)網(wǎng)服務器發(fā)出該請求,再取回并修改遠程客戶端所需信息,傳至遠程客戶端,如圖2所示。
該系統(tǒng)的SSL VPN網(wǎng)關中用于實現(xiàn)Web轉發(fā)功能模塊的是一個名為WebAgent的Servlet。為訪問WebAgent,需在Tomcat的配置文件Web.xml中配置訪問該Servlet的URL模式,通過servlet-mapping元素實現(xiàn):
通過上述配置,假設SSL VPN的IP地址為222.207.224.19,所有格式為https://222.207.224.19/agent/*的URL請求都將由該Servlet處理。
為實現(xiàn)代理功能,WebAgent接收到的請求中應包含遠程用戶真正想要訪問的內(nèi)網(wǎng)服務器的URL信息。但如果直接暴露內(nèi)網(wǎng)服務器的URL地址可能會帶來安全隱患,故該系統(tǒng)采用加密內(nèi)網(wǎng)資源URL地址信息的方案。例如當遠程客戶要訪問http://192.168.0.1/index.jsp時, WebAgent接收到的請求為https://222.207.224.19/agent/S6GH78GL/index.jsp。這里的 S6GH78GL為http://192.168.0.1的密文信息。WebAgent解密請求得到真正要訪問的URL信息,通過HTTP客戶端工具(如 HttpClient)向內(nèi)網(wǎng)服務器發(fā)出訪問請求,內(nèi)網(wǎng)服務器收到請求后,向WebAgent返回應答信息。
4.3 HTML文檔中后續(xù)訪問的處理
如果應答對象為HTML文檔,由于該文檔中包含超鏈接以及其他引用對象。為使基于該頁面的后續(xù)訪問請求仍能通過HTTP代理服務器轉發(fā),需將應答信息修改后再發(fā)送至遠程客戶端。圖3為HTTP協(xié)議的應答信息格式。
HTTP響應消息分為狀態(tài)行、頭部行、附屬體3部分。其中狀態(tài)行有協(xié)議版本、狀態(tài)碼、原因短語3個字段,分別用于告知服務器端使用的HTTP協(xié)議版本號、本次請求執(zhí)行的狀態(tài)(如發(fā)生錯誤,給出錯誤原因等)。頭部行包含有關服務器端環(huán)境及應答正文的有用信息(如正文字節(jié)數(shù)、發(fā)送時間、包含在附屬體中的對象類型等)。附屬體包含是應答正文信息。
HTML文檔由標簽構成,有些標簽中含有URL信息,例如<a href="http://192.168.0.1/index.html">SSL VPN簡介</a>,該標簽是一個超鏈接,鏈接地址通過參數(shù)href指明,href的值就是一個URL??捎肏tmlParser工具解析 HTML文檔,以找出其中包含的所有URL信息,然后根據(jù)事先約定的加密算法加密URL,例如假設對于http://192.168.0.1。通過某種算法加密后密文為S6GH78GL,則上述標簽中的URL修改后為<ahref="https://222.207.224. 19/agent/S6GH78GL/index.html">SSL VPN簡介</a>,經(jīng)這樣的修改,由于URL地址形式滿足訪問WebAgent的URL模式,因而對該超級鏈接的訪問也是由 WebAgent進行轉發(fā)的。
還要修改HTTP應答信息中的某些應答頭(如Loeation、Conten-Length等)。如果應答中出現(xiàn)Location這個應答頭,表明要訪問資源位置已改變,新的位置由應答頭Location的值給出,即該頭部信息中包含URL信息,所以也需加密修改。應答頭Conten-Length指明附屬體中正文的大小,當修改正文后,該應答頭的值也要作相應修改。此之,還需對Set-Cookie,Transfer-Encoding等頭部行根據(jù)其含義作相應修改。所有信息修改完成后,Web轉發(fā)功能模塊把修改后的應答信息發(fā)送給外網(wǎng)用戶,以實現(xiàn)信息轉發(fā)。
5 結束語
SSL VPN是解決遠程用戶訪問企業(yè)內(nèi)部數(shù)據(jù)的一種簡單又安全的技術,與復雜的IPSec VPN相比,SSL通過簡單易用的方法即可實現(xiàn)信息遠程連接,任何安裝瀏覽器的機器都可以使用SSL VPN。SSL VPN網(wǎng)關服務器需要能代理遠程客戶端訪問內(nèi)網(wǎng)服務器。詳細介紹一種基于Tomcat的SSL VPN網(wǎng)關服務器的設計與實現(xiàn)方法,具有一定的借鑒意義。但由于需通過代理訪問,遠程客戶端訪問內(nèi)網(wǎng)服務器的效率不可避免地降低了,為提高系統(tǒng)效率,可采用Cache等手段,這是下一步研究的內(nèi)容。
北京2022年10月18日 /美通社/ -- 10月14日,國際數(shù)據(jù)公司(IDC)發(fā)布《2022Q2中國軟件定義存儲及超融合市場研究報告》,報告顯示:2022年上半年浪潮超融合銷售額同比增長59.4%,近5倍于...
關鍵字: IDC BSP 數(shù)字化 數(shù)據(jù)中心要問機器人公司哪家強,波士頓動力絕對是其中的佼佼者。近來年該公司在機器人研發(fā)方面獲得的一些成果令人印象深刻,比如其開發(fā)的機器人會后空翻,自主爬樓梯等。這不,波士頓動力又發(fā)布了其機器人組團跳男團舞的新視頻,表演的機器人包括...
關鍵字: 機器人 BSP 工業(yè)機器人 現(xiàn)代汽車