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

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

圖2 雙因素動(dòng)態(tài)口令構(gòu)成示意圖
2.2 雙因素身份認(rèn)證的原理
圖3為基于時(shí)間同步專利技術(shù)的雙因素身份認(rèn)證原理圖,通過(guò)比對(duì)令牌和認(rèn)證服務(wù)器各自單獨(dú)運(yùn)算的結(jié)果是否相符確認(rèn)用戶身份。

圖3 基于時(shí)間同步專利技術(shù)的雙因素身份認(rèn)證原理圖
2.3 RSA SecureID雙因素身份認(rèn)證的過(guò)程
圖4為RSA SecureID雙因素身份認(rèn)證的過(guò)程,用戶首先提交申請(qǐng)給RSA代理,并由其發(fā)送認(rèn)證請(qǐng)求給認(rèn)證服務(wù)器,其次認(rèn)證服務(wù)器處理認(rèn)證請(qǐng)求并反饋給RSA代理,最后由RSA代理將認(rèn)證結(jié)果返回給用戶,告知其允許訪問(wèn)的應(yīng)用。

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

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

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

圖7 Cisco anyconnect vpn客戶端

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

圖9 vpn連接建立與客戶端ip地址分配
本文對(duì)目前企業(yè)在遠(yuǎn)程接入辦公存在的信息安全問(wèn)題進(jìn)行了分析,有針對(duì)性地提出并設(shè)計(jì)了一種基于RSA 雙因素身份認(rèn)證的SSL VPN遠(yuǎn)程訪問(wèn)控制方案,并結(jié)合企業(yè)實(shí)際使用場(chǎng)景,進(jìn)行了計(jì)算機(jī)仿真與驗(yàn)證。通過(guò)部分的仿真結(jié)果闡述了本方案在目前企業(yè)中對(duì)于vpn用戶訪問(wèn)內(nèi)網(wǎng)資源控制的有效性和重要性。通過(guò)本方案可以對(duì)接入企業(yè)內(nèi)網(wǎng)的vpn用戶進(jìn)行有效的身份鑒別和資源訪問(wèn)控制,在網(wǎng)絡(luò)安全層面為企業(yè)信息化資源訪問(wèn)控制提供一道安全防護(hù)屏障,對(duì)于企業(yè)在實(shí)施信息化建設(shè)以及運(yùn)維過(guò)程中對(duì)數(shù)據(jù)安全防護(hù)具有非常重要的意義。
[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]馮光輝.結(jié)合動(dòng)態(tài)口令的VPN設(shè)計(jì)與實(shí)現(xiàn)[D].山東大學(xué),2008.
[5]張銘.SSL VPN技術(shù)在濟(jì)鋼業(yè)務(wù)遠(yuǎn)程訪問(wèn)中的應(yīng)用[D].山東大學(xué),2010.