◆左珍勇
(中國航空無線電電子研究所 上海 200000)
基于RSA SecureID雙因素身份認證的SSL VPN訪問控制方案的設計與實現
◆左珍勇
(中國航空無線電電子研究所 上海 200000)
針對目前企業遠程辦公存在的安全性問題,本文提出并設計了一種基于RSA 雙因素身份認證的SSL VPN遠程訪問控制方案。該方案將RSA與VPN網關進行聯動,通過RSA的radius服務器對VPN用戶進行身份認證與策略匹配,根據用戶匹配的策略進行IP地址的指定,并結合VPN網關后端的防火墻最終實現遠程辦公用戶對企業內部資源的訪問控制。最后以cisco annyconnect 客戶端VPN軟件為例驗證了本文方案的有效性。
遠程辦公;動態口令;SSLVPN;Radius服務器;訪問控制
隨著互聯網技術的飛速發展,越來越多的企業員工與合作伙伴提出了遠程辦公和協同辦公的需求,進而能夠隨時隨地的接入企業內部網絡,訪問內部資源。為了對接入后的用戶進行身份驗證、對接入后資源的受控訪問以及解決遠端主機接入后的安全性問題,VPN(虛擬專用網絡:virtual private network)技術應運而生。作為目前大多數企業主流的遠程辦公手段,VPN技術可以有效地對接入企業內部網絡的用戶進行身份驗證,通過隧道加密技術實現了數據在公網的安全傳輸,規避了企業內部網絡遭受攻擊、內部資源遭受竊取的風險,為企業提供了一種安全有效的數據保護機制。
目前主流的VPN技術包括IPSec(互聯網協議安全:Internet Protocol Security)VPN和SSL(安全套接層:Security Socket Layer)VPN。IPSec VPN能夠對遠程接入企業內部網絡的用戶提供較好的安全認證和授權服務,對網絡層的數據傳輸進行加密,透明部署在網絡環境中,具有較高的易用性和靈活性。SSL VPN工作在應用層,為企業提供安全的遠程訪問服務和數據加密傳輸,無需安裝客戶端軟件,在企業網絡環境中部署靈活,能夠對企業內部的資源進行細粒度的訪問控制。
目前對于IPSsec VPN和SSL VPN在用戶接入時多采用傳統的用戶名加靜態口令的方式進行身份認證,由于企業在日常的信息安全管理中多使用靜態口令進行認證,需要用戶記憶和管理的口令數量多、分散性強,許多口令都是“終身”使用,不能及時更換,同時在開放的網絡環境中存在大量破解靜態口令的工具(暴力破解、口令字典、協議分析工具等)。種種因素增加了包括VPN用戶在內的企業用戶與合作伙伴在通過靜態口令接入企業內部網絡環境下用戶名和口令被截獲與破解的風險,從而給企業內部網絡環境造成了巨大的網絡安全隱患。
本文針對遠程辦公用戶在通過VPN接入時使用靜態口令方式進行認證存在的安全風險,提出并設計了一種基于RSA SecureID雙因素動態口令認證的SSL VPN遠程訪問控制方案。該方案將RSA與VPN網關進行聯動,通過RSA的Radius服務器與企業域控進行VPN賬號同步,并對VPN用戶進行身份認證與策略匹配,VPN網關根據用戶匹配到的策略對對應的終端進行IP地址的分配,并結合VPN網關后端的防火墻進行訪問控制規則的配置,最終實現遠程辦公用戶對企業內部資源的訪問控制。
1.1 SSL協議的結構
SSL VPN是基于SSL協議工作的虛擬專用網絡,該協議是由網景通信公司提出,共分為上下兩層:下層為記錄協議,上層協議由握手協議、警報協議以及更改密碼規格協議組成,圖1為SSL協議結構圖。

