黃 輝, 張純容
(1. 溫州大學, 浙江 溫州 325035; 2. 成都航空職業技術學院, 四川 成都 610100)
?
基于ASA防火墻實現的SSL-VPN實驗仿真
黃 輝1, 張純容2
(1. 溫州大學, 浙江 溫州 325035; 2. 成都航空職業技術學院, 四川 成都 610100)

SSL-VPN是當前使用非常廣泛的VPN技術,也是應用型網絡工程人才必須掌握的技術。SSL-VPN通常基于防火墻實現。然而許多高校由于受到沒有硬件防火墻等條件限制,不能開設該實驗內容。本文根據工程中SSL-VPN的典型應用設計了SSL-VPN實驗方案,并基于GNS3與VMware版ASA模擬器實現了無客戶端SSL-VPN實驗仿真,可以有效的培養學生SSL-VPN部署實施專業技能。
SSL-VPN; 無客戶端SSL-VPN; VMware版ASA模擬器
SSL虛擬專用網(Security Socket Layer Virtual Private Network,SSL-VPN)是一種用戶通過WEB瀏覽器或專用客戶端實現安全訪問企業內部資源的遠程訪問技術[1]。SSL協議是位于TCP之上的協議,具有數字證書身份驗證,數據加密等安全手段[2-3]。相對于其它VPN技術而言,SSL-VPN由于以下特點更適合于遠程移動用戶安全連接到企業內網中:
(1) 用戶使用簡單。SSL-VPN支持無客戶端方式,用戶不需要專用的客戶端軟件,只需要通過瀏覽器就可以訪問內網資源;
(2) 提供更細的訪問控制。用戶可以同時接入Internet和訪問內網資源,并且可以根據用戶的不同身份授予不同的權限,用戶只能訪問授權的內部資源;
(3) SSL協議建于傳輸層協議TCP之上可以穿越NAT和防火墻設備[4]。
本文結合工程中SSL-VPN的典型應用方案設計了遠程移動用戶使用SSL-VPN訪問企業內網資源的實驗方案,并基于GNS3與VMware版ASA模擬器實現無客戶端SSL-VPN實驗仿真,驗證了方案的可行性。
路由器、防火墻平臺都可以支持SSL-VPN,但通常采用防火墻做SSL-VPN網關,其部署部署實施方案主要有以下幾種。
1.1 SSL-VPN部署在網絡出口防火墻
當前絕大部分防火墻都集成有SSL-VPN功能,因此可以把SSL-VPN直接部署在網絡出口防火墻上[5],防火墻只需要開放外網到防火墻外網口的HTTPS服務端口(即443口)。其網絡拓撲如圖1所示。
該部署方案不需要網絡增加額外的VPN設備,網絡管理簡單,是目前使用非常廣泛 的一種方案。然而由于防火墻自身的HTTPS服務端口直接被外網主機訪問,因此增大了防火墻被攻擊的概率。

圖1 SSL-VPN部署在網絡出口防火墻
1.2 SSL-VPN部署在內部網絡中
該部署方案需要在內部網絡中增加一臺SSL-VPN設備,SSL-VPN設備位于網絡出口防火墻之后。其網絡拓撲如圖2所示。
該方案在實施時需要在網絡出口防火墻上需要開放HTTPS服務端口。由于出口防火墻不能識別SSL-VPN安全隧道里的加密數據流是否是惡意流量,為了保證安全,SSL-VPN設備通常還需承擔一部分防火墻的功能。該方案最大的缺點是如果SSL VPN網關被攻破后,內網用戶將受到極大的安全威脅。

圖2 SSL-VPN部署在內部網絡中
1.3 SSL-VPN部署在DMZ區域中
該部署方案需要在非軍事化區域(Demilitarized Zone,DMZ)中增加一臺SSL-VPN設備[6]。其網絡拓撲如圖3所示。
該方案在實施時也需要在網絡出口防火墻上開放HTTPS服務端口。由于SSL-VPN網關放置在DMZ區域,因此即使SSL-VPN網關被攻破,也可以避免整個內部網絡癱瘓[7]。

圖3 SSL-VPN部署在DMZ區域中
為了模擬實際工程SSL-VPN的部署,本文設計了如圖4所示的實驗環境。網絡部署要求為:
(1) 企業網絡只申請到一個公有地址,該地址分配給防火墻的外網口,內網所有主機使用私有地址,并采用PAT實現內部網絡與Internet之間的訪問。
(2) 內網可以訪問Internet與DMZ區域服務,企業外網訪問DMZ區域公共服務器提供的相應服務,其余的訪問流量均不允許。
(3) 在防火墻“ASA”上部署SSL-VPN,使得企業移動用戶可以通過Internet訪問內部服務器。使用SSL-VPN,用戶“user01”可以訪問內部網站“Web1”,用戶“admin01”可以訪問內部網站 “Web1”、“Web2”以及FTP站點“FTP”。

