SSL VPN技術白皮書
關鍵詞:SSL VPN、HTTPS、Web接入方式、TCP接入方式、IP接入方式
摘 要:SSL VPN是一種新興的以HTTPS為基礎的VPN技術,為用戶遠程訪問公司內部網絡提供了安全保證。本文介紹了SSL VPN技術的實現原理及典型組網應用。
縮略語:
縮略語 | 英文全名 | 中文解釋 |
AD | Active Directory | 活動目錄 |
CA | Certificate Authority | 證書機構 |
HTTPS | HTTP Security | 安全的HTTP,即支持SSL的HTTP |
LDAP | Lightweight Directory Access Protocol | 輕型目錄訪問協議 |
RADIUS | Remote Authentication Dial-In User Service | 遠程認證撥號用戶服務 |
SMB | Server Message Block | 服務器信息塊,用來實現文件共享、打印機等資源訪問的協議,Windows、Linux操作係統均支持該協議 |
SSL | Secure Sockets Layer | 安全套接層 |
VPN | Virtual Private Network | 虛擬專用網絡 |
目 錄
隨著互聯網的普及和電子商務的飛速發展,越來越多的員工、客戶和合作夥伴希望能夠隨時隨地接入公司的內部網絡,訪問公司的內部資源。接入用戶的身份可能不合法、遠端接入主機可能不夠安全,這些都為公司內部網絡帶來了安全隱患。
通過加密實現安全接入的VPN——SVPN(Security VPN)技術提供了一種安全機製,保護公司的內部網絡不被攻擊,內部資源不被竊取。SVPN技術主要包括IPsec VPN和SSL VPN。
由於IPsec VPN實現方式上的局限性,導致其存在著一些不足:
l 部署IPsec VPN網絡時,需要在用戶主機上安裝複雜的客戶端軟件。而遠程用戶的移動性要求VPN可以快速部署客戶端,並動態建立連接;遠程終端的多樣性還要求VPN的客戶端具有跨平台、易於升級和維護等特點。這些問題是IPsec VPN技術難以解決的。
l 無法檢查用戶主機的安全性。如果用戶通過不安全的主機訪問公司內部網絡,可能引起公司內部網絡感染病毒。
l 訪問控製不夠細致。由於IPsec是在網絡層實現的,對IP報文的內容無法識別,因而不能控製高層應用的訪問請求。隨著企業經營模式的改變,企業需要建立Extranet,與合作夥伴共享某些信息資源,以便提高企業的運作效率。對合作夥伴的訪問必須進行嚴格有效地控製,才能保證企業信息係統的安全,而IPsec VPN無法實現訪問權限的控製。
l 在複雜的組網環境中,IPsec VPN部署比較困難。在使用NAT的場合,IPsec VPN需要支持NAT穿越技術;在部署防火牆的網絡環境中,由於IPsec協議在原TCP/UDP頭的前麵增加了IPsec報文頭,因此,需要在防火牆上進行特殊的配置,允許IPsec報文通過。
IPsec VPN比較適合連接固定,對訪問控製要求不高的場合,無法滿足用戶隨時隨地以多種方式接入網絡、對用戶訪問權限進行嚴格限製的需求。
SSL VPN技術克服了IPsec VPN技術的缺點,以其跨平台、免安裝、免維護的客戶端,豐富有效的權限管理而成為遠程接入市場上的新貴。
SSL VPN是以HTTPS為基礎的VPN技術,它利用SSL協議提供的基於證書的身份認證、數據加密和消息完整性驗證機製,為用戶遠程訪問公司內部網絡提供了安全保證。SSL VPN具有如下優點:
l 支持各種應用協議。SSL位於傳輸層和應用層之間,任何一個應用程序都可以直接享受SSL VPN提供的安全性而不必理會具體細節。
l 支持多種軟件平台。目前SSL已經成為網絡中用來鑒別網站和網頁瀏覽者身份,在瀏覽器使用者及Web服務器之間進行加密通信的全球化標準。SSL協議已被集成到大部分的瀏覽器中,如IE、Netscape、Firefox等。這就意味著幾乎任意一台裝有瀏覽器的計算機都支持SSL連接。SSL VPN的客戶端基於SSL協議,絕大多數的軟件運行環境都可以作為SSL VPN客戶端。
l 支持自動安裝和卸載客戶端軟件。在某些需要安裝額外客戶端軟件的應用中,SSL VPN提供了自動下載並安裝客戶端軟件的功能,退出SSL VPN時,還可以自動卸載並刪除客戶端軟件,極大地方便了用戶的使用。
l 支持對客戶端主機進行安全檢查。SSL VPN可以對遠程主機的安全狀態進行評估,可以判斷遠程主機是否安全,以及安全程度的高低。
l 支持動態授權。傳統的權限控製主要是根據用戶的身份進行授權,同一身份的用戶在不同的地點登錄,具有相同的權限,稱之為靜態授權。而動態授權是指在靜態授權的基礎上,結合用戶登錄時遠程主機的安全狀態,對所授權利進行動態地調整。當發現遠程主機不夠安全時,開放較小的訪問權限;在遠程主機安全性較高時,則開放較大的訪問權限。
l SSL VPN網關支持多種用戶認證方式和細粒度的資源訪問控製,實現了外網用戶對內網資源的受控訪問。
l SSL VPN的部署不會影響現有的網絡。SSL協議工作在傳輸層之上,不會改變IP報文頭和TCP報文頭,因此,SSL報文對NAT來說是透明的;SSL固定采用443號端口,隻需在防火牆上打開該端口,不需要根據應用層協議的不同來修改防火牆上的設置,不僅減少了網絡管理員的工作量,還可以提高網絡的安全性。
l 支持多個域之間獨立的資源訪問控製。為了使多個企業或一個企業的多個部門共用一個SSL VPN網關,減少SSL VPN網絡部署的開銷,SSL VPN網關上可以創建多個域,企業或部門在各自域內獨立地管理自己的資源和用戶。通過創建多個域,可以將一個實際的SSL VPN網關劃分為多個虛擬的SSL VPN網關。
SSL VPN用戶分為超級管理員、域管理員和普通用戶:
l 超級管理員:整個SSL VPN網關的管理者,可以創建域,設置域管理員的密碼。
l 域管理員:負責管理所在域,可以創建本地用戶和資源、設置用戶訪問權限等。域管理員可能是某個企業的網管人員。
l 普通用戶:簡稱用戶,為服務器資源訪問者,權限由域管理員指定。
圖1 SSL VPN典型組網架構
SSL VPN的典型組網架構如圖1所示,SSL VPN係統由以下幾個部分組成:
l 遠程主機:管理員和用戶遠程接入的終端設備,可以是個人電腦、手機、PDA等。
l SSL VPN網關:SSL VPN係統中的重要組成部分。管理員在SSL VPN網關上維護用戶和企業網內資源的信息,用戶通過SSL VPN網關查看可以訪問哪些資源。SSL VPN網關負責在遠程主機和企業網內服務器之間轉發報文。SSL VPN網關與遠程主機之間建立SSL連接,以保證數據傳輸的安全性。
l 企業網內的服務器:可以是任意類型的服務器,如Web服務器、FTP服務器,也可以是企業網內需要與遠程接入用戶通信的主機。
l CA:為SSL VPN網關頒發包含公鑰信息的數字證書,以便遠程主機驗證SSL VPN網關的身份、在遠程主機和SSL VPN網關之間建立SSL連接。
l 認證服務器:SSL VPN網關不僅支持本地認證,還支持通過外部認證服務器對用戶的身份進行遠程認證。
SSL VPN的工作過程可以分為以下三步:
(1) 超級管理員在SSL VPN網關上創建域。
(2) 域管理員在SSL VPN網關上創建用戶和企業網內服務器對應的資源。
(3) 用戶通過SSL VPN網關訪問企業網內服務器。
如圖2所示,超級管理員創建域的過程為:
(1) 超級管理員在遠程主機上輸入SSL VPN網關的網址,遠程主機和SSL VPN網關之間建立SSL連接,通過SSL對SSL VPN網關和遠程主機進行基於證書的身份驗證。
(2) SSL連接建立成功後,進入SSL VPN網關的Web登錄頁麵,輸入超級管理員的用戶名、密碼和認證方式。SSL VPN網關根據輸入的信息對超級管理員進行身份驗證。身份驗證成功後,進入SSL VPN網關的Web管理頁麵。
(3) 超級管理員在SSL VPN網關上創建域,並設置域管理員密碼。
如圖3所示,域管理員創建用戶和企業網內服務器對應資源的過程為:
(1) 域管理員在遠程主機上輸入SSL VPN網關的網址,遠程主機和SSL VPN網關之間建立SSL連接,通過SSL對SSL VPN網關和遠程主機進行基於證書的身份驗證。
(2) SSL連接建立成功後,進入SSL VPN網關的Web登錄頁麵,輸入域管理員的用戶名、密碼和認證方式。SSL VPN網關根據輸入的信息對域管理員進行身份驗證。身份驗證成功後,進入SSL VPN網關的Web管理頁麵。
(3) 域管理員在SSL VPN網關上創建用戶和企業網內服務器對應的資源,並設定用戶對資源的訪問權限。
如圖4所示,用戶訪問企業網內服務器的過程為:
(1) 用戶在遠程主機上輸入SSL VPN網關的網址,遠程主機和SSL VPN網關之間建立SSL連接,通過SSL對SSL VPN網關和遠程主機進行基於證書的身份驗證。
(2) SSL連接建立成功後,進入SSL VPN網關的Web登錄頁麵,輸入普通用戶的用戶名、密碼和認證方式。SSL VPN網關根據輸入的信息對普通用戶進行身份驗證。身份驗證成功後,進入SSL VPN網關的Web訪問頁麵。
(3) 用戶在Web訪問頁麵上查看可以訪問的資源列表,如Web服務器資源、文件共享資源等。
(4) 用戶選擇需要訪問的資源,通過SSL連接將訪問請求發送給SSL VPN網關。
(5) SSL VPN網關解析請求,檢查用戶權限,如果用戶可以訪問該資源,則以明文的形式將請求轉發給服務器。
(6) 服務器將響應報文以明文的形式發送給SSL VPN網關。
(7) SSL VPN網關接收到服務器的應答後,將其通過SSL連接轉發給用戶。
SSL VPN支持三種接入方式:
l Web接入方式
l TCP接入方式
l IP接入方式
通過不同的接入方式,用戶可以訪問不同類型的資源;不同接入方式下,SSL VPN網關在遠端主機和企業網內服務器之間轉發數據的過程也有所不同。下麵將分別對其進行介紹。
Web接入方式是指用戶使用瀏覽器以HTTPS方式、通過SSL VPN網關對服務器提供的資源進行訪問,即一切數據的顯示和操作都是通過Web頁麵進行的。
通過Web接入方式可以訪問的資源有兩種:Web服務器和文件共享資源。
Web服務器以網頁的形式為用戶提供服務,用戶可以通過點擊網頁中的超鏈接,在不同的網頁之間跳轉,以瀏覽網頁獲取信息。SSL VPN為用戶訪問Web服務器提供了安全的連接,並且可以防止非法用戶訪問受保護的Web服務器。
圖5 Web資源訪問機製
如圖5所示,Web服務器訪問過程中,SSL VPN網關主要充當中繼的角色:
(1) SSL VPN網關收到用戶的HTTP請求消息後,將HTTP請求URL中的路徑映射到資源,並將HTTP請求轉發到被請求資源對應的真正的Web服務器;
(2) SSL VPN網關收到HTTP回應消息後,將網頁中的內網鏈接修改為指向SSL VPN網關的鏈接,使用戶在訪問這些內網鏈接對應的資源時都通過SSL VPN網關,從而保證安全,並實現訪問控製。SSL VPN將改寫後的HTTP回應消息發送給用戶。
在Web服務器訪問的過程中,從用戶角度看,所有的HTTP應答都來自於SSL VPN網關;從Web服務器的角度看,所有的HTTP請求都是SSL VPN網關發起的。
文件共享是一種常用的網絡應用,實現了對遠程網絡服務器或者主機上文件係統進行操作(如瀏覽文件夾、上傳文件、下載文件等)的功能,如Windows操作係統上的共享文件夾應用。
SSL VPN網關將文件共享資源以Web方式提供給用戶。如圖6所示,文件共享資源訪問過程中,SSL VPN網關起到協議轉換器的作用:
(1) 遠程主機與SSL VPN網關之間通過HTTPS協議通信:遠程主機將用戶訪問文件共享資源的請求通過HTTPS報文發送給SSL VPN網關。
(2) SSL VPN網關與文件服務器通過SMB協議通信:SSL VPN網關接收到請求後,將其轉換為SMB協議報文,發送給文件服務器。
(3) 文件服務器應答報文到達SSL VPN網關後,SSL VPN網關將其轉換為HTTPS報文後,發送給遠程主機。
TCP接入方式用於實現應用程序對服務器開放端口的安全訪問。通過TCP接入方式,用戶可以訪問任意基於TCP的服務,包括遠程訪問服務(如Telnet)、桌麵共享服務、郵件服務等。
用戶利用TCP接入方式訪問內網服務器時,不需要對現有的TCP應用程序進行升級,隻需安裝專用的TCP接入客戶端軟件,由該軟件實現使用SSL連接傳送應用層數據。
如圖7所示,用戶利用TCP接入方式訪問內網服務器的工作流程為:
(1) 用戶啟動TCP應用後,遠程主機自動從SSL VPN網關上下載TCP接入客戶端軟件。
(2) 用戶通過點擊SSL VPN網關Web訪問頁麵上的資源鏈接或開啟TCP應用程序(例如打開遠程桌麵連接程序,連接到遠程的內網服務器)的方式訪問TCP應用資源時,客戶端軟件就會與SSL VPN網關建立SSL連接,並使用擴展的HTTP消息請求訪問該資源。
(3) SSL VPN網關與該資源對應的內網服務器建立TCP連接。
(4) 連接建立成功後,用戶訪問內網服務器的數據由TCP接入客戶端通過SSL連接安全地發送給SSL VPN網關,SSL VPN網關獲取應用層數據,通過已經建立的TCP連接發送給內網服務器。
(5) SSL VPN網關接收到內網服務器的應答後,通過SSL連接將其發送給遠程主機的客戶端軟件,客戶端軟件獲取服務器應答數據,將其轉發給應用程序。
圖7 TCP接入方式工作流程
IP接入方式實現遠程主機與服務器網絡層之間的安全通信,進而實現所有基於IP的遠程主機與服務器的互通,如在遠程主機上ping內網服務器。
用戶通過IP接入方式訪問內網服務器前,需要安裝專用的IP接入客戶端軟件,該客戶端軟件會在主機上安裝一個虛擬網卡。
如圖8所示,用戶利用IP接入方式訪問內網服務器的工作流程為:
(1) 用戶啟動IP應用時,遠程主機自動從SSL VPN網關上下載IP接入客戶端軟件,該軟件負責與SSL VPN網關建立SSL連接,為虛擬網卡申請地址,並設置網關地址和以虛擬網卡為出接口的路由。
(2) 用戶通過點擊SSL VPN網關Web訪問頁麵上的資源鏈接或執行IP訪問命令(例如,執行ping命令)的方式訪問IP網絡資源時,IP報文根據路由發送到虛擬網卡,被客戶端軟件封裝後通過SSL連接發送到SSL VPN網關。
(3) SSL VPN網關接收到數據後,將其還原成IP報文,發往對應的服務器。
(4) SSL VPN網關接收到服務器的回應報文後,將報文封裝後通過SSL連接發送到遠程主機的IP接入客戶端軟件。
(5) 客戶端軟件解封裝後通過虛擬網卡將IP報文交給遠程主機處理。
圖8 IP接入方式工作流程
遠程主機上運行的客戶端軟件包括:
l 支持SSL的Web瀏覽器:目前大多數操作係統都提供了瀏覽器,並支持SSL協議。利用操作係統自帶的瀏覽器,就可以實現Web接入方式。
l 主機檢查器:用來對遠程主機的安全狀態進行評估。用戶登錄時,遠程主機會自動下載並安裝主機檢查器。
l 緩存清除器:用來在用戶退出SSL VPN係統時,清除SSL VPN通信過程中使用的臨時文件、配置文件和下載的客戶端程序,以避免係統的私密信息被泄漏。用戶登錄後,遠程主機自動下載並安裝緩存清除器。
l TCP接入客戶端:TCP接入方式中用到的客戶端軟件。
l IP接入客戶端:IP接入方式中用到的客戶端軟件。
除Web瀏覽器是遠程主機自帶的以外,其它的客戶端軟件都是從SSL VPN網關下載的。這些客戶端軟件支持自動下載、自動安裝、自動配置、自動建立連接,使用非常方便。
SSL VPN支持四種認證方式:
l 本地認證:由管理員在SSL VPN網關上創建本地用戶,通過將用戶輸入的用戶名和密碼與本地保存的用戶名和密碼比較,來驗證用戶的身份是否合法。
l RADIUS認證:用戶信息保存在RADIUS服務器上,SSL VPN網關作為RADIUS客戶端,通過與RADIUS服務器交互認證消息,來驗證用戶的身份是否合法。
l LDAP認證:用戶信息保存在LDAP服務器上,SSL VPN網關作為LDAP客戶端查詢LDAP服務器上的用戶信息,來驗證用戶的身份是否合法。
l AD認證:LDAP認證方式的一種,Microsoft實現的LDAP稱為AD。
用戶通過瀏覽器連接到SSL VPN網關後進入登錄頁麵,輸入用戶名、密碼和認證方式,這些信息通過SSL連接傳輸到SSL VPN網關,保證了數據傳輸的安全性。SSL VPN網關收到登錄信息後,根據認證方式進行認證。
SSL VPN網關提供的認證方式簡單通用,擴展性很強。
不安全遠程主機的接入有可能對內部網絡造成安全隱患。通過主機檢查器可以在用戶登錄SSL VPN時,檢查主機的操作係統版本及其補丁、瀏覽器版本及其補丁、防火牆版本、殺毒軟件版本等,根據檢查的結果來判斷該用戶主機能夠訪問哪些資源。
在SSL VPN網關上可以設置安全策略,通過安全策略製定對遠程主機進行安全檢查的方法,明確需要檢查的項目,並通過為安全策略指定保護資源,保證隻有滿足安全策略的遠程主機才能訪問相應的資源。
SSL VPN的資源訪問控製機製可以方便靈活地控製用戶訪問權限,實現細粒度的資源訪問權限控製。
超級管理員創建若幹個域,並指定域管理員的密碼;域管理員配置本域的資源和用戶,將資源加入到資源組,將用戶加入到用戶組,然後為每個用戶組指定可以訪問的資源組,從而實現對用戶訪問權限的控製。
SSL VPN網關還可以對遠程主機進行安全檢查,根據檢查的結果來判斷該客戶端能夠訪問哪些資源。
SSL VPN網關根據安全檢查結果及用戶所在的群組找到其可以訪問的資源組,進而找到可以訪問的資源列表,從而實現對資源訪問的控製。
如圖9所示,SSL VPN在遠程接入方麵具有很多優勢,適用於多種複雜的網絡環境。與IPsec VPN相比,SSL VPN尤其適合應用於如下場景:
l 動態的遠程接入:用戶使用各種終端設備,在任何時間、任何地點通過Internet接入公司內部網絡。
l 無法保證遠程主機的安全性:用戶使用網吧、旅館提供的公用計算機遠程訪問公司內部網絡。公用計算機容易受到攻擊、感染病毒,安全性無法得到保證。
l 不同的遠程接入用戶具有不同的訪問權限:在使用Extranet時,遠程接入用戶可能是公司的員工、合作夥伴或其他人員,不同用戶可以訪問的資源各不相同。
l 遠程終端的運行環境多種多樣:遠程終端可能安裝不同的操作係統,使用不用的應用程序訪問公司內部網絡。
圖10 SSL VPN網關作為企業網絡的入口
如圖10所示,SSL VPN網關可以與防火牆配合使用,作為企業網絡的入口,保護所有的企業內部網絡資源不受攻擊。
圖11 SSL VPN網關保護企業網內的重要服務器
如圖11所示,SSL VPN網關還可以用來保護企業內部重要的服務器資源,在確保重要服務器資源不受攻擊的同時,對企業網絡中其它部分不會造成任何影響。
多個企業可以共用一個SSL VPN網關,每個企業使用一個域,在管理和使用上互不影響,從而為企業節省成本。如圖12所示,企業A、企業B、企業C共用SSL VPN網關,分別在SSL VPN網關上創建域A、域B和域C。企業A在域A內管理自己的用戶和服務器資源,並設置自己的安全策略等,保證企業A的用戶隻能訪問企業A的資源,與企業B和企業C隔離。
根據SSL VPN網關接入網絡方式的不同,SSL VPN組網模式分為單臂模式和雙臂模式。
雙臂模式中,SSL VPN網關位於內網(或內網服務器)與外網通信的路徑上,如圖9、圖10和圖11所示。雙臂模式可以提供對內網的完全保護,但是由於SSL VPN網關處在內網與外網通訊的關鍵路徑上,其性能和穩定性對內外網之間的數據傳輸有很大的影響。
如圖13所示,單臂模式中,SSL VPN網關相當於一台代理服務器,代理遠程的請求,與內部服務器進行通信。此時SSL VPN網關不處在網絡通信的關鍵路徑上,其性能不會影響內外網的通信。但是這種組網使得SSL VPN網關不能全麵地保護企業內部的網絡資源。
Copyright ©2009 杭州華三通信技術有限公司 版權所有,保留一切權利。
非經本公司書麵許可,任何單位和個人不得擅自摘抄、複製本文檔內容的部分或全部,並不得以任何形式傳播。
本文檔中的信息可能變動,恕不另行通知。