圖1 SSL協議結構圖
SSL記錄協議包括首部和數據部分,首部包含內容類型、協議版本號以及數據長度字段,協議數據部分主要是數據的處理過程,包括數據分組、消息驗證碼添加、數據壓縮與加密。SSL握手協議用于連接Client與Server之間算法加密與版本協商、身份認證以及密鑰會話產生。SSL更改密碼規格協議用于SSL會話重用中和 SSL 握手完成時使用,發送該消息表示接下來的數據會使用當前會話中加密套件或者當前SSL握手協商好的加密套件進行加密。SSL警報協議用于包裝并傳遞告警信息。
1.2 SSL VPN的原理
SSL VPN是以HTTPS協議為基礎,使用SSL協議提供的基于證書的身份認證、數據加密和消息完整性驗證機制等功能構建的VPN,它為企業員工遠程訪問公司內部網絡資源提供安全接入保障。通常情況下,企業級的SSL VPN 服務器一般部署在防火墻之后,通過在防火墻上開通相應端口(通常為443端口)為企業員工提供VPN遠程接入服務。用戶在漫游情況下訪問公司內部資源時,需通過企業內部防火墻開通的對應SSL VPN端口連接VPN服務器,通過身份驗證后VPN服務器將允許訪問的內網資源返回給漫游用戶,用戶訪問內網服務器資源的需求通過加密隧道傳遞給SSL VPN服務器并由其與內網服務器之間進行交互,交互的結果再由SSL VPN服務器通過加密隧道返回給用戶,完成用戶通過VPN訪問公司內部網絡資源。在整個訪問過程中,SSL VPN起到了連接漫游用戶客戶端和企業內部服務器之間的橋接作用。
1.3 SSL VPN的接入方式和實現機制
SSL VPN有兩種接入方式:無客戶端方式和瘦客戶端方式。
無客戶端是指通過IE瀏覽器實現內容重寫和應用翻譯。實現機制有四個方面:(1)通過動態翻譯WEB內容中內嵌的URL連接,使之指向SSL VPN網關虛擬門戶;(2)重寫內嵌在HTML頁面中Javascript、Cookie的URL連接;(3)重寫Web Server的回應,使之符合internet標準格式;(4)擴展到一些非Web應用,如文件共享訪問。無客戶端方式支持的應用類型可以是web方式也可以是文件共享。通過Web方式可以訪問企業的WEB應用、Web資源如Outlook Web Access等。文件共享是指可以通過瀏覽器訪問內部文件系統,瀏覽目錄、下載和上傳文件UNIX(NFS)文件、Windows(SMB/CIFS)文件等。
瘦客戶端方式是指客戶端作為代理實現端口轉發,但是SSL VPN 客戶端是自動下載的,所以對客戶來講是透明的。瘦客戶端支持的應用類型是所有基于固定端口的TCP應用,如Exchange/Lotus Notes、Email(POP/IMAP/SMTP)、Telnet等。
在網絡信息安全的五個功能中(身份認證、授權、保密性、完整性和不可否認),身份認證(Authentication)是最基本、最重要的環節,即使將授權、保密性、完整性、不可否認等環節做得很完善,但如果盜用了合法的帳號和口令登錄系統,系統仍然認為他是合法用戶,通過給予他相應的訪問權限即可訪問相關系統,進而使系統處于危險狀態。
2.1 RSA SecureID雙因素認證系統的構成
RSA SecureID 雙因素認證系統作為近幾年興起的技術,已逐漸成為身份認證領域的標準。雙因素身份認證正是解決靜態密碼不安全的問題,它可以確保用戶身份的合法性及唯一性。何為雙因素:雙因素=你知道的+你持有的。你知道的=PIN碼(一段靜態密碼),你持有的=動態令牌(每1分鐘變化1次的密碼)。圖2為雙因素動態口令的構成,完整的雙因素口令(首次使用令牌的時候設定)是PIN碼和動態令牌碼組合到一起構成的。

圖2 雙因素動態口令構成示意圖
2.2 雙因素身份認證的原理
圖3為基于時間同步專利技術的雙因素身份認證原理圖,通過比對令牌和認證服務器各自單獨運算的結果是否相符確認用戶身份。