圖4 SSL-VPN實驗拓撲
基于GNS3與VMware版ASA模擬器構建的SSL-VPN實驗拓撲如圖5所示。為構建該環境 ,需要使用仿真軟件 “VMware workstation”[8]、“GNS3”[9]、“VMware版ASA模擬器”、“虛擬通道軟件(Named Pipe TCP Proxy,NPTP)”、內部測試服務器的操作系統鏡像文件、測試主機的操作系統鏡像文件以及GNS3中路由器所需IOS文件[10]。本文使用的VMware版ASA模擬器的操作系統為8.4(2)。
仿真實驗環境中各連接端口及其參數規劃如表1所示。

圖5 GNS3中模擬實驗環境
3.1 VMware Workstation的配置
根據表1的規劃, 首先在VMware中添加5張虛擬網卡,并分別命名為“VMnet1”、“VMnet2”、 “VMnet3”、“VMnet4”與“VMnet5”,每張虛擬網卡類型均為“僅主機模式”。
然后,在VMware中建立3臺虛擬機:一臺是ASA模擬器,并為ASA防火墻虛擬機定義三個網絡適配器,網絡適配器1定義到虛擬網卡“VMnet1”上,網絡適配器2定義到虛擬網卡“VMnet2上”,網絡適配器3定義到虛擬網卡“VMnet3”上;一臺用來模擬主機“HOSTA”, 網絡適配器定義到虛擬網卡“VMnet5”;一臺模擬內部三個服務器,網絡適配器定義到虛擬網卡“VMnet4”上,其操作系統平臺為Windows server或linux等網絡操作系統,并在該虛擬機上采用基于IP地址的虛擬主機方式構建出兩個WEB站點與一個FTP站點。
3.2 GNS3中模擬環境的搭建
首先,在GNS3中拖入如圖5所示拓撲所需的設備圖標。為圖中的云設備(充當ASA)順序添加虛擬網卡“VMnet1” “VMnet2”與“VMnet3”;為主機“WEB1/WEB2/FTP”添加虛擬網卡“VMnet4”;為主機“HOSTA” 添加虛擬網卡“VMnet5”。
然后,選擇合適的線纜根據圖5所示的連接端口將設備連接起來。在連接防火墻“ASA1”時,防火墻“ASA1”的第1張虛擬網卡對應G0端口,第2張虛擬網卡對應G1端口,第3張虛擬網卡對應G3端口。
首先,根據實驗部署要求完成路由器“ISP”接口、防火墻接口、防火墻默認路由、防火墻規則以及NAT的配置。
接著,在防火墻上完成無客戶端SSL-VPN的配置,其關鍵步驟包括:① 放行外網到防火墻外網口的HTTPS服務流量;② 在防火墻外網口上啟用SSL-VPN;③ 配置書簽(bookmark),創建用于 WebVPN 訪問的服務器或URL 的列表;④ 配置組策略;⑤ 創建SSL-VPN用戶;⑥ 定義隧道組。
上述配置步驟中書簽的配置只支持在圖形界面ASDM(Cisco Adaptive Security Device Manager)中配置,不支持命令行配置,而其它配置步驟既可以使用ASDM也可以使用命令行完成。
(1) 放行到ASA1外網口的HTTPS流量。
ASA1(config)#access-list sslvpn extended permit tcp any host 202.33.4.2 eq 443
ASA1(config)#access-group sslvpn in interface outside
(2) 在ASA1外網口上啟用。
SSL-VPN
ASA1(config)#webvpn
ASA1(config)#enable outside
(3) 配置組策略。
ASA1(config)#group-policy clientless-vpn-admin internal
ASA1(config)#group-policy clientless-vpn-admin attributes
ASA1(config-group-policy)#vpn-tunnel-protocol ssl-clientless
ASA1(config-group-policy)#webvpn
ASA1(config-group-webvpn)#url-list value admin-inside-server
ASA1(config)#group-policy clientless-vpn-user internal
ASA1(config)#group-policy clientless-vpn-user attributes
ASA1(config-group-policy)#vpn-tunnel-protocol ssl-clientless
ASA1(config-group-policy)#webvpn
ASA1(config-group-webvpn)#url-list value user-inside-server
(4) 創建SSL-VPN用戶。
ASA1(config-if)#username admin01 password Chengdu
ASA1(config-if)#username admin01 atrributes
ASA1(config-username)#vpn-group-policy clientless-vpn-admin
ASA1(config)#username user01 password chengdu
ASA1(config-if)#username user01 atrributes
ASA1(config-username)#vpn-group-policy clientless-vpn-user
(5) 定義隧道組。
ASA1(config)#tunnel-group ssl-vpn-admin type remote-access
ASA1(config)# tunnel-group ssl-vpn-admin general-attributes
ASA1(config-tunnel-general)#default-group-policy clientless-vpn-admin
ASA1(config)#tunnel-group ssl-vpn-user type remote-access
ASA1(config)#tunnel-group ssl-vpn-user general-attributes
ASA1(config-tunnel-general)#default-group-policy clientless-vpn-user
完成了無客戶端SSL-VPN的配置后,在主機HOSTA的瀏覽器中輸入“https:// 202.33.4.2”,顯示登錄界面。
分別使用用戶 “user01”與“admin01”進行登錄測試,由于對兩個用戶指定了不同的安全策略,用戶登錄后可訪問的內部資源也就不同。用戶“user01”登錄后可訪問的內部資源列表用戶“admin01”登錄后可訪問的內部資源列表。
SSL-VPN是當前主流的VPN技術之一,部署SSL-VPN是應用型網絡人才必備技能。學生的SSL-VPN的部署實施能力必須通過相應實驗來培養,但該實驗環境需要的設備多,需要路由器、防火墻、交換機以及多臺主機,并且網絡設備價格昂貴、操作系統版本更新快,因此許多高校并沒有足夠的真實設備來搭建該實驗環境。
隨著仿真技術的不斷發展,虛擬出來的設備已基本能實現真實設備功能,本文使用仿真軟件GNS3與VMware版ASA模擬器等構建網絡環境可以有效完成SSL-VPN仿真實驗及測試,為教學提供了極大的方便[11-15]。
[1] Jazib Frahim,Qiang Huang. SSL與遠程接入VPN[M]. 王 喆、羅進文、白 帆,譯.北京:人民郵件出版社,2009:7.
[2] 葛蘇慧,王 敏.SSL VPN技術在校園網中的應用[J].廣西大學學報(自然科學版),2011,36(1):155-159.
[3] 周敬和,曾海鵬. SSL VPN服務器關鍵技術研究[J]. 計算機工程與科學,2005,27(6): 7.
[4] 何亞輝. 基于SSL協議的VPN技術研究及在校園網中的應用[J]. 重慶理工大學學報,2011,25(2):88-89.
[5] 馬淑文.SSL VPN技術在校園網中的應用與研究 [J] . 計算機工程與設計,2007,28(21):5137.
[6] 別 牧,趙 毅,袁 柱. SSL VPN及其基于校園網絡的應用[J].重慶工學院,2006 (20):112.
[7] 羅 俊.SSL VPN的幾種典型部署場景分析[J].信息安全與通信保密,2008(10):33-34.
[8] 陳建銳,何增穎.基于虛擬機的VPN實驗環境構建[J].實驗室研究與探索,2010,29(1) : 59.
[9] 顧春峰,李偉斌,蘭秀風. 基于VMware、GNS3實現虛擬網絡實驗室[J] .實驗室研究與探索,2012,31(1): 73.
[10] 劉東霖. SSL VPN技術研究及仿真分析[J] .現代電子技術,2013,36(13): p103.
[11] 舒云星,鄭衛東.基于Vmware的虛擬計算機實驗系統[J].實驗室研究與探索,2006,25(9) : 1086-1088..
[12] 王麗娜,劉 炎,何 軍.基于IPSec和GRE的VPN實驗仿真[J] .實驗室研究與探索,2013,32(9): 70.
[13] 吳志周,儲 浩,嚴作人.基于VPN的網上仿真實驗平臺的研究與實踐[J] .實驗室研究與探索,2007,26(1): 62-64.
[14] 莊小妹.VPN實驗教學的設計與實現[J] .安徽電子信息職業技術學院學報,2014,13(6):22-23.
[15] 王麗娜,劉 炎.BGP/MPLS VPN中CE接入Internet仿真[J] .實驗室研究與探索,2014,33(3): 78.
Simulation of the SSL-VPN Experiment Based on ASA Firewall
HUANGHui1,ZHANGChun-rong2
(1. Wenzhou University, Wenzhou 325035, China; 2. Chengdu Aeronautic Polytechnic, Chengdu 610100, China)
SSL-VPN is a widely used VPN technology,it is also the technology that professional expertise of network engineers must master. SSL-VPN is usually based on firewall. However, many colleges and universities can’t complete the experiment content due to restriction that there is no hardware firewall. The authors designed SSL-VPN experiment scheme according to the typical application in the project of SSL-VPN, and based on the GNS3 and ASA simulator we realized non client SSL-VPN simulation. The scheme was effectively implemented in training the students' skills of SSL-VPN deployment.
SSL-VPN; clientless SSL-VPN; ASA simulator
2015-07-13
浙江省2013年高等教育教學改革項目(jg2013156)和成都航空職業技術學院教育教學科研項目(061458J)
黃 輝(1982-),男,浙江衢縣人,碩士,實驗師,研究方向為計算機網絡。Tel.:15858701750; E-mail:89988485@qq.com
張純容(1973-),女,四川巴中人,碩士,副教授,研究方向為計算機網絡。
Tel.:18190897887; E-mail:289302109@qq.com。
TP 393.08; G 642.0
A
1006-7167(2015)11-0111-03