圖3 基于時間同步專利技術的雙因素身份認證原理圖
2.3 RSA SecureID雙因素身份認證的過程
圖4為RSA SecureID雙因素身份認證的過程,用戶首先提交申請給RSA代理,并由其發送認證請求給認證服務器,其次認證服務器處理認證請求并反饋給RSA代理,最后由RSA代理將認證結果返回給用戶,告知其允許訪問的應用。

圖4 RSA SecureID雙因素身份認證過程圖
3.1 方案設計
本文提出并設計的基于RSA雙因素身份認證的SSL VPN遠程訪問控制方案主要包括用戶身份驗證模塊設計、用戶權限匹配模塊設計以及訪問控制設計。
用戶身份驗證模塊采用Radius服務器對用戶身份進行驗證,RSA雙因素身份認證系統承擔Radius服務器的角色,負責設計Radius Profile、Radius clients以及與微軟域控的同步,漫游用戶VPN登錄的賬號為企業內部微軟域控的賬號,RSA的Radius服務器通過與微軟的域控進行聯動,實時同步域控賬號作為VPN的登錄賬號。漫游用戶登錄VPN時采用靜態加動態口令的形式輸入到Radius服務器進行身份驗證,通過后即可匹配到相應策略授權。用戶權限匹配模塊設計由VPN網關完成。VPN網關在設計漫游用戶匹配權限時主要包括Wins服務器、DNS服務器、WEB VPN協議、組鎖定、隧道分離、地址池、認證類型以及組別名等設計工作。訪問控制的設計由防火墻完成。
圖5是基于RSA SecureID雙因素身份認證的SSL VPN訪問控制方案的設計原理框圖,在該圖中,RSA雙因素身份認證系統負責對用戶的身份進行驗證;SSL VPN網關負責根據用戶的profile匹配對應的策略,進而進行ip地址的分配;防火墻通過訪問控制規則對用戶訪問企業內網資源的行為進行放行或阻斷。

圖5 基于RSA SecureID雙因素身份認證的SSL VPN訪問控制方案的設計原理框圖
3.2 方案實現
根據3.1節方案設計中提到的幾個模塊,本章節將針對性地提出各個模塊的具體實現方式,其中用戶身份驗證模塊和訪問控制模塊目前技術實現已比較成熟,本章節將僅作簡單描述,對用戶權限匹配模塊的實現將進行詳細介紹。方案實現的具體效果示意圖如圖6所示。

圖6 基于RSA雙因素身份認證系統的SSL VPN訪問控制方案的實現效果示意圖
(1)用戶身份驗證模塊的實現
用戶身份驗證通過Radius服務器實現,Radius服務器的架設在RSA雙因素身份認證系統內進行配置,該系統提供了統一的web管理界面:RSA Security Console,通過該管理界面我們可以完成漫游VPN用戶與動態令牌的綁定、用戶Radius Profile的創建、Radius server的創建以及與微軟域控的集成。
(2)用戶權限匹配模塊的實現
用戶權限匹配模塊的設計由VPN網關實現。本文選取了思科某主流型號的VPN網關產品,通過以下配置實現漫游用戶通過SSL VPN撥入后的權限匹配。
①創建IP地址池
ip local pool imo_pool 10.4.21.100-10.4.21.200 mask 255.255.255.0
②創建用戶組策略,其中包括設定用戶組策略的名稱、屬性(WINS、DNS、組鎖定等信息)
group-policy imo_vpn_policy internal #創建用戶組策略名稱
group-policy imo_vpn_policy attributes #定義用戶組策略屬性
wins-server value 192.168.200.101 #定義wins服務器
dns-server value 192.168.201.101 202.96.209.5 #定義dns服務器
vpn-tunnel-protocol svc webvpn #定義vpn隧道協議為ssl vpn
group-lock value imo_vpn #對用戶組進行鎖定,只有在該組內的用戶才能匹配該策略
③定義感興趣流
split-tunnel-policy tunnelspecified #對感興趣流的屬性進行定義
split-tunnel-network-list value imo_splitTunnelAcl #選擇隧道分離的方法為指定的唯一網絡
webvpn
svc ask enable
④設置用戶組的屬性
tunnel-group imo_vpn type remote-access #定義imo_vpn組的隧道組類型為遠程接入
tunnel-group imo_vpn general-attributes #定義imo_vpn隧道組屬性
address-pool imo_pool #定義隧道組分配的IP地址池authentication-server-group rsa #定義隧道組驗證方式通過rsa
default-group-policy imo_vpn_policy #定義隧道組應用的用戶組策略
tunnel-group imo_vpn webvpn-attributes #定義隧道組webvpn屬性
group-alias IMO_VPN enable #定義隧道組的別名
(3)訪問控制模塊的實現
訪問控制功能由防火墻實現。漫游用戶VPN接入成功后就可根據匹配的策略獲取對應的IP地址,防火墻根據IP地址創建相應的訪問控制規則,實現對用戶訪問企業內網資源的權限控制。
本節以主流的cisco VPN網關為例,通過幾幅圖對漫游VPN用戶接入的過程進行簡要描述。首先漫游用戶在撥入企業VPN的時候需要在客戶端安裝一個客戶端軟件(本文以Cisco anyconnect客戶端軟件為例),通過運行該客戶端后使用企業發布的公網VPN地址(vpn.contoso.com)建立VPN連接通道。圖7為Cisco anyconnect vpn客戶端。

圖7 Cisco anyconnect vpn客戶端

圖8 客戶端組選擇以及用戶身份驗證界面
vpn隧道在建立的過程中,需進行用戶組選擇以及身份驗證,該階段的用戶需要選擇對應的組,從而獲取對應的策略,如果沒有正確選擇,將無法通過身份驗證。圖8為客戶端組選擇以及用戶身份驗證界面。在身份驗證階段,用戶名為微軟域控的用戶賬戶,密碼是4-8位的靜態密碼加RSA對應的6位動態密碼。組選擇以及用戶身份驗證通過后,vpn隧道將會建立起虛擬連接,在該階段內,vpn客戶端將會向vpn網關請求網絡地址,一般企業的vpn客戶端地址分配通常采用DHCP方式進行,不同的組將會獲取到不同的ip地址,以致最終決定該ip地址能夠訪問的企業內部資源。圖9為vpn隧道建立完成指示以及完成后客戶端分配到的IP地址。

圖9 vpn連接建立與客戶端ip地址分配
本文對目前企業在遠程接入辦公存在的信息安全問題進行了分析,有針對性地提出并設計了一種基于RSA 雙因素身份認證的SSL VPN遠程訪問控制方案,并結合企業實際使用場景,進行了計算機仿真與驗證。通過部分的仿真結果闡述了本方案在目前企業中對于vpn用戶訪問內網資源控制的有效性和重要性。通過本方案可以對接入企業內網的vpn用戶進行有效的身份鑒別和資源訪問控制,在網絡安全層面為企業信息化資源訪問控制提供一道安全防護屏障,對于企業在實施信息化建設以及運維過程中對數據安全防護具有非常重要的意義。
[1]Younglove R.Virtual private networks how they work[J].Computing&Control Engineering Journal,2005.
[2]Castelluccia C,Mykletun E,Tsudik G.Improving Secure Server Performance by Re-balancing SSL/TLS Handshakes[J].Proceedings of the 2006 ACM Symposium On Information,Computer and Communications Security.New York,NY,USA:ACM Press,2006.
[3]Huaqing Mao.A comparative research on ssl vpn and ipsec vpn[C].Wireless Communications,Network and Mobile Computing(WICOM),2012 8th international Conference on.2012.
[4]馮光輝.結合動態口令的VPN設計與實現[D].山東大學,2008.
[5]張銘.SSL VPN技術在濟鋼業務遠程訪問中的應用[D].山東大學,2010.