06-SSL VPN配置
本章節下載: 06-SSL VPN配置 (1.58 MB)
SSL VPN以SSL(Secure Sockets Layer,安全套接字層)為基礎提供遠程的安全連接服務。用戶可通過互聯網,使用內嵌SSL協議的瀏覽器與遠端的Web服務器建立安全的連接,訪問內部資源。企業或機構可通過SSL VPN來為移動用戶或者外部客戶提供訪問內部資源的服務並保證安全性。
SSL VPN服務通過SSL VPN網關來提供。SSL VPN網關位於遠端接入用戶和企業內部網絡之間,負責在二者之間轉發報文。管理員需要在SSL VPN網關上創建與企業網內服務器對應的資源。
SSL VPN網關與遠端接入用戶建立SSL連接,並對接入用戶進行身份認證。遠端接入用戶的訪問請求隻有通過SSL VPN網關的安全檢查和認證後,才會被SSL VPN網關轉發到企業網絡內部,從而實現對企業內部資源的保護。
如圖1-1所示,SSL VPN的工作機製為:
(1) 遠程接入用戶與SSL VPN網關建立HTTPS連接,通過SSL提供的基於證書的身份驗證功能,SSL VPN網關和遠程接入用戶可以驗證彼此的身份。
(2) 遠程接入用戶輸入用戶名、密碼等身份信息,SSL VPN網關對用戶的身份進行認證,並對用戶可以訪問的資源進行授權。
(3) 用戶獲取到可以訪問的資源,通過SSL連接將訪問請求發送給SSL VPN網關。
(4) SSL VPN網關接收到資源訪問請求後轉發給企業網部的服務器。
(5) SSL VPN網關接收到服務器的應答後,通過SSL連接將其轉發給用戶。
圖1-1 SSL VPN示意圖
SSL VPN的典型組網方式主要有兩種:網關模式和單臂模式。
在網關模式中,SSL VPN網關直接作為網關設備連接用戶和內網服務器,所有流量將通過SSL VPN網關進行轉發。網關模式可以提供對內網的完全保護,但是由於SSL VPN網關處在內網與外網通信的關鍵路徑上,其性能對內外網之間的數據傳輸有很大的影響。
圖1-2 網關模式
在單臂模式中,SSL VPN網關不作為網關設備。用戶訪問內網服務器時,流量將先由網關設備轉發到SSL VPN網關,經SSL VPN網關處理後再轉發到網關設備,由網關設備轉發到內網服務器。在單臂模式中,SSL VPN網關不處在網絡通信的關鍵路徑上,其性能不會影響內外網的通信。但是這種組網使得SSL VPN網關不能全麵地保護企業內部的網絡資源。
圖1-3 單臂模式
Web接入方式是指用戶使用瀏覽器,通過HTTPS協議訪問SSL VPN網關提供的Web資源。用戶登錄後,Web頁麵上會顯示用戶可訪問的資源列表,用戶可以選擇需要訪問的資源直接訪問。Web接入方式中,所有數據的顯示和操作都是通過Web頁麵進行的。
Web接入方式下,管理員需要在SSL VPN網關上創建URL列表,URL表項為企業網內部服務器的IP地址(或域名)。
Web方式接入過程如下:
(1) 用戶使用瀏覽器,通過HTTPS協議登錄SSL VPN網關。
(2) SSL VPN網關對用戶進行認證,並對允許用戶訪問的URL資源進行授權,授權的URL資源以URL鏈接的形式展示在網關的Web頁麵上。
(3) 用戶在SSL VPN網關的Web頁麵上訪問經過授權的URL資源。
(4) SSL VPN網關解析接收到的Web請求,並使用HTTP或HTTPS協議向Web服務器發送Web請求。
(5) SSL VPN網關接收到Web服務器的應答報文後,通過SSL連接將其轉發給用戶瀏覽器。
圖1-4 Web接入方式示意圖
目前,通過Web接入方式可以訪問的資源隻有Web服務器。
TCP接入方式是指用戶對企業內部服務器開放端口的安全訪問。通過TCP接入方式,用戶可以訪問任意基於TCP的服務,包括遠程訪問服務(如Telnet)、桌麵共享服務、電子郵件服務、Notes服務以及其他使用固定端口的TCP服務。
用戶利用TCP接入方式訪問內網服務器時,需要在SSL VPN客戶端(用戶使用的終端設備)上安裝專用的TCP接入客戶端軟件,由該軟件實現使用SSL連接傳送應用層數據。
TCP接入方式下,管理員需要在SSL VPN網關上創建端口轉發規則,將企業網內部服務器的IP地址(或域名)和端口號映射為SSL VPN客戶端的本地IP地址(或主機名)和本地端口號。
TCP方式接入過程如下:
(1) 用戶使用瀏覽器,通過HTTPS協議登錄SSL VPN網關。
(2) SSL VPN網關對用戶進行認證,並對允許用戶訪問的TCP接入服務(即端口轉發規則)進行授權。
(3) 用戶在SSL VPN網關的Web頁麵上下載TCP接入客戶端軟件
(4) 用戶在SSL VPN客戶端上啟動TCP接入客戶端軟件,可以看到授權訪問的TCP接入服務。TCP接入客戶端軟件在SSL VPN客戶端上打開授權的端口轉發規則中指定的本地端口號。
(5) 用戶訪問本地IP地址(或主機名)和本地端口號時,TCP接入客戶端軟件將訪問請求通過SSL連接發送給SSL VPN網關。
(6) SSL VPN網關解析接收到的請求,並根據本地配置的端口轉發規則,將該請求轉發給對應的內部服務器。
(7) SSL VPN網關接收到服務器的應答報文後,通過SSL連接將其轉發給SSL VPN客戶端。
如圖1-5所示,在SSL VPN網關上配置端口轉發規則後,當用戶在SSL VPN客戶端上Telnet訪問本地地址127.0.0.1、本地端口號2000時,TCP接入客戶端軟件將訪問請求發送給SSL VPN網關。SSL VPN網關將請求轉換為對Telnet服務器10.1.1.2、端口23的訪問,並轉發給Telnet服務器。Telnet服務器的應答報文同樣通過SSL VPN網關轉發給SSL VPN客戶端。
圖1-5 TCP接入方式示意圖
如圖1-6所示,移動客戶端均通過TCP接入方式訪問內網資源。對於移動客戶端,不需要在SSL VPN網關上配置端口轉發規則,隻需要在客戶端上安裝移動客戶端專用的客戶端軟件,並在SSL VPN網關上為客戶端指定EMO(Endpoint Mobile Office,終端移動辦公)服務器。移動客戶端通過EMO服務器來獲取可以訪問的內網資源。
IP接入方式用來實現遠程主機與企業內部服務器網絡層之間的安全通信,進而實現所有基於IP的遠程主機與服務器的互通,如在遠程主機上ping內網服務器。
用戶通過IP接入方式訪問內網服務器前,需要安裝專用的IP接入客戶端軟件,該客戶端軟件會在SSL VPN客戶端上安裝一個虛擬網卡。
IP接入方式下,管理員在SSL VPN網關上創建SSL VPN AC接口,並配置下發給SSL VPN客戶端的路由表項。
如圖1-7所示,IP方式接入過程如下:
(1) 用戶在客戶端上安裝IP接入客戶端軟件後,啟動該軟件並登錄。
(2) SSL VPN網關對其進行認證和授權。認證、授權通過後,SSL VPN網關為客戶端的虛擬網卡分配IP地址,並將授權用戶訪問的IP接入資源(即路由表項)發送給客戶端。
(3) 客戶端為虛擬網卡設置IP地址,並添加路由表項,路由的出接口為虛擬網卡。
(4) 用戶在客戶端上訪問企業內網服務器時,訪問請求報文匹配添加的路由表項,該報文將進行SSL封裝,並通過虛擬網卡發送給SSL VPN網關的SSL VPN AC接口。
(5) SSL VPN網關對SSL報文進行解封裝,並將IP報文轉發給內網服務器。
(6) 內網服務器將應答報文發送給SSL VPN網關。
(7) SSL VPN網關對報文進行SSL封裝後,通過SSL VPN AC接口將其發送給客戶端。
圖1-7 IP接入方式的工作過程
SSL VPN用戶認證是SSL VPN網關對SSL VPN用戶身份的認證,用戶身份認證通過後,才能訪問對應的內網服務器資源。用戶認證包括:用戶名密碼認證、證書認證、驗證碼驗證、短信認證、自定義認證、SMP認證和企業微信掃碼認證。這幾種認證方式可以隻開啟其中的一個,也可以同時開啟多個。若同時開啟多種認證方式,則多種認證方式同時生效,用戶需要同時通過多個驗證才能訪問企業內網資源。自定義認證和短信認證同時開啟時,隻有自定義認證生效。用戶名密碼認證功能和證書認證功能都開啟的情況下,可以通過authentication use命令來控製SSL VPN用戶認證的認證模式。有關用戶的詳細介紹,請參見“安全配置指導”中的“AAA”。企業微信掃碼認證方式僅支持單獨使用。
用戶名密碼認證指通過認證SSL VPN用戶的用戶名和密碼從而認證用戶身份。該認證的過程如下:
(1) SSL VPN用戶在登錄界麵輸入用戶名和密碼,用戶設備會將用戶名和密碼發送給SSL VPN網關;
(2) SSL VPN網關將用戶名和密碼提交給AAA模塊進行認證、授權和計費,或者交給自定義認證服務器進行認證和授權。
證書認證指通過認證SSL VPN用戶證書從而認證用戶身份。該認證的過程如下:
(1) SSL VPN用戶選擇自己的SSL VPN用戶證書,用戶設備會將該證書發送給SSL VPN網關;
(2) SSL VPN網關用CA證書檢查SSL VPN用戶證書是否可信:如果可信,則繼續進行下一步;如果不可信,則不能建立SSL連接。如果開啟了CRL檢查功能,SSL VPN網關還會檢查可信的SSL VPN用戶證書是否被吊銷:如果沒有被吊銷,則進行下一步;如果已經被吊銷,則不能建立SSL連接。有關CRL檢查功能的詳細介紹,請參見“安全配置指導”中的“PKI”。
(3) SSL VPN網關從SSL VPN用戶證書中的指定字段(默認為CN字段)提取用戶名,並將該用戶名提交給AAA模塊進行授權和計費,或者交給自定義認證服務器進行授權。
SSL VPN用戶證書中的指定字段必須和該SSL VPN用戶的用戶名一致。
圖1-8 證書認證過程
用戶名密碼和證書組合認證是指SSL VPN網關對SSL VPN用戶的證書以及用戶名密碼進行雙重認證。該認證的過程如下:
(1) SSL VPN用戶選擇自己的SSL VPN用戶證書,用戶設備會將該證書發送給SSL VPN網關;
(2) SSL VPN網關用CA證書檢查SSL VPN用戶證書是否可信:如果可信,則繼續進行下一步;如果不可信,則不能建立SSL連接。如果開啟了CRL檢查功能,SSL VPN網關還會檢查可信的SSL VPN用戶證書是否被吊銷:如果沒有被吊銷,則進行下一步;如果已經被吊銷,則不能建立SSL連接。
(3) SSL VPN網關從SSL VPN用戶證書中提取用戶名與輸入的用戶名進行比較:
¡ 若一致,則網關將用戶名和密碼提交給AAA模塊進行認證、授權和計費,或者交給自定義認證服務器進行認證和授權;
¡ 若不一致,則認證不通過。
開啟短信認證功能後,設備將使用短信驗證碼對用戶進行身份驗證,驗證通過後允許用戶登錄SSL VPN網關。設備支持兩種短信認證方式:
· iMC短信認證
設備使用iMC認證服務器對SSL VPN用戶進行短信認證,需要在iMC短信認證視圖下配置短信認證使用的iMC服務器的IP地址和端口號。
· 短信網關認證
設備使用短信網關對SSL VPN用戶進行短信認證,需要在短信網關認證視圖下配置引用的短信網關、短信驗證碼重新發送的時間間隔和短信驗證碼的有效時間等參數。
對於短信網關認證方式,由於一個用戶名隻能綁定一個接收短信的手機號碼,當多個用戶使用同一個用戶名登錄SSL VPN網關時,需按照用戶登錄SSL VPN網關的順序依次查找該手機號碼接收到的短信驗證碼,並將短信驗證碼提交給SSL VPN網關進行驗證。
短信認證的兩種方式不能同時使用。
自定義認證是指用戶根據實際需求,在本地搭建自定義的認證服務器,並配置自定義認證參數,實現對SSL VPN登錄用戶的認證和授權。自定義認證暫不支持計費功能。
SSL VPN網關可以通過SMP對接第三方認證平台,實現對SSL VPN用戶的身份認證。SMP認證和短信認證同時使用時,僅支持短信網關認證,不支持iMC短信認證。
企業微信掃碼認證是指企業用戶通過企業微信客戶端掃描SSL VPN網關登錄頁麵或者iNode客戶端登錄頁麵中提供的二維碼進行身份驗證。該認證的過程如下:
(1) 企業用戶在登錄界麵選擇企業微信掃碼認證方式,界麵將彈出企業微信二維碼。
(2) 企業用戶使用手機企業微信客戶端掃描二維碼。
(3) 企業微信將對用戶身份進行認證,完成認證後將認證結果返回給SSL VPN網關,由網關授權用戶可以訪問的資源。
SSL VPN采用基於用戶的權限管理方法,可以根據用戶的身份,限製用戶可以訪問的資源。
如圖1-9所示,SSL VPN對資源的管理方式為:同一台SSL VPN網關上可以創建多個SSL VPN訪問實例(SSL VPN context)。每個SSL VPN訪問實例包含多個策略組。策略組中定義了Web資源、TCP接入服務資源、IP接入服務資源等。
圖1-9 SSL VPN資源管理方式
用戶登錄SSL VPN網關時,SSL VPN網關通過以下方法判斷用戶所屬的SSL VPN訪問實例:
· 為不同的SSL VPN訪問實例指定不同的域名。遠端用戶登錄SSL VPN網關時,指定自己所在的域,SSL VPN網關根據用戶指定的域判斷該用戶所屬的SSL VPN訪問實例。
· 為不同的SSL VPN訪問實例指定不同的虛擬主機名稱。遠端用戶訪問SSL VPN網關時,輸入虛擬主機名稱,SSL VPN網關根據虛擬主機名稱判斷該用戶所屬的SSL VPN訪問實例。
SSL VPN網關判斷出用戶所屬的SSL VPN訪問實例後,根據SSL VPN訪問實例所在的ISP域對用戶進行認證和授權,授權結果為策略組名稱。如果某個用戶被授權訪問某個策略組,則該用戶可以訪問該策略組下的資源。如果沒有為用戶進行授權,則用戶可訪問的資源由缺省策略組決定。
SSL VPN網關對用戶的認證和授權通過AAA或者自定義認證服務器來完成。目前,SSL VPN支持的AAA協議包括RADIUS(Remote Authentication Dial-In User Service,遠程認證撥號用戶服務)協議和LDAP(Lightweight Directory Access Protocol,輕量級目錄訪問協議)協議。在實際應用中,RADIUS協議較為常用。
如圖1-10所示,在SSL VPN網關設備上,管理員可以將不同的SSL VPN訪問實例關聯不同的VPN實例,以便隔離不同訪問實例內的服務器資源,避免非法用戶訪問特定資源的同時,還可以實現服務器資源的地址重疊。
管理員還可以指定SSL VPN網關所屬的VPN實例。隻有屬於同一個VPN的用戶可以訪問SSL VPN網關,從而避免內部服務器資源泄漏到公網和其他VPN中。
VPN實例的詳細介紹,請參見“VPN實例配置指導”中的“VPN實例”。
圖1-10 SSL VPN支持VPN多實例示意圖
設備缺省支持15個用戶同時登錄。
購買並安裝License後可以增加同時在線的用戶數。關於License的詳細介紹請參見“基礎配置指導”中的“License管理”。
在IRF組網環境中,各成員設備的License可以疊加,IRF設備支持的同時在線用戶數為缺省用戶數和各成員設備License授權用戶數的總和。若成員設備發生故障,此成員設備上的License將在IRF設備上繼續生效,有效期為60天。
用戶先采用Web接入方式登錄SSL VPN網關,又在Web頁麵上下載並運行IP接入客戶端。此時用戶通過兩種接入方式訪問SSL VPN網關,SSL VPN網關上會為該用戶生成一個SSL VPN會話。之後如果用戶從瀏覽器退出或者從IP接入客戶端退出,則會因為SSL VPN會話斷開而將無法繼續訪問對應的Web接入服務資源和IP接入服務資源。
配置SSL VPN訪問控製策略時,過濾規則引用的ACL規則中不能存在VPN實例,否則該規則不能生效。
在“瀏覽器-SSL VPN網關—服務器”組網下,如果服務器回應的報文中帶有重定向URL,由於SSL VPN網關不會修改請求和響應報文,所以無法處理重定向URL中的地址。
SSL VPN相關配置均在SSL VPN網關設備上進行。SSL VPN配置任務如下:
(1) 配置SSL VPN網關
(2) 配置SSL VPN訪問實例
(3) 配置SSL VPN用戶接入認證
自定義認證必須配置自定義認證服務器。
(4) 配置SSL VPN資源訪問控製
請根據實際組網需求選擇配置各類型的接入服務,配置次序無關聯。
a. 創建URI ACL
b. 配置Web接入服務
c. 配置TCP接入服務
d. 配置IP接入服務
f. (可選)配置快捷方式
g. (可選)配置資源重定向
h. (可選)配置HTTP重定向
i. (可選)配置SSL VPN缺省策略組
j. (可選)配置SSL VPN角色授權
(5) (可選)配置SSL VPN支持VPN多實例
(6) (可選)控製SSL VPN用戶接入
¡ 配置SSL VPN企業微信認證功能企業微信客戶端訪問內網資源功能
(7) (可選)配置SSL VPN頁麵
(8) (可選)開啟SSL VPN IP接入引流功能
(9) (可選)配置國盾量子加密功能
(10) (可選)開啟SSL VPN日誌功能
進行SSL VPN配置前,需要在SSL VPN網關上完成以下操作:
· 配置PKI,為SSL VPN網關獲取數字證書,配置方法請參見“安全配置指導”中的“PKI”。
· 配置SSL服務器端策略,配置方法請參見“安全配置指導”中的“SSL”。
SSL VPN網關使用缺省地址時,端口號不能與設備的HTTPS管理地址的端口號相同。
如果引用的SSL服務器策略有變化,需要重新開啟SSL VPN網關才能生效。
SSL VPN網關的IP地址和端口號與HTTPS管理地址和端口號不能完全相同,如果完全相同,則用戶訪問此地址和端口時,隻能訪問SSL VPN網關頁麵,而不能訪問設備的管理頁麵。
SSL VPN網關的IPv4地址和IPv6地址不能同時生效,若同時配置了IPv4地址和IPv6地址,則最後一次配置的IP地址生效。
遠程接入用戶使用瀏覽器與SSL VPN網關建立HTTPS連接的過程中,SSL VPN網關支持向對端提供兩種類型的本地證書,設備簽發的自簽名證書和CA為SSL VPN網關簽發的本地證書,以便遠程接入用戶對SSL VPN網關進行基於數字證書的身份驗證。遠程接入用戶可根據安全性要求和配置複雜度在如下兩種方案中進行選擇:
· 采用設備簽發的自簽名證書,此方式配置簡單,但安全性較低。在該方式下,無需配置SSL VPN網關引用的SSL服務器端策略,使用的SSL參數均為缺省值。但由於自簽名證書不是由可信的CA簽發而不受遠程接入用戶的瀏覽器信任,當遠程接入用戶使用HTTPS方式訪問SSL VPN網關時,遠程接入用戶的瀏覽器上將會彈出安全風險提示,若遠程接入用戶能夠接受使用自簽名證書帶來的安全風險,可選擇忽略此提示,繼續瀏覽網頁。
· 采用CA為SSL VPN網關簽發的本地證書,此方式配置相對複雜但安全性較強。在該方式下,SSL VPN網絡管理員需要獲取CA證書並向CA申請本地證書,同時配置SSL服務器端策略,並將其與SSL VPN網關進行關聯,來增強SSL VPN服務的安全性。
有關數字證書和SSL服務器端策略的詳細介紹,請分別參見“安全配置指導”中的“PKI”和“SSL”。
為了提高報文傳輸的安全性,設備SSL服務端策略缺省情況下僅支持TLS1.1及以上的SSL協議版本,因此要求iNode客戶端也支持TLS1.1及以上的SSL協議版本,否則缺省情況下,無法成功登錄iNode客戶端。SSL VPN管理員可以將iNode客戶端升級到最新版本,從而解決此問題。
(1) 進入係統視圖。
system-view
(2) 創建SSL VPN網關,並進入SSL VPN網關視圖。
sslvpn gateway gateway-name
(3) 配置SSL VPN網關的IPv4地址和端口號。
ip address ip-address [ port port-number ]
缺省情況下,SSL VPN網關的IP地址為0.0.0.0,端口號為443。
執行本配置時,如果沒有指定端口號,則缺省端口號為443。
(4) 配置SSL VPN網關的IPv6地址和端口號。
ipv6 address ipv6-address [ port port-number ]
缺省情況下,未配置SSL VPN網關的IPv6地址和端口號。
執行本配置時,如果沒有指定端口號,則缺省端口號為443。
(5) 指定SSL VPN網關引用SSL服務器端策略。
ssl server-policy policy-name
缺省情況下,SSL VPN網關引用自簽名證書的SSL服務器端策略。
(6) 開啟當前的SSL VPN網關。
service enable
缺省情況下,當前的SSL VPN網關處於關閉狀態。
SSL VPN訪問實例用來管理用戶會話、用戶可以訪問的資源等。
· 不同的SSL VPN訪問實例引用相同的SSL VPN網關時,必須為不同的SSL VPN訪問實例指定不同的域名或虛擬主機名。
· 如果SSL VPN訪問實例引用SSL VPN網關時沒有指定域名和虛擬主機名稱,那麼其他的SSL VPN訪問實例就不能再引用該SSL VPN網關。
· 如果為SSL VPN訪問實例指定了虛擬主機名稱,則需要在網絡中部署DNS服務器,以便客戶端將虛擬主機名稱解析為SSL VPN網關的IP地址。
· 一個SSL VPN訪問實例最多可以引用10個SSL VPN網關
· SSL VPN訪問實例中設置SSL VPN網關和虛擬主機時,當虛擬主機名包含下劃線時(一般要求域名不能包含下劃線,如果SSL VPN用於Web接入,虛擬主機名將作為了域名的一部分),此時IE瀏覽器無法保存Cookie,發送請求報文時不會攜帶Cookie,導致SSL VPN登錄失敗。
(1) 進入係統視圖。
system-view
(2) 創建SSL VPN訪問實例,並進入SSL VPN訪問實例視圖。
sslvpn context context-name
(3) 配置SSL VPN訪問實例引用SSL VPN網關。
gateway gateway-name [ domain domain-name | virtual-host virtual-host-name ]
缺省情況下,SSL VPN訪問實例沒有引用SSL VPN網關。
(4) 配置SSL VPN訪問實例使用指定的ISP域進行AAA認證。
aaa domain domain-name
缺省情況下,SSL VPN訪問實例使用缺省的ISP域進行認證。
SSL VPN用戶的用戶名中不能攜帶所屬ISP域信息。執行本配置後,SSL VPN用戶將采用指定ISP域內的認證、授權、計費方案對SSL VPN用戶進行認證、授權和計費。
(5) 開啟當前的SSL VPN訪問實例。
service enable
缺省情況下,SSL VPN訪問實例處於關閉狀態。
(6) (可選)配置SSL VPN訪問實例的最大會話數。
max-users max-number
缺省情況下,SSL VPN訪問實例的最大會話數為1048575。
(7) (可選)配置SSL VPN會話保持空閑狀態的最長時間。
timeout idle minutes
缺省情況下,SSL VPN會話保持空閑狀態的最長時間為30分鍾。
(8) (可選)配置SSL VPN會話保持空閑狀態的流量閾值。
idle-cut traffic-threshold kilobytes
缺省情況下,未配置SSL VPN會話保持空閑狀態的流量閾值。
(9) 配置SSL VPN訪問實例引用SSL客戶端策略。
ssl client-policy policy-name
缺省情況下,SSL客戶端策略支持的加密套件為dhe_rsa_aes_128_cbc_sha、dhe_rsa_aes_256_cbc_sha、rsa_3des_ede_cbc_sha、rsa_aes_128_cbc_sha、rsa_aes_256_cbc_sha。
執行本配置後,SSL VPN網關使用指定的SSL客戶端策略與HTTPS類型的Web服務器建立連接。
(10) (可選)開啟全局URL偽裝功能。
url-masking enable
缺省情況下,URL偽裝功能處於關閉狀態。
開啟本功能後,該訪問實例下所配置的Web接入業務中的Web資源URL將被轉換成一定規則的編碼字符串對SSL VPN用戶呈現。
對於SSL VPN證書認證功能,僅在Web接入和IP接入方式下,支持SSL服務器端強製要求對SSL客戶端進行基於數字證書的身份驗證;在TCP接入和移動客戶端接入方式下,不支持SSL服務器端強製要求對SSL客戶端進行基於數字證書的身份驗證。
SSL VPN用戶認證配置任務如下:
(1) 配置基礎認證功能
請至少選擇如下一種或多種認證方式:
¡ 配置證書認證功能
(2) (可選)配置組合認證功能
(3) (可選)配置認證參數
¡ 配置用戶認證模式
(4) (可選)配置企業微信掃碼認證
(1) 進入係統視圖。
system-view
(2) 進入SSL VPN訪問實例視圖。
sslvpn context context-name
(3) 開啟用戶名密碼認證功能。
password-authentication enable
缺省情況下,用戶名密碼認證功能處於開啟狀態。
(1) 進入係統視圖。
system-view
(2) 進入SSL VPN訪問實例視圖。
sslvpn context context-name
(3) 開啟證書認證功能。
certificate-authentication enable
缺省情況下,證書認證功能處於關閉狀態。
(4) 配置SSL VPN用戶證書中的指定字段取值作為SSL VPN用戶名。
certificate username-attribute { cn | email-prefix | oid extern-id }
缺省情況下,使用SSL VPN用戶證書中主題部分內的CN字段取值作為SSL VPN用戶名。
(1) 進入係統視圖。
system-view
(2) 進入SSL VPN訪問實例視圖。
sslvpn context context-name
(3) 開啟驗證碼驗證功能。
verify-code enable
缺省情況下,驗證碼驗證功能處於關閉狀態。
(1) 進入係統視圖。
system-view
(2) 進入SSL VPN訪問實例視圖。
sslvpn context context-name
(3) 配置iMC短信認證,並開啟iMC短信認證功能。
sms-auth type imc
缺省情況下,iMC短信認證功能處於關閉狀態。
(4) 創建iMC短信認證視圖,並進入iMC短信認證視圖。
sms-auth imc
(5) 配置iMC短信認證使用的iMC服務器。
server-address { ip-address | ipv6 ipv6-address } port port-number [ vpn-instance vpn-instance-name ]
缺省情況下,未配置iMC短信認證使用的iMC服務器。
短信網關的具體配置,請參見“安全配置指導”中的“SMS”。
(1) 進入係統視圖。
system-view
(2) 進入SSL VPN訪問實例視圖。
sslvpn context context-name
(3) 進入SSL VPN用戶視圖。
user username
(4) 配置用於接收短信的手機號碼。
mobile-num number
缺省情況下,未配置用於接收短信的手機號碼。
(5) 退回SSL VPN訪問實例視圖 。
quit
(6) 配置短信網關認證,並開啟短信網關認證功能。
sms-auth type sms-gw
缺省情況下,短信網關認證功能處於關閉狀態。
(7) 創建短信網關認證視圖,並進入短信網關認證視圖。
sms-auth sms-gw
缺省情況下,不存在短信網關認證視圖。
(8) 配置短信網關認證引用短信網關。
gateway sms-gateway-name
缺省情況下,未引用對接第三方短信平台的短信網關。
(9) 開啟用戶手機號碼綁定功能。
mobile-num-binding enable
缺省情況下,用戶手機號碼綁定功能處於關閉狀態。
(10) 配置短信驗證碼重新發送的時間間隔。
verification-code send-interval seconds
缺省情況下,短信驗證碼重新發送的時間間隔為60秒。
(11) 配置短信驗證碼的有效時間。
verification-code validity minutes
缺省情況下,短信驗證碼的有效時間為1分鍾。
(12) 配置國家代碼。
country-code country-code
缺省情況下,國家代碼為86。
(13) 配置發送短信的內容模板。
sms-content string
缺省情況下,短信內容模板為:“您好,$$USER$$,本次登錄的短信驗證碼為:$$VERIFYCODE$$,短信驗證碼的有效時間為$$VALIDTIME$$分鍾。”。
用戶名密碼認證功能和證書認證功能都開啟的情況下,可以通過authentication use命令來控製SSL VPN用戶認證的認證模式。
· 若認證模式選用any-one,則用戶隻需要通過其中一種認證即可登錄SSL VPN訪問實例。
· 若認證模式選用all,則用戶必須通過這兩種認證(即用戶名密碼和證書的組合認證)方可登錄SSL VPN訪問實例。
(1) 進入係統視圖。
system-view
(2) 進入SSL VPN訪問實例視圖。
sslvpn context context-name
(3) 配置SSL VPN用戶登錄訪問實例的認證模式。
authentication use { all | any-one }
缺省情況下,SSL VPN用戶登錄訪問實例的認證模式為all。
用戶可以在SSL VPN網關的資源頁麵,單擊個人設置按鈕,進入個人設置頁麵自助修改密碼。目前僅支持通過iMC服務器認證的遠程用戶自助修改密碼。
當用戶自助修改密碼功能關閉時,SSL VPN資源頁麵的個人設置按鈕將處於隱藏狀態,用戶無法修改密碼。
(1) 進入係統視圖。
system-view
(2) 進入SSL VPN訪問實例視圖。
sslvpn context context-name
(3) 開啟訪問實例下所有用戶修改SSL VPN登錄密碼功能。
password-changing enable
缺省情況下,用戶修改SSL VPN登錄密碼功能處於開啟狀態。
(4) 進入SSL VPN用戶視圖。
user username
(5) (可選)開啟用戶修改SSL VPN登錄密碼功能。
password-changing enable
缺省情況下,用戶修改SSL VPN登錄密碼功能處於開啟狀態。
(6) 退回SSL VPN訪問實例視圖。
quit
(7) 配置iMC認證用戶自助修改密碼使用的iMC服務器。
self-service imc address { ip-address | ipv6 ipv6-address } port port-number [ vpn-instance vpn-instance-name ]
缺省情況下,未配置iMC認證用戶自助修改密碼使用的iMC服務器。
僅當iMC認證用戶需要修改SSL VPN網關登錄密碼時,需要配置本命令指定改密使用的iMC服務器。
在開始配置企業微信掃碼認證功能之前,SSL VPN網關管理員需要在企業微信管理平台配置SSL VPN網關的可信域名和企業微信授權登錄。
在企業微信管理平台配置可信域名的步驟如下:
(1) 在瀏覽器中輸入地址https://work.weixin.qq.com,使用企業微信客戶端掃碼登錄企業微信管理平台,單擊<應用管理>按鈕,選擇應用,進入應用頁麵。
(2) 在應用頁麵的“網頁授權及JS-SDK”處,單擊<申請域名校驗>按鈕,在可信域名輸入框中輸入SSL VPN網關的域名和端口gateway.example.com:port。
(3) 單擊<申請校驗域名>按鈕,按照頁麵提示下載文件,並在SSL VPN網關Web網管頁麵的全局配置頁麵上傳域名校驗文件。
(4) 勾選“已上傳域名歸屬校驗文件”,單擊<確定>按鈕,完成域名校驗。
在企業微信管理平台配置企業微信授權登錄的步驟如下:
(5) 在瀏覽器中輸入地址https://work.weixin.qq.com,使用企業微信客戶端掃碼登錄企業微信管理平台,單擊<應用管理>按鈕,選擇應用頁簽,單擊指定的應用圖標,進入該應用頁麵。
(6) 在應用頁麵的“企業微信授權登錄”處,單擊<設置>按鈕,在Web網頁區域的授權回調域輸入框中輸入SSL VPN網關的域名和端口gateway.example.com:port。
(7) 單擊<保存>按鈕,完成配置。
僅支持在Web接入方式以及IP接入方式(通過iNode客戶端)下進行企業微信掃碼登錄。
對於IP接入方式,設備缺省證書不支持企業微信掃碼認證功能,請安裝可信的SSL證書。
通過企業微信掃碼認證的用戶僅支持授權SSL VPN缺省策略組。
(1) 進入係統視圖。
system-view
(2) 進入SSL VPN訪問實例視圖。
sslvpn context context-name
(3) 開啟企業微信認證功能。
wechat-work-authentication enable
缺省情況下,企業微信認證功能處於關閉狀態。
(4) 配置企業微信API服務器的URL地址。
wechat-work-authentication url url
缺省情況下,未配置企業微信API服務器的URL地址。
(5) 配置企業微信認證使用的企業ID。
wechat-work-authentication corp-id corp-id
缺省情況下,未配置企業微信認證使用的企業ID。
企業ID可在企業微信管理平台的“我的企業”>“企業信息”中查看。
(6) 配置企業微信認證中企業應用數據的訪問密鑰。
wechat-work-authentication app-secret app-secret
缺省情況下,未配置企業微信認證中企業應用數據的訪問密鑰。
(7) 配置企業微信掃碼認證功能使用的應用ID。
wechat-work-authentication agent-id agent-id
缺省情況下,未配置企業微信掃碼認證功能使用的應用ID。
企業應用ID可在企業微信管理平台的“應用管理”>“應用詳情”>“Agentid”中查看。
SSL VPN用戶認證服務器類型包括:
· AAA認證服務器:設備使用AAA服務器對SSL VPN用戶進行認證、授權和計費。有關AAA的配置,請參見“安全配置指導”中的“AAA”。
· 自定義認證服務器:用戶根據實際需求,在本地搭建自定義的認證服務器,並配置自定義認證參數,實現對SSL VPN登錄用戶的認證和授權。自定義認證暫不支持計費功能。自定義認證參數的具體配置請參見“配置自定義認證服務器參數”。
· SMP認證服務器:SSL VPN網關可以通過SMP對接第三方認證平台,實現對SSL VPN用戶的身份認證。SMP認證參數的具體配置請參見“配置SMP認證服務器參數”。
(1) 進入係統視圖。
system-view
(2) 進入SSL VPN訪問實例視圖。
sslvpn context context-name
(3) 配置認證服務器類型。
authentication server-type { aaa | custom | smp }
缺省情況下,SSL VPN認證服務器類型為AAA認證服務器。
SSL VPN用戶認證、授權采用自定義認證服務器時,需要配置以下參數:
· 自定義認證服務器的URL地址:SSL VPN網關采用HTTP協議將認證請求報文發送到指定的URL地址。
· 自定義認證超時時間:SSL VPN網關向自定義認證服務器發送HTTP請求報文後,如果在超時時間內沒有收到服務器的應答報文,則SSL VPN網關向SSL VPN客戶端返回認證失敗信息。
· 自定義認證的請求報文信息:SSL VPN網關根據該信息構造HTTP認證請求報文。認證請求報文信息包括HTTP請求方式、HTTP請求報文首部字段和認證信息請求模板。
· 自定義認證的應答報文信息:SSL VPN網關根據該信息解析接收到的認證應答報文。應答報文信息包括HTTP應答報文格式、HTTP應答報文中標識認證成功的應答值、HTTP應答報文的應答字段名和自定義應答模板。
(1) 進入係統視圖。
system-view
(2) 進入SSL VPN訪問實例視圖。
sslvpn context context-name
(3) 配置自定義認證服務器的URL地址。
custom-authentication url url
缺省情況下,未配置自定義認證服務器的URL地址。
(4) 配置自定義認證的超時時間。
custom-authentication timeout seconds
缺省情況下,自定義認證的超時時間為15秒。
(5) 配置自定義認證的請求報文信息。
a. 配置自定義認證的HTTP請求方式。
custom-authentication request-method { get | post }
缺省情況下,自定義認證的HTTP請求方式為GET。
b. 配置自定義認證的HTTP請求報文首部字段。
custom-authentication request-header-field field-name value value
缺省情況下,自定義認證的HTTP請求報文首部字段內包含如下內容:Content-type:application/x-www-form-urlencoded
User-Agent:nodejs 4.1
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q
c. 配置自定義認證的認證信息請求模板。
custom-authentication request-template template
缺省情況下,未配置自定義認證的認證信息請求模板。
(6) 配置自定義認證的應答報文信息。
a. 配置自定義認證的HTTP應答報文格式。
custom-authentication response-format { custom | json | xml }
缺省情況下,自定義認證的HTTP應答報文格式為JSON。
b. 配置自定義認證的HTTP應答報文中標識認證成功的應答值。
custom-authentication response-success-value success-value
缺省情況下,未配置HTTP應答報文中標識認證成功的應答值。
c. 配置自定義認證的HTTP應答報文的應答字段名。
custom-authentication response-field { group group | message message | result result }
缺省情況下,未配置HTTP應答報文的應答字段名。
當選擇HTTP應答報文格式為JSON或XML時,需要配置HTTP應答報文的應答字段名。
d. 配置自定義認證的自定義應答模板。
custom-authentication response-custom-template { group | message | result } template
缺省情況下,未配置自定義認證的自定義應答模板。
隻有HTTP應答報文格式選擇了custom格式,才需要配置自定義認證的自定義應答模板。
SMP(Security Management Platform,安全業務管理平台),是一個可以對各安全產品進行統一管理的智能管理平台。SSL VPN網關可以通過SMP對接第三方認證平台,實現對SSL VPN用戶的身份認證。通過SMP對接第三方認證平台,相對於SSL VPN網關直接對接第三方認證平台,可以簡化SSL VPN網關的配置,且方便後續業務的擴展。
SSL VPN用戶認證采用SMP認證服務器時,需要先創建SMP認證視圖,並在該視圖中配置以下參數:
· SMP對接的第三方認證平台類型:SSL VPN網關通過SMP對SSL VPN用戶進行身份認證時,SSL VPN網關將通知SMP需要對接的第三方認證平台類型。SMP與該認證平台對接成功後,由該平台對SSL VPN用戶進行身份認證,並將認證結果返回給SMP,SMP再將認證結果返回給SSL VPN網關。
· SMP的主機名或IP地址:SSL VPN網關將與本配置指定的SMP進行信息交互,從而對SSL VPN用戶進行身份認證。此SMP的主機名由SMP提供,需要聯係SMP管理員獲取。
· SSL VPN網關與SMP建立連接時使用的密鑰:SSL VPN網關與SMP建立連接時,SSL VPN網關需要向SMP提供本功能配置的密鑰,SMP會使用該密鑰驗證SSL VPN網關的身份,驗證通過後,才能建立連接。此密鑰由SMP提供。
· SMP關聯的VPN實例:配置本參數後,SMP包含的資源將屬於關聯的VPN實例,否則,SMP包含的資源將屬於公網。
刪除SMP認證視圖的同時,該視圖下的所有內容都將被刪除,請慎重操作。
SMP認證和短信認證同時使用時,僅支持短信網關認證,不支持iMC短信認證。
(1) 進入係統視圖。
system-view
(2) 進入SSL VPN訪問實例視圖。
sslvpn context context-name
(3) 創建SMP認證視圖,並進入SMP認證視圖。
smp authentication
(4) 配置SMP對接的第三方認證平台類型。
smp-platform type paraview
缺省情況下,未配置SMP對接的第三方認證平台類型。
(5) 配置SMP的主機名或IP地址。
server-host host-name
缺省情況下,未配SMP的主機名或IP地址。
(6) 配置SSL VPN網關與SMP建立連接時使用的密鑰。
secret-key { cipher | simple } string
缺省情況下,未配置SSL VPN網關與SMP建立連接時使用的密鑰。
(7) 配置SMP關聯的VPN實例。
vpn-instance vpn-instance-name
缺省情況下,SMP屬於公網。
URI形式的ACL用於對SSL VPN的各種接入方式進行更精細的控製。對URL進行匹配,符合要求的URL請求可以訪問對應的資源。在SSL VPN訪問實例視圖下可以創建多個URI ACL,並且每個URI ACL下又可以配置多條URI ACL規則。若一個URI ACL中配置了多條URI ACL規則,則按照規則編號由小到大進行匹配。
URI ACL規則支持根據報文的協議類型、地址、域名、端口號和URL進行過濾,目前設備支持過濾的協議類型包括:HTTP、HTTPS、TCP、UDP、ICMP、IP。
(1) 進入係統視圖。
system-view
(2) 進入SSL VPN訪問實例視圖。
sslvpn context context-name
(3) 創建URI ACL,並進入URI ACL視圖。
uri-acl uri-acl-name
(4) 創建URI ACL規則。
rule [ rule-id ] { deny | permit } uri uri-pattern-string
為了使用戶能夠通過Web接入方式訪問企業內網資源,SSL VPN網關上需要創建Web接入服務資源。
Web接入方式可能會出現頁麵兼容性問題,建議使用IP接入方式。
Web接入服務配置任務如下:
(1) 配置URL列表
(3) (可選)配置改寫策略
URL列表用於定義Web接入方式可訪問的資源。每個URL表項對應一個企業網內的Web資源。當用戶通過網關訪問Web資源時,網關會對URL進行映射,以保證用戶的正常訪問。目前支持的映射方式有三種:常規改寫、域名映射、端口映射。
以SSL VPN網關名gw(域名為https://www.gateway.example.com:4430,對應的IP地址為1.1.1.1),內網資源服務器URL=https://www.server.example.com:4430為例:
· 當不配置URL映射方式時(默認為常規改寫),客戶端訪問內網資源服務器的URL顯示為:https://www.gateway.example.com:4430/_proxy2/https/4430/www.server.example.com。
· 當配置域名映射,映射的域名為www.domain.example.com時,www.domain.example.com與內網資源https://www.server.example.com:4430為一一映射關係。客戶端訪問內網資源服務器的URL顯示為:https://www.domain.example.com:4430。
· 當配置端口映射,又分為配置虛擬主機名和不配置虛擬主機名兩種情況。
¡ 不配置虛擬主機名,引用SSL VPN網關gw2時,客戶端訪問內網資源服務器的URL顯示為:https://2.2.2.2:4430(網關gw2的IP地址為2.2.2.2,端口號是4430)。
¡ 配置虛擬主機名,虛擬主機名為vhosta,vhosta與內網資源https://www.server.example.com:4430為一一映射關係。引用SSL VPN網關gw時,客戶端訪問內網資源服務器的URL顯示為:https://vhosta:4430。
· 目前僅支持對HTML、XML、CSS和JavaScript類型的文件進行改寫。
· 若在使用常規改寫的過程中,出現URL映射遺漏和映射錯誤等問題,請使用域名映射或端口映射。
(1) 進入係統視圖。
system-view
(2) 進入SSL VPN訪問實例視圖。
sslvpn context context-name
(3) 創建URL表項,並進入URL表項視圖。
url-item name
(4) 配置資源的URL。
url url
缺省情況下,未配置資源的URL。
如果URL中未指定協議類型,則默認為HTTP。
(5) (可選)開啟URL偽裝功能。
url-masking enable
缺省情況下,URL偽裝功能處於關閉狀態。
開啟本功能後,該URL表項下所配置的Web資源URL將被轉換成一定規則的編碼字符串對SSL VPN用戶呈現。
(6) (可選)引用過濾URL資源的URI ACL。
resources uri-acl uri-acl-name
缺省情況下,未引用過濾URL資源的URI ACL。
(7) (可選)配置URL資源的映射方式。
url-mapping { domain-mapping domain-name | port-mapping gateway gateway-name [ virtual-host virtual-host-name ] } [ rewrite-enable ]
缺省情況下,URL資源的映射方式為常規改寫。
(8) 退回SSL VPN訪問實例視圖。
quit
(9) 創建URL列表,並進入URL列表視圖。
url-list name
(10) (可選)配置URL列表標題。
heading string
缺省情況下,URL列表的標題為“Web”。
(11) 配置URL列表引用的URL表項。
resources url-item name
缺省情況下,URL列表未引用URL表項。
在SSL VPN策略組視圖下引用URL列表。SSL VPN用戶被授權某個策略組後,該策略組引用的URL列表指定的Web資源將同時授權給SSL VPN用戶,SSL VPN用戶可以訪問這些Web資源。
SSL VPN網關可以通過高級ACL和URI ACL規則對SSL VPN用戶的Web接入進行過濾,防止非法用戶接入內部網絡。配置SSL VPN訪問控製策略後,設備對SSL VPN用戶的Web接入按照如下原則過濾:
(1) 優先匹配被授權URL列表下的資源,成功匹配後用戶可以訪問授權資源。
(2) 若資源列表匹配失敗時,則進行URI ACL的規則檢查,成功匹配URI ACL中permit規則後用戶的訪問請求才允許通過。
(3) 若URI ACL匹配失敗時,再進行高級ACL的檢查,成功匹配規則後用戶的訪問請求才允許通過。
(4) 若高級ACL檢查失敗,則授權失敗,用戶不允許訪問資源。
高級ACL支持根據接入請求報文的目的IP地址和目的端口號進行過濾;URI ACL支持根據接入請求報文的協議類型、地址、域名、端口號和URL進行過濾。
(1) 進入係統視圖。
system-view
(2) 進入SSL VPN訪問實例視圖。
sslvpn context context-name
(3) 創建SSL VPN策略組,並進入SSL VPN策略組視圖。
policy-group group-name
(4) 配置策略組引用URL列表。
resources url-list url-list-name
缺省情況下,策略組沒有引用任何URL列表。
(5) (可選)配置對Web接入進行過濾。
¡ 通過高級ACL方式進行過濾。
filter web-access [ ipv6 ] acl advanced-acl-number
¡ 通過URI ACL方式進行過濾。
filter web-access uri-acl uri-acl-name
缺省情況下,SSL VPN網關僅允許SSL VPN客戶端訪問被授權URL列表下的資源。
如果引用的ACL不存在,則SSL VPN網關拒絕所有SSL VPN客戶端訪問Web資源。
通過Web接入方式訪問服務器資源時,管理員可以配置改寫策略對網頁文件進行匹配,進而改寫匹配的網頁文件。通過改寫網頁文件,管理員可以對發現的網頁問題進行修複,方便維護和管理。
配置改寫策略後,SSL VPN網關通過old-content命令配置的string對網頁文件內容進行匹配,匹配成功之後,采用new-content命令配置的改寫之後的文件內容對其進行替換。隻有配置的url與網關正在處理的網頁文件的URL相同時,才會根據文件策略中的配置對該網頁文件內容進行改寫。
(1) 進入係統視圖。
system-view
(2) 進入SSL VPN訪問實例視圖。
sslvpn context context-name
(3) 創建文件策略,並進入文件策略視圖。
file-policy policy-name
(4) 配置文件策略應用的URL地址。
url url
(5) 配置改寫的文件類型。
content-type { css | html | javascript | other }
缺省情況下,未配置文件改寫類型,設備根據解析HTTP響應報文獲得的文件類型對網頁文件進行改寫。
(6) 創建改寫規則,並進入改寫規則視圖。
rewrite-rule rule-name
(7) 配置需要改寫的文件內容。
old-content string
缺省情況下,未配置需要改寫的文件內容。
(8) 配置改寫之後的文件內容。
new-content string
缺省情況下,未配置改寫之後的文件內容。
為了使用戶能夠通過TCP接入方式訪問企業內網資源,SSL VPN網關上需要創建TCP接入服務資源。
TCP接入服務配置任務如下:
(1) 配置端口轉發列表
端口轉發表項用於定義端口轉發實例和對應資源:
· 端口轉發實例將企業網內的基於TCP的服務(如Telnet、SSH、POP3)映射為客戶端上的本地地址和本地端口,以便客戶端通過本地地址和本地端口訪問企業網內的服務器。
· 配置對應的資源後,用戶可以在Web頁麵上點擊指定的轉發表項訪問服務器資源。
(1) 進入係統視圖。
system-view
(2) 進入SSL VPN訪問實例視圖。
sslvpn context context-name
(3) 創建端口轉發表項,進入端口轉發表項視圖。
port-forward-item item-name
(4) 添加一個端口轉發實例。
local-port local-port-number local-name local-name remote-server remote-server remote-port remote-port-number [ description text ]
(5) (可選)配置端口轉發表項對應的資源。
execution script
(6) 退回SSL VPN訪問實例視圖。
quit
(7) 創建端口轉發列表,並進入端口轉發列表視圖。
port-forward port-forward-name
(8) 配置端口轉發列表引用端口轉發表項。
resources port-forward-item item-name
缺省情況下,端口轉發列表未引用任何端口轉發表項
在SSL VPN策略組視圖下引用端口轉發列表。SSL VPN用戶被授權某個策略組後,該策略組引用的端口轉發列表指定的TCP接入服務將同時授權給SSL VPN用戶,SSL VPN用戶可以訪問這些TCP接入服務。
SSL VPN網關可以通過高級ACL和URI ACL規則對SSL VPN用戶的TCP接入進行過濾,防止非法用戶接入內部網絡。
配置SSL VPN訪問控製策略後,設備對於PC版TCP客戶端的過濾原則為:僅當成功匹配端口轉發資源列表後用戶可以訪問授權資源,否則禁止所有客戶端訪問TCP接入資源;對於手機版TCP客戶端的過濾原則為:
(1) 優先匹配端口轉發資源列表,成功匹配後用戶可以訪問授權資源。
(2) 若端口轉發資源列表匹配失敗時,則進行URI ACL的規則檢查,成功匹配URI ACL中permit規則後用戶的訪問請求才允許通過。
(3) 若URI ACL匹配失敗時,再進行高級ACL的檢查,成功匹配permit規則後用戶的訪問請求才允許通過。
(4) 若高級ACL檢查失敗,則授權失敗,用戶不允許訪問資源。
高級ACL支持根據接入請求報文的目的IP地址和目的端口號進行過濾;URI ACL支持根據接入請求報文的協議類型、地址、域名、端口號和URL進行過濾。
(1) 進入係統視圖。
system-view
(2) 進入SSL VPN訪問實例視圖。
sslvpn context context-name
(3) 創建SSL VPN策略組,並進入SSL VPN策略組視圖。
policy-group group-name
(4) 配置策略組引用端口轉發列表。
resources port-forward port-forward-name
缺省情況下,策略組沒有引用任何端口轉發列表。
(5) (可選)配置對TCP接入進行過濾。
¡ 通過高級ACL方式進行過濾。
filter tcp-access [ ipv6 ] acl advanced-acl-number
¡ 通過URI ACL方式進行過濾。
filter tcp-access uri-acl uri-acl-name
缺省情況下,SSL VPN網關僅允許SSL VPN客戶端訪問端口轉發列表下的資源。
如果引用的ACL不存在,則SSL VPN網關拒絕所有SSL VPN客戶端訪問TCP接入服務。
為了使內部服務器的應答報文正確返回給SSL VPN客戶端,在內部服務器上需要配置到達SSL VPN客戶端虛擬網卡所在網段的靜態路由。
當設備上安裝了多個安全業務板時,IP接入方式需要與NAT配合使用,確保同一條流量的正反向報文被引流到同一個安全業務板。
IP接入服務配置任務如下:
(2) 配置分配給IP接入用戶的地址池
(5) (可選)配置SSL VPN用戶綁定IP地址
(6) (可選)配置IP接入方式與NAT配合使用
(1) 進入係統視圖。
system-view
(2) 創建SSL VPN AC接口,並進入SSL VPN AC接口視圖。
interface sslvpn-ac interface-number
(3) 配置接口的IPv4地址。
ip address ip-address { mask | mask-length }
缺省情況下,沒有指定接口的IPv4地址。
(4) 配置接口的IPv6地址。
ipv6 address { ipv6-address prefix-length | ipv6-address/ prefix-length }
缺省情況下,沒有指定接口的IPv6地址。
(5) (可選)配置接口的期望帶寬。
bandwidth bandwidth-value
缺省情況下,接口的期望帶寬為64kbps。
期望帶寬供業務模塊使用,不會對接口實際帶寬造成影響。
(6) (可選)配置當前接口的描述信息。
description text
缺省情況下,接口的描述信息為“接口名 Interface”,例如:SSLVPN-AC1000 Interface。
(7) (可選)配置接口的MTU值。
mtu size
缺省情況下,接口的MTU值為1500。
(8) 開啟當前接口。
undo shutdown
缺省情況下,SSL VPN AC接口均處於開啟狀態。
接口下的某些配置恢複到缺省情況後,會對設備上當前運行的業務產生影響。建議您在執行本配置前,完全了解其對網絡產生的影響。
(1) 進入係統視圖。
system-view
(2) 進入SSL VPN AC接口視圖。
interface sslvpn-ac interface-number
(3) 恢複當前接口的缺省配置。
default
您可以在執行default命令後通過display this命令確認執行效果。對於未能成功恢複缺省的配置,建議您查閱相關功能的命令手冊,手工執行恢複該配置缺省情況的命令。如果操作仍然不能成功,您可以通過設備的提示信息定位原因。
SSL VPN網關將從配置的IP地址池中為客戶端軟件的虛擬網卡分配IP地址。
地址池中配置的網段需要滿足以下要求:
· 不能和客戶端物理網卡的IP地址在同一個網段。
· 不能包含SSL VPN網關所在設備的接口地址,否則會導致地址衝突。
· 不能和欲訪問的內網地址在同一個網段。
(1) 進入係統視圖。
system-view
(2) 創建SSL VPN的IPv4地址池。
sslvpn ip address-pool pool-name start-ip-address end-ip-address
(3) 創建SSL VPN的IPv6地址池。
sslvpn ipv6 address-pool ipv6-pool-name start-ipv6-address end-ipv6-address
為SSL VPN訪問實例引用地址池,在客戶端通過驗證後,SSL VPN網關會從該訪問實例引用的地址池中選擇IP地址分配給客戶端。
在SSL VPN訪問實例下還可以配置路由列表,為客戶端分配路由表項。
通過IP方式成功登錄SSL VPN網關後自動推送資源列表功能僅支持在Windows係統安裝了iNode環境下使用,安裝iNode客戶端有如下兩種方式:
· 通過瀏覽器登錄SSL VPN網關後,下載並安裝設備自帶的iNode客戶端。
· 安裝官網下載的iNode客戶端,這種方式下需要在定製iNode客戶端時勾選“生成VPN網關iNode安裝包”選項,否則會因為推送的Web頁麵無法檢測iNode客戶端是否已登錄,而導致用戶自動下線。
(1) 進入係統視圖。
system-view
(2) 進入SSL VPN訪問實例視圖。
sslvpn context context-name
(3) 配置IP接入引用的SSL VPN AC接口。
ip-tunnel interface sslvpn-ac interface-number
缺省情況下,IP接入未引用SSL VPN AC接口。
(4) 配置IPv4路由列表
a. 創建IPv4路由列表,並進入IPv4路由列表視圖。
ip-route-list list-name
b. 在IPv4路由列表中添加IPv4路由。
include ip-address { mask | mask-length }
c. (可選)在IPv4路由列表中添加IPv4例外路由。
exclude ip-address { mask | mask-length }
d. 退回SSL VPN訪問實例視圖。
quit
(5) 配置IPv6路由列表
a. 創建IPv6路由列表,並進入IPv6路由列表視圖。
ipv6-route-list ipv6-list-name
b. 在IPv6路由列表中添加IPv6路由。
include ipv6 ipv6-address prefix-length
c. (可選)在IPv6路由列表中添加IPv6例外路由。
exclude ipv6 ipv6-address prefix-length
d. 退回SSL VPN訪問實例視圖。
quit
(6) 配置IP接入引用IPv4地址池。
ip-tunnel address-pool pool-name mask { mask-length | mask }
缺省情況下,IP接入未引用IPv4地址池。
(7) 配置IP接入引用IPv6地址池。
ip-tunnel ipv6 address-pool ipv6-pool-name prefix prefix-length
缺省情況下,IP接入未引用IPv6地址池。
(8) (可選)配置保活報文的發送時間間隔。
ip-tunnel keepalive seconds
缺省情況下,保活報文的發送時間間隔為30秒。
(9) (可選)配置為客戶端指定的內網DNS服務器IPv4地址。
ip-tunnel dns-server { primary | secondary } ip-address
缺省情況下,未配置為客戶端指定的DNS服務器IPv4地址。
(10) (可選)配置為客戶端指定的內網DNS服務器IPv6地址。
ip-tunnel ipv6 dns-server { primary | secondary } ipv6-address
缺省情況下,未配置為客戶端指定的DNS服務器IPv6地址。
(11) (可選)配置為客戶端指定的內網WINS服務器地址。
ip-tunnel wins-server { primary | secondary } ip-address
缺省情況下,未配置為客戶端指定的WINS服務器地址。
(12) (可選)開啟通過Web方式成功登錄SSL VPN網關後自動啟動IP客戶端功能。
web-access ip-client auto-activate
缺省情況下,通過Web方式成功登錄SSL VPN網關後自動啟動IP客戶端功能處於關閉狀態。
(13) (可選)開啟通過IP方式成功登錄SSL VPN網關後自動推送資源列表功能。
ip-tunnel web-resource auto-push
缺省情況下,通過IP方式成功登錄SSL VPN網關後自動推送資源列表功能處於關閉狀態。
(14) (可選)開啟IP接入方式的限速功能,並配置限速速率。
ip-tunnel rate-limit { downstream | upstream } { kbps | pps } value
缺省情況下,IP接入方式的限速功能處於關閉狀態。
在SSL VPN策略組視圖下需要配置下發給客戶端的路由表項。AAA服務器或者自定義認證服務器將某個策略組授權給SSL VPN用戶後,SSL VPN網關會將該策略組下配置的路由表項下發給客戶端。下發的路由表項具有三種配置方法:
· 直接配置路由表項:用於將一條路由下發給客戶端。
· 配置路由列表:用於將路由列表中的多條路由同時下發給客戶端。
· 強製將客戶端的流量轉發給SSL VPN網關(指定force-all參數):SSL VPN網關在客戶端上添加優先級最高的缺省路由,路由的出接口為虛擬網卡,從而使得所有沒有匹配到路由表項的流量都通過虛擬網卡發送給SSL VPN網關。SSL VPN網關還會實時監控SSL VPN客戶端,不允許SSL VPN客戶端刪除此缺省路由,且不允許SSL VPN客戶端添加優先級高於此路由的缺省路由。
SSL VPN網關可以通過高級ACL和URI ACL規則對SSL VPN用戶的IP接入進行過濾,防止非法用戶接入內部網絡。配置SSL VPN訪問控製策略後,設備對IP接入按照如下原則過濾:
(1) 進行URI ACL的規則檢查,成功匹配URI ACL中permit規則後用戶的訪問請求才允許通過。
(2) 若URI ACL匹配失敗時,再進行高級ACL的檢查,成功匹配規則後用戶的訪問請求才允許通過。
(3) 若高級ACL檢查失敗,則授權失敗,用戶不允許訪問資源。
若URI ACL和高級ACL均未引用,則SSL VPN網關默認允許所有IP接入方式的訪問。
高級ACL支持根據接入請求報文的目的IP地址和目的端口號、源IP地址和源端口號、協議類型、報文優先級、分片信息、TCP報文標識、ICMP報文的消息類型和消息碼信息進行過濾;URI ACL支持根據接入請求報文的協議類型、地址、域名、端口號和URL進行過濾。
配置對IP接入進行URI ACL過濾時,URI ACL規則中請不要包含HTTP和HTTPS協議,否則配置後不生效。
(1) 進入係統視圖。
system-view
(2) 進入SSL VPN訪問實例視圖。
sslvpn context context-name
(3) 創建SSL VPN策略組,並進入SSL VPN策略組視圖。
policy-group group-name
(4) 配置下發給客戶端的IPv4路由表項。
ip-tunnel access-route { ip-address { mask-length | mask } | force-all | ip-route-list list-name }
缺省情況下,未指定下發給客戶端的IPv4路由表項。
(5) 配置下發給客戶端的IPv6路由表項。
ip-tunnel ipv6 access-route { ipv6-address prefix-length | ipv6-route-list ipv6-list-name }
缺省情況下,未指定下發給客戶端的IPv6路由表項。
(6) 配置強製將客戶端的IPv6流量轉發給SSL VPN網關。
ip-tunnel ipv6 access-route force-all
缺省情況下,未配置強製將客戶端的IPv6流量轉發給SSL VPN網關。
(7) 配置對IP接入進行過濾。
¡ 通過高級ACL方式進行過濾。
filter ip-tunnel [ ipv6 ] acl advanced-acl-number
¡ 通過URI ACL方式進行過濾。
filter ip-tunnel uri-acl uri-acl-name
缺省情況下,SSL VPN網關允許SSL VPN客戶端訪問IP接入資源。
如果引用的ACL不存在,則SSL VPN網關拒絕所有IP接入方式的訪問。
(8) (可選)配置策略組引用的IPv4地址池。
ip-tunnel address-pool pool-name mask { mask-length | mask }
缺省情況下,策略組下未引用IPv4地址池。
若引用的地址池不存在或無可用地址,分配失敗,用戶無法通過IP接入。若策略組未引用IPv4地址池,則SSL VPN網關將使用SSL VPN訪問實例中引用的IPv4地址池為客戶端分配IPv4地址。
(9) (可選)配置策略組引用的IPv6地址池。
ip-tunnel ipv6 address-pool ipv6-pool-name prefix prefix-length
缺省情況下,策略組下未引用IPv6地址池。
若引用的地址池不存在或無可用地址,分配失敗,用戶無法通過IP接入。若策略組未引用IPv6地址池,則SSL VPN網關將使用SSL VPN訪問實例中引用的IPv6地址池為客戶端分配IPv6地址。
客戶端使用IP接入方式訪問SSL VPN網關時,網關需要為客戶端分配IP地址。通過配置本功能,可以保證同一個用戶多次訪問該網關時能使用固定範圍的IP地址。本功能提供以下兩種方式為SSL VPN用戶綁定IP地址:
· 指定固定的地址範圍:為用戶綁定分配的IP地址列表,當網關從地址池中為客戶端分配IP地址時,優先分配綁定的IP地址。
· 指定可分配的地址數目:網關也可以為客戶端自動分配空閑的IP地址,即網關會從地址池中獲取指定個數的空閑IP地址,為用戶綁定。
當SSL VPN策略組中引用了地址池時,配置SSL VPN用戶綁定的IP地址必須是此地址池中的IP地址。
當SSL VPN策略組中未引用地址池時,配置SSL VPN用戶綁定的IP地址必須是此SSL VPN訪問實例引用的地址池中的IP地址。
未關聯VPN實例或在同一VPN實例中,不同SSL VPN用戶不能綁定相同的IP地址。
(1) 進入係統視圖。
system-view
(2) 進入SSL VPN訪問實例視圖。
sslvpn context context-name
(3) 創建SSL VPN用戶,並進入SSL VPN用戶視圖。
user username
(4) 配置SSL VPN用戶綁定的IPv4地址。
ip-tunnel bind address { ip-address-list | auto-allocate number }
缺省情況下,SSL VPN用戶未綁定IPv4地址
(5) 配置SSL VPN用戶綁定的IPv6地址。
ip-tunnel ipv6 bind address { ipv6-address-list | auto-allocate number }
缺省情況下,SSL VPN用戶未綁定IPv6地址。
當設備上安裝了多個安全業務板時,IP接入方式需要與NAT配合使用,即在SSL VPN網關連接內網服務器的接口的出方向配置NAT功能對源地址進行轉換。確保同一條流量的正反向報文被引流到同一個安全業務板。
如果不做源地址轉換,則可能會出現同一條流量的正反向報文被引流到不同安全業務板的情況,從而影響SSL VPN業務的正常處理。具體原因如下:
當SSL VPN網關接收到用戶訪問內網資源的正向報文時,將使用報文的源IP地址(用戶主機物理網卡的IP地址)進行Hash選板;當SSL VPN網關接收到此條流量的反向報文時,將使用報文的目的IP地址(用戶主機虛擬網卡的IP地址)進行Hash選板。這種情況下可能會出現兩次Hash選擇的安全業務板不同。
通過在SSL VPN網關上配置NAT功能,NAT模塊將會對SSL VPN網關與內網服務器之間的報文進行IP地址轉換,並生成Openflow引流規則,確保同一條流量的正反向報文被引流到同一個安全業務板。
有關NAT的詳細介紹,請參見“三層技術-IP業務配置指導”中的“NAT”。
在SSL VPN網關連接內網服務器的接口的出方向配置NAT功能對源地址進行轉換。
NAT地址組中的地址建議與配置NAT功能的內網接口上的IP地址在同一網段。
需要對IP客戶端(即虛擬網卡)的IP地址進行NAT源地址轉換。
(1) 進入係統視圖。
system-view
(2) 創建NAT地址組,並進入NAT地址組視圖。
nat address-group group-id [ name group-name ]
(3) 添加地址組成員。
address start-address end-address
可通過多次執行本命令添加多個地址組成員。
當前地址組成員的IP地址段不能與該地址組中或者其它地址組中已有的地址成員組成員重疊。
(4) 退回係統視圖。
quit
(5) 進入接口視圖。
interface interface-type interface-number
(6) 配置出方向動態地址轉換。
nat outbound [ ipv4-acl-number | name ipv4-acl-name ] address-group { group-id | name group-name } [ vpn-instance vpn-instance-name ] no-pat [ reversible ] [ rule rule-name ] [ priority priority ] [ disable ] [ counting ] [ description text ]
缺省情況下,不存在動態地址轉換配置。
為移動客戶端配置SSL VPN接入服務配置任務如下:
(1) 為移動客戶端指定EMO服務器
(2) (可選)為移動客戶端指定Message服務器
EMO服務器用來為移動客戶端提供服務。執行本命令後,SSL VPN網關會將配置的EMO服務器信息下發給客戶端,以便移動客戶端通過EMO服務器獲取可以訪問的服務資源。
(1) 進入係統視圖。
system-view
(2) 進入SSL VPN訪問實例視圖。
sslvpn context context-name
(3) 配置為客戶端指定的EMO服務器。
emo-server address { host-name | ipv4-address } port port-number
缺省情況下,未配置為客戶端指定的EMO服務器。
Message服務器用來為移動客戶端提供服務。執行本命令後,SSL VPN網關會將配置的Message服務器信息下發給客戶端,以便客戶端訪問Message服務器。
(1) 進入係統視圖。
system-view
(2) 進入SSL VPN訪問實例視圖。
sslvpn context context-name
(3) 配置為客戶端指定的Message服務器。
message-server address { host-name | ipv4-address } port port-number
缺省情況下,未配置為客戶端指定的Message服務器。
當用戶需要快速訪問企業內網資源時,可以配置快捷方式,以便在SSL VPN網關的Web頁麵上增加訪問內網資源的快捷方式,用戶單擊配置的快捷方式名稱就能夠訪問對應的內網資源。
(1) 進入係統視圖。
system-view
(2) 進入SSL VPN訪問實例視圖。
sslvpn context context-name
(3) 創建快捷方式,並進入快捷方式視圖。
shortcut shortcut-name
(4) (可選)配置快捷方式的描述信息。
description text
缺省情況下,設備上不存在配置描述信息。
(5) 配置快捷方式對應的資源。
execution script
缺省情況下,不存在快捷方式對應的資源。
(6) 退回SSL VPN訪問實例視圖。
quit
(7) 創建快捷方式列表,並進入快捷方式列表視圖。
shortcut-list list-name
(8) 配置快捷方式列表引用快捷方式。
resources shortcut shortcut-name
缺省情況下,快捷方式列表未引用快捷方式。
(9) 退回SSL VPN訪問實例視圖。
quit
(10) 進入SSL VPN策略組視圖。
policy-group group-name
(11) 配置策略組引用快捷方式列表。
resources shortcut-list list-name
缺省情況下,策略組未引用任何快捷方式列表。
缺省情況下用戶登錄SSL VPN網關後,進入的頁麵為SSL VPN資源頁麵。當用戶需要實現登錄SSL VPN網關後,SSL VPN資源頁麵重定向到指定頁麵,可以配置重定向資源,以便SSL VPN用戶快速訪問常用的內網資源。
(1) 進入係統視圖。
system-view
(2) 進入SSL VPN訪問實例視圖。
sslvpn context context-name
(3) 進入SSL VPN策略組視圖。
policy-group group-name
(4) 配置用戶登錄SSL VPN網關後授權給用戶的重定向資源。
redirect-resource { shortcut | url-item } resource-name
缺省情況下,用戶登錄SSL VPN網關後進入SSL VPN資源頁麵,不進行頁麵重定向。
缺省情況下,SSL VPN網關隻允許用戶以HTTPS方式登錄訪問,不允許用戶以HTTP方式登錄訪問。配置HTTP重定向功能後,SSL VPN網關將監聽指定的端口號,並把指定端口號的HTTP流量重定向到HTTPS服務監聽的端口,向客戶端發送重定向報文,讓客戶端重新以HTTPS方式登錄。
(1) 進入係統視圖。
system-view
(2) 進入SSL VPN網關視圖。
sslvpn gateway gateway-name
(3) 開啟HTTP流量的重定向功能。
http-redirect [ port port-number ]
缺省情況下,未開啟HTTP流量的重定向功能,SSL VPN網關不會處理HTTP流量。
遠端接入用戶訪問SSL VPN訪問實例時,如果AAA服務器沒有為該用戶授權策略組,則SSL VPN網關為用戶下發缺省SSL VPN策略組,定義該用戶可訪問的資源。如果沒有配置缺省SSL VPN策略組,則SSL VPN網關拒絕用戶的接入請求。
(1) 進入係統視圖。
system-view
(2) 進入SSL VPN訪問實例視圖。
sslvpn context context-name
(3) 創建策略組,並進入SSL VPN策略組視圖。
policy-group group-name
(4) 為策略組指定資源。
¡ 為SSL VPN策略組配置指定Web接入資源。
resources url-list url-list-name
缺省情況下,策略組沒有引用任何URL列表。
¡ 為SSL VPN策略組配置指定TCP接入資源。
resources port-forward port-forward-name
缺省情況下,策略組沒有引用任何端口轉發列表。
¡ 為SSL VPN策略組配置指定IPv4接入資源。
ip-tunnel access-route { ip-address { mask-length | mask } | force-all | ip-route-list list-name }
缺省情況下,未指定下發給客戶端的IPv4路由表項。
¡ 為SSL VPN策略組配置指定IPv6接入資源。
ip-tunnel ipv6 access-route { ipv6-address prefix-length | ipv6-route-list ipv6-list-name }
缺省情況下,未指定下發給客戶端的IPv6路由表項。
¡ 配置強製將客戶端的IPv6流量轉發給SSL VPN網關。
ip-tunnel ipv6 access-route force-all
缺省情況下,未配置強製將客戶端的IPv6流量轉發給SSL VPN網關。
(5) (可選)配置對Web接入進行過濾。
¡ 通過高級ACL方式進行過濾。
filter web-access [ ipv6 ] acl advanced-acl-number
¡ 通過URI ACL方式進行過濾。
filter web-access uri-acl uri-acl-name
缺省情況下,SSL VPN網關僅允許SSL VPN客戶端訪問被授權URL列表下的資源。
如果引用的ACL不存在,則SSL VPN網關拒絕所有SSL VPN客戶端訪問Web資源。
(6) (可選)配置對TCP接入進行過濾。
¡ 通過高級ACL方式進行過濾。
filter tcp-access [ ipv6 ] acl advanced-acl-number
¡ 通過URI ACL方式進行過濾。
filter tcp-access uri-acl uri-acl-name
缺省情況下,SSL VPN網關僅允許SSL VPN客戶端訪問端口轉發列表下的資源。
如果引用的ACL不存在,則SSL VPN網關拒絕所有SSL VPN客戶端訪問TCP接入服務。
(7) (可選)配置對IP接入進行過濾。
¡ 通過高級ACL方式進行過濾。
filter ip-tunnel [ ipv6 ] acl advanced-acl-number
¡ 通過URI ACL方式進行過濾。
filter ip-tunnel uri-acl uri-acl-name
缺省情況下,SSL VPN網關允許SSL VPN客戶端訪問IP接入資源。
如果引用的ACL不存在,則SSL VPN網關拒絕所有IP接入方式的訪問。
(8) 退回SSL VPN訪問實例視圖。
quit
(9) 指定某個策略組為缺省策略組。
default-policy-group group-name
缺省情況下,沒有指定缺省策略組。
SSL VPN支持基於角色對用戶進行資源授權與訪問控製,相同角色的用戶具有相同的訪問權限。角色是連接用戶和資源的橋梁,可以將權限相同的用戶加入某個角色,並在角色中引用資源,以及配置用戶對資源的訪問方式。
在角色中引用資源及配置用戶對資源的訪問方式的具體方法如下:
· 通過policy-group命令引用策略組,定義該角色可以訪問的資源。
· 通過web-access enable、tcp-access enable、ip-tunnel enable命令分別配置該角色中的用戶對資源的訪問方式,包括Web接入方式、TCP接入方式和IP接入方式。
SSL VPN用戶成功登錄SSL VPN網關後,SSL VPN網關通過身份識別模塊查詢該用戶所屬的身份識別角色信息,並查詢SSL VPN訪問實例中是否存在該角色,若存在該角色,則將該角色所擁有的資源授權給用戶訪問,並限定用戶對資源的訪問方式。當某個用戶屬於多個角色時,SSL VPN將對該用戶進行合並授權,即該用戶所具有的資源訪問權限是多個角色內資源的合集。
如果SSL VPN網關通過身份識別模塊查詢到的用戶所屬身份識別角色在SSL VPN訪問實例中沒有配置,或者用戶所屬的身份識別角色中未配置任何資源,用戶將無法通過角色授權方式訪問資源。此時,SSL VPN將采用原有流程對用戶進行授權,即采用AAA模塊為用戶授權的SSL VPN策略組對用戶進行授權。若AAA模塊未返回任何策略組信息,則使用SSL VPN缺省策略組對用戶進行授權。若SSL VPN訪問實例未配置缺省策略組,則用戶將無法訪問資源。
有關身份識別角色的詳細介紹,請參見“安全配置指導”中的“用戶身份識別與管理”。
本功能配置的角色名稱需要與身份識別模塊配置的身份識別角色名稱一一對應。
身份識別模塊定義了名稱為default的用戶角色,即未指定角色的用戶將默認屬於default角色。SSL VPN訪問實例中需要創建一個名稱同為default的角色,在該角色中配置的資源將授權給沒有指定角色的用戶。
同一個用戶最多可以通過角色被授權20個不同的策略組。
(1) 進入係統視圖。
system-view
(2) 進入SSL VPN訪問實例視圖。
sslvpn context context-name
(3) 創建角色,並進入角色視圖。
role role-name
(4) 配置角色引用的策略組。
resources policy-group group-name
缺省情況下,角色未引用任何策略組。
(5) 開啟角色的Web接入功能。
web-access enable
缺省情況下,角色的Web接入功能處於關閉狀態。
(6) 開啟角色的TCP接入功能。
tcp-access enable
缺省情況下,角色的TCP接入功能處於關閉狀態。
(7) 開啟角色的IP接入功能。
ip-tunnel enable
缺省情況下,角色的IP接入功能處於關閉狀態。
將不同的SSL VPN訪問實例關聯不同的VPN實例,可以隔離不同訪問實例內的服務器資源,避免非法用戶訪問特定資源的同時,還可以實現服務器資源的地址重疊。
配置此功能前,請先進行如下配置:
· 創建VPN實例。
· SSL VPN網關設備連接企業網內部服務器的接口上綁定該VPN實例。
· 對於IP接入方式,還需要在SSL VPN訪問實例引用的SSL VPN AC接口上綁定該VPN實例。
有關VPN實例的詳細配置,請參見“VPN實例配置指導”中的“VPN實例”。
(1) 進入係統視圖。
system-view
(2) 進入SSL VPN訪問實例視圖。
sslvpn context context-name
(3) 配置SSL VPN訪問實例關聯的VPN實例。
vpn-instance vpn-instance-name
缺省情況下,SSL VPN訪問實例關聯公網。
指定SSL VPN網關所屬的VPN實例後,隻有屬於同一個VPN的用戶才可以訪問SSL VPN網關,從而避免內部服務器資源泄漏到公網和其他VPN中。
配置此功能前,請先進行如下配置:
· 創建VPN實例。
· SSL VPN網關設備連接用戶的接口上綁定該VPN實例。
(1) 進入係統視圖。
system-view
(2) 進入SSL VPN網關視圖。
sslvpn gateway gateway-name
(3) 配置SSL VPN網關所屬的VPN實例。
vpn-instance vpn-instance-name
缺省情況下,SSL VPN網關屬於公網。
通過配置SSL VPN在線用戶控製,可以控製SSL VPN登錄用戶的上下線和在線數量。
(1) 進入係統視圖。
system-view
(2) 進入SSL VPN訪問實例視圖。
sslvpn context context-name
(3) 強製在線用戶下線。
force-logout [ all | session session-id | user user-name ]
(4) 配置每個用戶名的同時最大在線數。
max-onlines number
缺省情況下,同一用戶的同時最大在線數為32。
(5) 開啟達到最大在線數再登錄時強製下線功能。
force-logout max-onlines enable
缺省情況下,達到最大在線數再登錄時強製下線功能處於關閉狀態。
(6) 配置每個會話的最大連接數。
session-connections number
缺省情況下,每個會話的同時最大連接數為64。
本功能用於限製SSL VPN訪問實例下SSL VPN會話的速率,超過此速率之後,此SSL VPN會話相應方向的報文將會被丟棄。
(1) 進入係統視圖。
system-view
(2) 進入SSL VPN訪問實例視圖。
sslvpn context context-name
(3) 開啟SSL VPN會話的限速功能,並配置限速速率。
rate-limit { downstream | upstream } value
缺省情況下,SSL VPN會話的限速功能處於關閉狀態。
SSL VPN防暴力破解功能指,通過限製同一IP地址嚐試登錄SSL VPN訪問實例的次數,降低登錄信息被暴力破解的風險。
當同一IP地址連續登錄SSL VPN訪問實例失敗(即兩次登錄失敗的間隔在45秒內)的次數達到SSL VPN網關管理員設置的限製次數時,SSL VPN訪問實例將凍結該IP地址,在凍結期間內,禁止該IP地址再次登錄此SSL VPN訪問實例。當達到凍結時間後,被凍結的IP地址將自動解凍。如果想立即解凍被凍結的IP地址,可以執行prevent-cracking unfreeze-ip命令手工解凍。
(1) 進入係統視圖。
system-view
(2) 進入SSL VPN訪問實例視圖。
sslvpn context context-name
(3) 開啟防暴力破解凍結IP地址功能。
prevent-cracking freeze-ip enable
缺省情況下,防暴力破解凍結IP地址功能處於關閉狀態。
(4) (可選)設置防暴力破解凍結IP地址功能參數。
prevent-cracking freeze-ip login-failures login-failures freeze-time freeze-time
缺省情況下,允許同一IP地址連續登錄訪問實例失敗的次數為64次,IP地址被凍結的時間為30秒。
(5) 開啟防暴力破解驗證碼驗證功能。
prevent-cracking verify-code enable
缺省情況下,防暴力破解驗證碼驗證功能處於關閉狀態。
(6) (可選)設置防暴力破解驗證碼驗證功能參數。
prevent-cracking verify-code login-failures login-failures
缺省情況下,允許同一IP地址連續登錄SSL VPN訪問實例失敗的次數為5次。
(7) (可選)手工解凍防暴力破解凍結的IP地址。
prevent-cracking unfreeze-ip { all | { ipv4 | ipv6 } ip-address }
單點登錄指,SSL VPN用戶隻需要登錄一次,即可訪問所有相互信任的應用係統。SSL VPN網關管理員可以配置單點登錄功能,使SSL VPN的Web接入用戶可以不必輸入登錄內網服務器的用戶名和密碼,自動登錄內網服務器。
設備支持兩種單點登錄方式:
· 自動構建登錄請求方式:SSL VPN網關管理員通過抓包工具獲取內網服務器的登錄請求報文,並根據請求報文設置單點登錄信息(HTTP請求方式、登錄請求報文的編碼方式、登錄參數、登錄參數取值的加密文件),自動構建登錄請求。
自動構建登錄請求方式的單點登錄目前僅支持用於登錄通過用戶名密碼認證的內網服務器。
· Basic認證方式:Basic認證是一種簡單的HTTP認證方式,指客戶端通過Web頁麵訪問服務器時,如果服務器需要對客戶端進行Basic認證,會彈出Basic認證對話框,要求客戶端輸入用戶名和密碼,服務器會根據輸入的用戶名和密碼,判斷客戶端是否合法。Basic認證方式的單點登錄是指,SSL VPN網關作為客戶端自動添加用戶名和密碼(此用戶名和密碼可以是登錄SSL VPN網關的用戶名和密碼,或者自定義的用戶名和密碼),模擬Basic認證方式實現單點登錄。
Basic認證方式的單點登錄僅用於登錄支持Basic認證方式登錄的內網服務器。
對於自動構建登錄請求方式下的單點登錄,有如下使用限製:
· 僅支持Web接入方式的單點登錄。
· 選擇用戶組作為登錄參數時,隻支持遠程用戶。
· 隻支持從SSL VPN資源頁麵單擊URL鏈接時才會自動登錄,不支持在地址欄或URL輸入框中打開資源。
· 不支持登錄需要圖形校驗碼校驗的頁麵。
· 不支持登錄需要挑戰碼驗證或調用腳本的頁麵。
(1) 進入係統視圖。
system-view
(2) 進入SSL VPN訪問實例視圖。
sslvpn context context-name
(3) 創建URL表項,並進入URL表項視圖。
url-item name
(4) 配置資源的URL。
url url
缺省情況下,未配置資源的URL。
如果URL中未指定協議類型,則默認為HTTP。
(5) 開啟自動構建登錄請求方式下的單點登錄功能。
sso method auto-build
缺省情況下,Web接入方式下的單點登錄功能處於關閉狀態。
(6) 配置自動構建登錄請求方式下單點登錄的HTTP請求方式。
sso auto-build request-method { get | post }
缺省情況下,自動構建登錄請求方式下單點登錄的HTTP請求方式為GET。
(7) 配置自動構建登錄請求方式下單點登錄的登錄請求報文的編碼方式。
sso auto-build code { gb18030 | utf-8 }
缺省情況下,自動構建登錄請求方式下單點登錄的登錄請求報文的編碼方式為UTF-8。
(8) 配置自動構建登錄請求方式下單點登錄的登錄參數。
sso auto-build login-parameter { cert-fingerprint | cert-serial | cert-title | custom-password | custom-username | login-name | login-password | mobile-num | user-group } name parameter-name [ encrypt ]
缺省情況下,未配置自動構建登錄請求方式下單點登錄的登錄參數。
(9) 配置自動構建登錄請求方式下單點登錄的自定義登錄參數。
sso auto-build custom-login-parameter name parameter-name value value [ encrypt ]
缺省情況下,未配置自動構建登錄請求方式下單點登錄的自定義登錄參數。
(10) 配置自動構建登錄請求方式下單點登錄的登錄參數加密文件。
sso auto-build encrypt-file filename
缺省情況下,未配置自動構建登錄請求方式下單點登錄的登錄參數加密文件。
(1) 進入係統視圖。
system-view
(2) 進入SSL VPN訪問實例視圖。
sslvpn context context-name
(3) 創建URL表項,並進入URL表項視圖。
url-item name
(4) 配置資源的URL。
url url
缺省情況下,未配置資源的URL。
如果URL中未指定協議類型,則默認為HTTP。
(5) 開啟Basic認證方式下的單點登錄功能。
sso method basic
缺省情況下,Web接入方式下的單點登錄功能處於關閉狀態。
(6) (可選)使能Basic認證方式下單點登錄使用自定義用戶名和密碼。
sso basic custom-username-password enable
缺省情況下,Basic認證方式的單點登錄使用登錄SSL VPN網關的用戶名和密碼。
企業微信客戶端訪問內網資源功能是指,設備從企業微信獲取企業用戶信息,並使用該信息對用戶進行認證和授權,認證和授權成功後,用戶將可以通過企業微信客戶端直接訪問內網資源。此功能對於企業用戶而言是透明、無感知的。
如圖1-11所示,企業微信客戶端訪問內網資源功能的工作機製如下:
(1) 企業用戶通過單擊企業微信客戶端工作台中指定的應用,向微信開放平台發起訪問企業內網資源的請求。
(2) 微信開放平台將訪問流量重定向至SSL VPN網關(重定向鏈接需要管理員在企業微信管理平台配置),從而實現SSL VPN網關對企業內網資源的安全防護。
(3) 當SSL VPN網關收到重定向而來的報文後,SSL VPN網關向企業微信API(Application Programming Interface,應用程序接口)服務器請求用戶的賬號(userid)。
(4) 企業微信API服務器返回用戶的賬號(userid)。
(5) SSL VPN網關攜帶用戶的userid,向企業微信API服務器進一步獲取該用戶所屬的組織信息(此組織信息對應SSL VPN網關配置的策略組名稱)。
(6) 企業微信API服務器返回該用戶所屬的組織信息。
(7) SSL VPN網關根據獲取的用戶信息,對用戶進行認證,並授權其可以訪問的資源。
(8) SSL VPN網關組裝攜帶用戶信息的登錄參數,向內網服務器發起資源訪問請求。
(9) 內網服務器將應答報文發送至SSL VPN網關。
(10) SSL VPN網關將內網服務器應答報文,轉發至企業微信客戶端。
設備缺省證書不支持企業微信客戶端訪問內網資源功能,請安裝可信的SSL證書。若SSL VPN訪問實例配置了企業微信客戶端訪問內網資源功能,則該訪問實例僅支持通過直接訪問網關方式關聯SSL VPN網關。
在開始配置企業微信客戶端訪問內網資源功能之前,SSL VPN網關管理員需要在企業微信管理平台進行如下配置。
在企業微信管理平台配置重定向鏈接的步驟如下:
(1) 在瀏覽器中輸入地址https://work.weixin.qq.com,使用企業微信客戶端掃碼登錄企業微信管理平台,單擊<應用管理>按鈕,選擇應用,進入應用頁麵。
(2) 在應用頁麵設置工作台應用主頁重定向鏈接,鏈接的形式為:https://open.weixin.qq.com/connect/oauth2/authorize?appid=CORPID&redirect_uri=https://gateway.example.com:port/_proxywx/https/443/www.resources.example.com/?ctx=contextName&response_type=code&scope=snsapi_base&agentid=AGENTID&connect_redirect=1#wechat_redirect。
¡ CORPID為企業ID,企業ID在企業微信管理平台上的查看路徑為:“我的企業”>“企業信息”。
¡ gateway.example.com:port為SSL VPN網關的域名及端口號。
¡ www.resources.example.com為企業內網資源的域名。
¡ contextName為用戶使用的SSL VPN訪問實例名稱。
¡ AGENTID為企業應用的ID,企業應用ID在企業微信管理平台上的查看路徑為:“應用管理”>“應用詳情”>“Agentid”。
¡ https://gateway.example.com:port/_proxywx/https/443/www.resources.example.com/?ctx=contextName需要替換為URL編碼格式。
在企業微信管理平台配置可信域名的步驟如下:
(1) 在瀏覽器中輸入地址https://work.weixin.qq.com,使用企業微信客戶端掃碼登錄企業微信管理平台,單擊<應用管理>按鈕,選擇應用,進入應用頁麵。
(2) 在應用頁麵的“網頁授權及JS-SDK”處,單擊<申請域名校驗>按鈕,在可信域名輸入框中輸入SSL VPN網關的域名和端口gateway.example.com:port。
(3) 單擊<申請校驗域名>按鈕,按照頁麵提示下載文件,並在SSL VPN網關Web網管頁麵的全局配置頁麵上傳域名校驗文件。
(4) 勾選“已上傳域名歸屬校驗文件”,單擊<確定>按鈕,完成域名校驗。
(1) 進入係統視圖。
system-view
(2) 進入SSL VPN訪問實例視圖。
sslvpn context context-name
(3) 開啟企業微信認證功能。
wechat-work-authentication enable
缺省情況下,企業微信認證功能處於關閉狀態。
(4) 配置企業微信API服務器的URL地址。
wechat-work-authentication url url
缺省情況下,未配置企業微信API服務器的URL地址。
(5) 配置企業微信認證的超時時間。
wechat-work-authentication timeout seconds
缺省情況下,企業微信認證的超時時間為15秒。
(6) 配置企業微信認證使用的企業ID。
wechat-work-authentication corp-id corp-id
缺省情況下,未配置企業微信認證使用的企業ID。
(7) 配置企業微信認證中企業應用數據的訪問密鑰。
wechat-work-authentication app-secret app-secret
缺省情況下,未配置企業微信認證中企業應用數據的訪問密鑰。
(8) 配置SSL VPN網關登錄內網服務器使用的企業微信userid字段名。
wechat-work-authentication userid-field userid-field
缺省情況下,未配置SSL VPN網關登錄內網服務器使用的企業微信userid字段名。
(9) 配置企業微信授權策略組字段名。
wechat-work-authentication authorize-field authorize-field
缺省情況下,未配置企業微信授權策略組字段名。
(10) 配置微信開放平台的URL地址。
wechat-work-authentication open-platform-url { pre-defined | user-defined user-defined-url }
缺省情況下,未配置微信開放平台的URL地址。
當需要限製用戶使用某些類型的接入客戶端軟件登錄SSL VPN網關時,可通過配置本功能禁用該類型接入客戶端軟件。
瀏覽器被禁用後,已登錄用戶和新用戶均無法使用瀏覽器登錄SSL VPN網關;當瀏覽器解除禁用後,用戶需要刷新登錄頁麵重新登錄。其他類型接入客戶端軟件被禁用後,僅對新登錄用戶生效,已登錄用戶不受影響。
(1) 進入係統視圖。
system-view
(2) 進入SSL VPN訪問實例視圖。
sslvpn context context-name
(3) 配置禁用的SSL VPN接入客戶端軟件類型。
access-deny-client { browser | mobile-inode | pc-inode } *
缺省情況下,不限製SSL VPN用戶登錄SSL VPN網關使用的接入客戶端軟件類型。
正常情況下,SSL VPN用戶下載的IP接入客戶端是存儲在設備上的,但是對於一些存儲空間較小的設備,無法在設備上部署IP接入客戶端。
為了解決此問題,SSL VPN網關管理員可以通過本功能配置IP接入客戶端的下載路徑為官網或者自定義的URL地址。此時,設備既可以節省存儲空間,同時SSL VPN用戶也可以正常的下載IP接入客戶端。設備支持配置Windows、Mac、Linux係統的IP接入客戶端下載路徑。
(1) 進入係統視圖。
system-view
(2) 配置Windows、Mac、Linux係統的IP接入客戶端下載路徑。
sslvpn ip-client download-path { { common | kylin | uos } { linux-arm | linux-loongarch | linux-mips | linux-x86 } url url | mac url url | windows { local | official | url url } }
Mac、Linux係統的IP接入客戶端下載路徑為官網。
若在SSL VPN訪問實例視圖下設置了自定義頁麵模板,則SSL VPN訪問實例視圖下定製的頁麵信息不再生效。
管理員可以根據需要對SSL VPN頁麵進行定製。目前,支持的頁麵定製項包括:登錄頁麵歡迎信息、登錄頁麵是否顯示密碼輸入框、頁麵標題、logo圖標、登錄頁麵和資源頁麵公告信息、資源頁麵供用戶下載的資源文件、修改密碼頁麵密碼複雜度提示信息、改寫服務器返回信息。
(1) 進入係統視圖。
system-view
(2) 進入SSL VPN訪問實例視圖。
sslvpn context context-name
(3) 配置SSL VPN登錄頁麵的歡迎信息。
login-message { chinese chinese-message | english english-message }
缺省情況下,英文登錄頁麵的歡迎信息為“Welcome to SSL VPN”,中文登錄頁麵的歡迎信息為“歡迎進入SSL VPN”。
(4) 隱藏SSL VPN登錄頁麵的密碼輸入框。
password-box hide
缺省情況下,SSL VPN登錄頁麵顯示密碼輸入框。
(5) 配置SSL VPN頁麵的標題信息。
title { chinese chinese-title | english english-title }
缺省情況下,SSL VPN頁麵的標題為“SSL VPN”。
(6) 配置SSL VPN頁麵上顯示的logo。
logo { file file-name | none }
缺省情況下,SSL VPN頁麵上顯示“H3C”logo圖標。
(7) 配置登錄頁麵和資源頁麵的公告信息。
notify-message { login-page | resource-page } { chinese chinese-message | english english-message }
缺省情況下,未配置公告消息。
(8) 配置資源頁麵供用戶下載的資源文件。
resources-file { chinese chinese-filename | english english-filename }
缺省情況下,未配置供用戶下載的資源文件。
(9) 配置修改密碼頁麵的密碼複雜度提示信息。
password-complexity-message { chinese chinese-message | english english-message }
缺省情況下,未配置密碼複雜度提示信息。
(10) 改寫服務器返回信息。
rewrite server-response-message server-response-message { chinese chinese-message | english english-message }
缺省情況下,SSL VPN網關不改寫服務器返回信息。
SSL VPN頁麵模板起到限定SSL VPN網關登錄頁麵和資源頁麵風格的作用。設備支持在係統視圖與SSL VPN訪問實例視圖下分別設置SSL VPN頁麵模板,兩種模板的作用域不同:
· 對於在係統視圖下設置的SSL VPN頁麵模板,其作用域為所有SSL VPN訪問實例。
· 對於在SSL VPN訪問實例視圖下設置的SSL VPN頁麵模板,其作用域為該SSL VPN訪問實例。
若在係統視圖與SSL VPN訪問實例視圖下同時設置了頁麵模板,SSL VPN訪問實例視圖下設置的頁麵模板生效。
在Web管理頁麵,上傳自定義頁麵模板至設備的文件係統中。
(1) 進入係統視圖。
system-view
(2) 設置SSL VPN全局頁麵模板。
sslvpn webpage-customize template-name
缺省情況下,SSL VPN全局頁麵模板為係統缺省模板。
(1) 進入係統視圖。
system-view
(2) 進入SSL VPN訪問實例視圖。
sslvpn context context-name
(3) 設置SSL VPN頁麵模板。
webpage-customize template-name
缺省情況下,未設置SSL VPN頁麵模板。
開啟SSL VPN日誌記錄功能後,SSL VPN網關會記錄日誌信息,並發送到設備的信息中心,通過設置信息中心的參數,決定日誌信息的輸出規則(即是否允許輸出以及輸出方向)。(有關信息中心參數的配置請參見“網絡管理和監控配置指導”中的“信息中心”。)
(1) 進入係統視圖。
system-view
(2) 開啟SSL VPN全局日誌生成功能。
sslvpn log enable
缺省情況下,SSL VPN全局日誌生成功能處於關閉狀態。
(3) 進入SSL VPN訪問實例視圖。
sslvpn context context-name
(4) 開啟用戶上下線日誌生成功能。
log user-login enable
缺省情況下,用戶上下線日誌生成功能處於關閉狀態。
(5) 開啟用戶資源訪問日誌生成功能。
log resource-access enable [ brief | filtering ] *
缺失情況下,用戶訪問資源日誌生成功能處於關閉狀態。
(6) 開啟IP接入連接關閉的日誌生成功能。
ip-tunnel log connection-close
缺省情況下,IP接入連接關閉的日誌生成功能處於關閉狀態。
(7) 開啟IP接入丟包的日誌生成功能。
ip-tunnel log packet-drop
缺省情況下,IP接入丟包的日誌生成功能處於關閉狀態。
(8) 開啟IP接入客戶端虛擬網卡IP地址分配和釋放的日誌生成功能。
ip-tunnel log address-alloc-release
缺省情況下,IP接入客戶端虛擬網卡IP地址分配和釋放的日誌生成功能處於關閉狀態。
在完成上述配置後,在任意視圖下執行display命令可以顯示SSL VPN的運行情況,通過查看顯示信息驗證配置的效果。
在用戶視圖下執行reset命令清除SSL VPN AC接口的統計信息。
表1-1 SSL VPN顯示和維護
操作 |
命令 |
顯示SSL VPN AC接口的相關信息 |
display interface sslvpn-ac [ interface-number ] [ brief [ description | down ] ] |
顯示SSL VPN訪問實例的信息 |
display sslvpn context [ brief | name context-name [ { ip-route-list list-name | ipv6-route-list ipv6-list-name | policy-group group-name | port-forward port-forward-name | shortcut-list list-name | uri-acl uri-acl-name | url-list list | verbose } [ kernel ] [ slot slot-number ] ] ] |
顯示SSL VPN網關的信息 |
display sslvpn gateway [ brief | name gateway-name ] display sslvpn gateway [ brief | name gateway-name [ verbose [ kernel ] [ slot slot-number ] ] ] |
顯示指定IPv4地址池配置信息 |
display sslvpn ip address-pool [ pool-name ] [ slot slot-number ] |
顯示指定IPv6地址池配置信息 |
display sslvpn ipv6 address-pool [ pool-name ] [ slot slot-number ] |
顯示通過IP接入的SSL VPN用戶的報文統計信息 |
display sslvpn ip-tunnel statistics [ context context-name ] [ user user-name ] |
顯示指定策略組的信息 |
display sslvpn policy-group group-name [ context context-name ] |
顯示TCP端口轉發的連接信息 |
display sslvpn port-forward connection [ context context-name ] [ slot slot-number ] |
顯示被防暴力破解功能凍結的IP地址信息 |
display sslvpn prevent-cracking frozen-ip { statistics | table } [ context context-name ] |
顯示SSL VPN會話信息 |
display sslvpn session [ context context-name ] [ user user-name | verbose ] |
顯示SSL VPN頁麵模板信息 |
display sslvpn webpage-customize template |
清除SSL VPN AC接口的統計信息 |
reset counters interface [ sslvpn-ac [ interface-number ] ] |
清除通過IP接入的SSL VPN用戶的報文統計信息 |
reset sslvpn ip-tunnel statistics [ context context-name [ session session-id ] ] |
Device為SSL VPN網關設備,連接公網用戶和企業私有網絡Network 1、Network 2。用戶通過Device能夠安全地訪問位於Network 1內的Server A和Network 2內的Server B。其中,Server A和Server B均為Web服務器,Sever A使用HTTP協議和80端口號,Sever B使用HTTPS協議和443端口號;Device對用戶進行本地認證和本地授權。
圖1-12 Web接入組網圖
在開始下麵的配置之前,假設已完成如下配置:
Device已獲取到CA證書ca.cer和服務器證書server.pfx,若SSL VPN網關不引用SSL服務端策略,則使用設備缺省證書。
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<Device> system-view
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] ip address 1.1.1.2 255.255.255.0
[Device-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 配置靜態路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例假設到達ServerA的下一跳IP地址為2.2.2.3,到達ServerB的下一跳IP地址為3.3.3.4,到達User的下一跳IP地址為1.1.1.3實際使用中請以具體組網情況為準,具體配置步驟如下。
[Device] ip route-static 20.2.2.2 24 2.2.2.3
[Device] ip route-static 30.3.3.3 24 3.3.3.4
[Device] ip route-static 40.1.1.1 24 1.1.1.3
(3) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[Device] security-zone name untrust
[Device-security-zone-Untrust] import interface gigabitethernet 1/0/1
[Device-security-zone-Untrust] quit
[Device] security-zone name trust
[Device-security-zone-Trust] import interface gigabitethernet 1/0/2
[Device-security-zone-Trust] import interface gigabitethernet 1/0/3
[Device-security-zone-Trust] quit
(4) 配置安全策略放行Untrust與Local安全域之間的流量,用於用戶訪問SSL VPN網關設備。
# 配置名稱為sslvpnlocalout1的安全策略規則,使Device可以向用戶發送報文,具體配置步驟如下。
[Device] security-policy ip
[Device-security-policy-ip] rule name sslvpnlocalout1
[Device-security-policy-ip-1-sslvpnlocalout1] source-zone local
[Device-security-policy-ip-1-sslvpnlocalout1] destination-zone untrust
[Device-security-policy-ip-1-sslvpnlocalout1] source-ip-host 1.1.1.2
[Device-security-policy-ip-1-sslvpnlocalout1] destination-ip-host 40.1.1.1
[Device-security-policy-ip-1-sslvpnlocalout1] action pass
[Device-security-policy-ip-1-sslvpnlocalout1] quit
# 配置名稱為sslvpnlocalin1的安全策略規則,使用戶可以向Device發送報文,具體配置步驟如下。
[Device-security-policy-ip] rule name sslvpnlocalin1
[Device-security-policy-ip-2-sslvpnlocalin1] source-zone untrust
[Device-security-policy-ip-2-sslvpnlocalin1] destination-zone local
[Device-security-policy-ip-2-sslvpnlocalin1] source-ip-host 40.1.1.1
[Device-security-policy-ip-2-sslvpnlocalin1] destination-ip-host 1.1.1.2
[Device-security-policy-ip-2-sslvpnlocalin1] action pass
[Device-security-policy-ip-2-sslvpnlocalin1] quit
# 配置名稱為sslvpnlocalout2的安全策略規則,使Device可以向ServerA和Server B發送報文,具體配置步驟如下。
[Device-security-policy-ip] rule name sslvpnlocalout2
[Device-security-policy-ip-3-sslvpnlocalout2] source-zone local
[Device-security-policy-ip-3-sslvpnlocalout2] destination-zone trust
[Device-security-policy-ip-3-sslvpnlocalout2] source-ip-host 2.2.2.2
[Device-security-policy-ip-3-sslvpnlocalout2] source-ip-host 3.3.3.3
[Device-security-policy-ip-3-sslvpnlocalout2] destination-ip-host 20.2.2.2
[Device-security-policy-ip-3-sslvpnlocalout2] destination-ip-host 30.3.3.3
[Device-security-policy-ip-3-sslvpnlocalout2] action pass
[Device-security-policy-ip-3-sslvpnlocalout2] quit
# 配置名稱為sslvpnlocalin2的安全策略規則,使ServerA和Server B可以向Device發送報文,具體配置步驟如下。
[Device-security-policy-ip] rule name sslvpnlocalin2
[Device-security-policy-ip-4-sslvpnlocalin2] source-zone trust
[Device-security-policy-ip-4-sslvpnlocalin2] destination-zone local
[Device-security-policy-ip-4-sslvpnlocalin2] source-ip-host 20.2.2.2
[Device-security-policy-ip-4-sslvpnlocalin2] source-ip-host 30.3.3.3
[Device-security-policy-ip-4-sslvpnlocalin2] destination-ip-host 2.2.2.2
[Device-security-policy-ip-4-sslvpnlocalin2] destination-ip-host 3.3.3.3
[Device-security-policy-ip-4-sslvpnlocalin2] action pass
[Device-security-policy-ip-4-sslvpnlocalin2] quit
[Device-security-policy-ip] quit
(5) 配置PKI域,設置證書申請所需的相關參數
[Device] pki domain sslvpn
[Device-pki-domain-sslvpn] public-key rsa general name sslvpn
[Device-pki-domain-sslvpn] undo crl check enable
[Device-pki-domain-sslvpn] quit
[Device] pki import domain sslvpn der ca filename ca.cer
[Device] pki import domain sslvpn p12 local filename server.pfx
(6) 配置SSL服務器端策略,引用PKI域
[Device] ssl server-policy ssl
[Device-ssl-server-policy-ssl] pki-domain sslvpn
[Device-ssl-server-policy-ssl] quit
(7) 配置SSL VPN網關,為用戶提供登錄SSL VPN網關的入口
# 配置SSL VPN網關gw的IP地址為1.1.1.2,端口號為2000,並引用SSL服務器端策略ssl。
[Device] sslvpn gateway gw
[Device-sslvpn-gateway-gw] ip address 1.1.1.2 port 2000
[Device-sslvpn-gateway-gw] ssl server-policy ssl
[Device-sslvpn-gateway-gw] service enable
[Device-sslvpn-gateway-gw] quit
(8) 配置SSL VPN訪問實例,為用戶提供SSL VPN Web接入服務
# 配置SSL VPN訪問實例ctx1引用SSL VPN網關gw,指定域名為domain1。
[Device] sslvpn context ctx1
[Device-sslvpn-context-ctx1] gateway gw domain domain1
[Device-sslvpn-context-ctx1] url-item urlitem
[Device-sslvpn-context-ctx1-url-item-urlitem] url http://20.2.2.2
[Device-sslvpn-context-ctx1-url-item-urlitem] quit
[Device-sslvpn-context-ctx1] url-list urllist
[Device-sslvpn-context-ctx1-url-list-urllist] heading web
[Device-sslvpn-context-ctx1-url-list-urllist] resources url-item urlitem
[Device-sslvpn-context-ctx1-url-list-urllist] quit
[Device-sslvpn-context-ctx1] policy-group pgroup
[Device-sslvpn-context-ctx1-policy-group-pgroup] resources url-list urllist
[Device-sslvpn-context-ctx1-policy-group-pgroup] quit
[Device-sslvpn-context-ctx1] default-policy-group pgroup
[Device-sslvpn-context-ctx1] service enable
[Device-sslvpn-context-ctx1] quit
# 配置SSL VPN訪問實例ctx2引用SSL VPN網關gw,指定域名為domain2。
[Device] sslvpn context ctx2
[Device-sslvpn-context-ctx2] gateway gw domain domain2
[Device-sslvpn-context-ctx2] url-item urlitem
[Device-sslvpn-context-ctx2-url-item-urlitem] url https://30.3.3.3
[Device-sslvpn-context-ctx2-url-item-urlitem] quit
[Device-sslvpn-context-ctx2] url-list urllist
[Device-sslvpn-context-ctx2-url-list-urllist] heading web
[Device-sslvpn-context-ctx2-url-list-urllist] resources url-item urlitem
[Device-sslvpn-context-ctx2-url-list-urllist] quit
[Device-sslvpn-context-ctx2] policy-group pgroup
[Device-sslvpn-context-ctx2-policy-group-pgroup] resources url-list urllist
[Device-sslvpn-context-ctx2-policy-group-pgroup] quit
[Device-sslvpn-context-ctx2] default-policy-group pgroup
[Device-sslvpn-context-ctx2] service enable
[Device-sslvpn-context-ctx2] quit
(9) 配置SSL VPN用戶,用於接入SSL VPN網關
# 創建本地SSL VPN用戶sslvpn,密碼為123456,用戶角色為network-operator,授權用戶的SSL VPN策略組為pgroup。
[Device] local-user sslvpn class network
[Device-luser-network-sslvpn] password simple 123456
[Device-luser-network-sslvpn] service-type sslvpn
[Device-luser-network-sslvpn] authorization-attribute user-role network-operator
[Device-luser-network-sslvpn] authorization-attribute sslvpn-policy-group pgroup
[Device-luser-network-sslvpn] quit
# 在Device上查看SSL VPN網關狀態,可見SSL VPN網關gw處於Up狀態。
[Device] display sslvpn gateway
Gateway name: gw
Operation state: Up
IP: 1.1.1.2 Port: 2000
SSL server policy configured: ssl
SSL server policy in use: ssl
Front VPN instance: Not configured
# 在Device上查看SSL VPN訪問實例狀態,可見SSL VPN訪問實例ctx1和ctx2均處於Up狀態。
[Device] display sslvpn context
Context name: ctx1
Operation state: Up
AAA domain: Not specified
Certificate authentication: Disabled
Password authentication:Enabled
Authentication use: All
SMS auth type: Not configured
Urlmasking: Disabled
Code verification: Disabled
Default policy group: pgroup
Associated SSL VPN gateway: gw
Domain name: domain1
SSL client policy configured: ssl
SSL client policy in use: ssl
Maximum users allowed: 1048575
VPN instance: Not configured
Idle timeout: 30 min
Authentication server-type: aaa
Password changing: Enabled
Context name: ctx2
Operation state: Up
AAA domain: Not specified
Certificate authentication: Disabled
Password authentication:Enabled
Authentication use: All
SMS auth type: Not configured
Urlmasking: Disabled
Code verification: Disabled
Default policy group: pgroup
Associated SSL VPN gateway: gw
Domain name: domain2
SSL client policy configured: ssl
SSL client policy in use: ssl
Maximum users allowed: 1048575
VPN instance: Not configured
Idle timeout: 30 min
Authentication server-type: aaa
Password changing: Enabled
# 用戶在PC瀏覽器上輸入https://1.1.1.2:2000/,進入Domain List頁麵。
圖1-13 Domain List頁麵
# 用戶選擇domain1進入登錄頁麵,輸入用戶sslvpn和密碼123456,單擊<登錄>按鈕,可以成功登錄。
圖1-14 登錄頁麵
# 用戶登錄成功後,在Device上可以看到用戶會話信息。
[Device] display sslvpn session context ctx1
SSL VPN context: ctx1
Users: 1
Username Connections Idle time Created User IP
sslvpn 6 0/00:12:05 0/00:04:14 40.1.1.1
# 網關首頁的“書簽”欄顯示用戶可以訪問的遠端web資源。
圖1-15 網關首頁
# 點擊serverA,可以進入Web服務器Server A的HTTP網站首頁麵,且在瀏覽器的地址欄中顯示如下格式的URL:https://1.1.1.2:2000/_proxy2/http/80/20.2.2.2/。
# 用戶退出登錄,重啟瀏覽器,重新輸入https://1.1.1.2:2000/,選擇domain2進入登錄頁麵,輸入用戶名sslvpn和密碼123456,可以登錄成功。
# 用戶登錄成功後,在Device上可以看到用戶會話信息。
[Device] display sslvpn session context ctx2
SSL VPN context: ctx2
Users: 1
Username Connections Idle time Created User IP
sslvpn 6 0/00:02:05 0/00:01:11 40.1.1.1
# 網關首頁的“書簽”欄顯示用戶可以訪問的遠端web資源。
圖1-16 網關首頁
# 點擊serverB,可以進入Web服務器Server B的HTTPS網站頁麵,且在瀏覽器的地址欄中顯示如下格式的URL:https://1.1.1.2:2000/_proxy2/https/443/30.3.3.3/。
Device為SSL VPN網關設備,連接公網用戶和企業私有網絡。用戶通過Device可以安全地訪問私有網絡內的Telnet服務器Server。Device采用本地認證和授權方式對用戶進行認證和授權。
圖1-17 TCP接入配置組網圖
在開始下麵的配置之前,假設已完成如下配置:
· Device已獲取到CA證書ca.cer和服務器證書server.pfx,若SSL VPN網關不引用SSL服務端策略,則使用設備缺省證書。
· SSL VPN用戶主機上需要安裝Java運行環境。
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<Device> system-view
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] ip address 1.1.1.2 255.255.255.0
[Device-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 配置靜態路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例假設到達Server的下一跳IP地址為2.2.2.3,到達User的下一跳IP地址為1.1.1.3實際使用中請以具體組網情況為準,具體配置步驟如下。
[Device] ip route-static 20.2.2.2 24 2.2.2.3
[Device] ip route-static 40.1.1.1 24 1.1.1.3
(3) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[Device] security-zone name untrust
[Device-security-zone-Untrust] import interface gigabitethernet 1/0/1
[Device-security-zone-Untrust] quit
[Device] security-zone name trust
[Device-security-zone-Trust] import interface gigabitethernet 1/0/2
[Device-security-zone-Trust] quit
(4) 配置安全策略放行Untrust與Local安全域之間的流量,用於用戶訪問SSL VPN網關設備。
# 配置名稱為sslvpnlocalout1的安全策略規則,使Device可以向用戶發送SSL VPN報文,具體配置步驟如下。
[Device] security-policy ip
[Device-security-policy-ip] rule name sslvpnlocalout1
[Device-security-policy-ip-1-sslvpnlocalout1] source-zone local
[Device-security-policy-ip-1-sslvpnlocalout1] destination-zone untrust
[Device-security-policy-ip-1-sslvpnlocalout1] source-ip-host 1.1.1.2
[Device-security-policy-ip-1-sslvpnlocalout1] destination-ip-host 40.1.1.1
[Device-security-policy-ip-1-sslvpnlocalout1] action pass
[Device-security-policy-ip-1-sslvpnlocalout1] quit
# 配置名稱為sslvpnlocalin1的安全策略規則,使用戶可以向Device發送報文,具體配置步驟如下。
[Device-security-policy-ip] rule name sslvpnlocalin1
[Device-security-policy-ip-2-sslvpnlocalin1] source-zone untrust
[Device-security-policy-ip-2-sslvpnlocalin1] destination-zone local
[Device-security-policy-ip-2-sslvpnlocalin1] source-ip-host 40.1.1.1
[Device-security-policy-ip-2-sslvpnlocalin1] destination-ip-host 1.1.1.2
[Device-security-policy-ip-2-sslvpnlocalin1] action pass
[Device-security-policy-ip-2-sslvpnlocalin1] quit
# 配置名稱為sslvpnlocalout2的安全策略規則,使Device可以向Server發送報文,具體配置步驟如下。
[Device-security-policy-ip] rule name sslvpnlocalout2
[Device-security-policy-ip-3-sslvpnlocalout2] source-zone local
[Device-security-policy-ip-3-sslvpnlocalout2] destination-zone trust
[Device-security-policy-ip-3-sslvpnlocalout2] source-ip-host 2.2.2.2
[Device-security-policy-ip-3-sslvpnlocalout2] destination-ip-host 20.2.2.2
[Device-security-policy-ip-3-sslvpnlocalout2] action pass
[Device-security-policy-ip-3-sslvpnlocalout2] quit
# 配置名稱為sslvpnlocalin2的安全策略規則,使Server可以向Device發送報文,具體配置步驟如下。
[Device-security-policy-ip] rule name sslvpnlocalin2
[Device-security-policy-ip-4-sslvpnlocalin2] source-zone trust
[Device-security-policy-ip-4-sslvpnlocalin2] destination-zone local
[Device-security-policy-ip-4-sslvpnlocalin2] source-ip-host 20.2.2.2
[Device-security-policy-ip-4-sslvpnlocalin2] destination-ip-host 2.2.2.2
[Device-security-policy-ip-4-sslvpnlocalin2] action pass
[Device-security-policy-ip-4-sslvpnlocalin2] quit
[Device-security-policy-ip] quit
(5) 配置PKI域,設置證書申請所需的相關參數
[Device] pki domain sslvpn
[Device-pki-domain-sslvpn] public-key rsa general name sslvpn
[Device-pki-domain-sslvpn] undo crl check enable
[Device-pki-domain-sslvpn] quit
[Device] pki import domain sslvpn der ca filename ca.cer
[Device] pki import domain sslvpn p12 local filename server.pfx
(6) 配置SSL服務器端策略,引用PKI域
[Device] ssl server-policy ssl
[Device-ssl-server-policy-ssl] pki-domain sslvpn
[Device-ssl-server-policy-ssl] quit
(7) 配置SSL VPN網關,為用戶提供登錄SSL VPN網關的入口
# 配置SSL VPN網關gw的IP地址為1.1.1.2,端口號為2000,並引用SSL服務器端策略ssl。
[Device] sslvpn gateway gw
[Device-sslvpn-gateway-gw] ip address 1.1.1.2 port 2000
[Device-sslvpn-gateway-gw] ssl server-policy ssl
[Device-sslvpn-gateway-gw] service enable
[Device-sslvpn-gateway-gw] quit
(8) 配置SSL VPN訪問實例,為用戶提供SSL VPN TCP接入服務
# 配置SSL VPN訪問實例ctx引用SSL VPN網關gw。
[Device] sslvpn context ctx
[Device-sslvpn-context-ctx] gateway gw
[Device-sslvpn-context-ctx] port-forward-item pfitem1
[Device-sslvpn-context-ctx-port-forward-item-pfitem1] local-port 2323 local-name 127.0.0.1 remote-server 20.2.2.2 remote-port 23 description telnet
[Device-sslvpn-context-ctx-port-forward-item-pfitem1] quit
[Device-sslvpn-context-ctx] port-forward plist
[Device-sslvpn-context-ctx-port-forward-plist] resources port-forward-item pfitem1
[Device-sslvpn-context-ctx-port-forward-plist] quit
[Device-sslvpn-context-ctx] policy-group pgroup
[Device-sslvpn-context-ctx-policy-group-pgroup] resources port-forward plist
[Device-sslvpn-context-ctx-policy-group-pgroup] quit
[Device-sslvpn-context-ctx] service enable
[Device-sslvpn-context-ctx] quit
(9) 配置SSL VPN用戶,用於訪問SSL VPN網關
# 創建本地SSL VPN用戶sslvpn,密碼為123456,用戶角色為network-operator,授權用戶的SSL VPN策略組為pgroup。
[Device] local-user sslvpn class network
[Device-luser-network-sslvpn] password simple 123456
[Device-luser-network-sslvpn] service-type sslvpn
[Device-luser-network-sslvpn] authorization-attribute user-role network-operator
[Device-luser-network-sslvpn] authorization-attribute sslvpn-policy-group pgroup
[Device-luser-network-sslvpn] quit
# 在Device上查看SSL VPN網關狀態,可見SSL VPN網關gw處於Up狀態。
[Device] display sslvpn gateway
Gateway name: gw
Operation state: Up
IP: 1.1.1.2 Port: 2000
SSL server policy configured: ssl
SSL server policy in use: ssl
Front VPN instance: Not configured
# 在Device上查看SSL VPN訪問實例狀態,可見SSL VPN訪問實例ctx處於Up狀態。
[Device] display sslvpn context
Context name: ctx
Operation state: Up
AAA domain: Not specified
Certificate authentication: Disabled
Password authentication:Enabled
Authentication use: All
SMS auth type: Not configured
Urlmasking: Disabled
Code verification: Disabled
Default policy group: Not configured
Associated SSL VPN gateway: gw
SSL client policy configured: ssl
SSL client policy in use: ssl
Maximum users allowed: 1048575
VPN instance: Not configured
Idle timeout: 30 min
Authentication server-type: aaa
Password changing: Enabled
# 用戶在PC瀏覽器上輸入https://1.1.1.2:2000/,進入登錄頁麵後,輸入用戶名sslvpn和密碼123456,用戶可以成功登錄。
圖1-18 登錄頁麵
# 用戶登錄成功後,在網頁的應用程序欄中選擇“啟動TCP客戶端應用程序”。
不能通過雙擊的方式打開對應的TCP應用程序。
# 用戶在PC上執行telnet 127.0.0.1 2323,可以遠程連接到Server,顯示信息略。
# 在Device上可以看到用戶會話信息。
[Device] display sslvpn session context ctx
SSL VPN context: ctx
Users: 1
Username Connections Idle time Created User IP
sslvpn 6 0/00:12:05 0/00:04:14 40.1.1.1
# 在Device上可以看到TCP端口轉發的連接信息。
[Device] display sslvpn port-forward connection
SSL VPN context : ctx
Client address : 40.1.1.1
Client port : 50788
Server address : 20.2.2.2
Server port : 23
State : Connected
Device為SSL VPN網關設備,連接公網用戶和企業私有網絡。用戶通過Device可以通過IP
接入方式安全地訪問私有網絡內的Server。Device采用本地認證和授權方式對用戶進行認證和授權。
圖1-19 IP接入配置組網圖
在開始下麵的配置之前,假設已完成如下配置:
· Device已獲取到CA證書ca.cer和服務器證書server.pfx,若SSL VPN網關不引用SSL 服務端策略,則使用設備缺省證書。
· Server上存在到達網段10.1.1.0/24的路由。
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<Device> system-view
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] ip address 1.1.1.2 255.255.255.0
[Device-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 創建SSL VPN AC接口,用於轉發IP接入流量
# 創建SSL VPN AC接口1,配置該接口的IP地址為10.1.1.100/24。
[Device] interface sslvpn-ac 1
[Device-SSLVPN-AC1] ip address 10.1.1.100 24
[Device-SSLVPN-AC1] quit
(3) 配置靜態路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例假設到達Server的下一跳IP地址為2.2.2.3,到達User的下一跳IP地址為1.1.1.3實際使用中請以具體組網情況為準,具體配置步驟如下。
[Device] ip route-static 20.2.2.2 24 2.2.2.3
[Device] ip route-static 40.1.1.1 24 1.1.1.3
(4) 配置接口加入安全域
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[Device] security-zone name untrust
[Device-security-zone-Untrust] import interface gigabitethernet 1/0/1
[Device-security-zone-Untrust] import interface sslvpn-ac 1
[Device-security-zone-Untrust] quit
[Device] security-zone name trust
[Device-security-zone-Trust] import interface gigabitethernet 1/0/2
[Device-security-zone-Trust] quit
(5) 配置安全策略放行Untrust與Local安全域、Untrust與Trust安全域之間的流量,用於用戶訪問SSL VPN網關設備和Server
# 配置名稱為sslvpnlocalout1的安全策略規則,使Device可以向用戶發送報文,具體配置步驟如下。
[Device] security-policy ip
[Device-security-policy-ip] rule name sslvpnlocalout1
[Device-security-policy-ip-1-sslvpnlocalout1] source-zone local
[Device-security-policy-ip-1-sslvpnlocalout1] destination-zone untrust
[Device-security-policy-ip-1-sslvpnlocalout1] source-ip-host 1.1.1.2
[Device-security-policy-ip-1-sslvpnlocalout1] destination-ip-host 40.1.1.1
[Device-security-policy-ip-1-sslvpnlocalout1] action pass
[Device-security-policy-ip-1-sslvpnlocalout1] quit
# 配置名稱為sslvpnlocalin1的安全策略規則,使用戶可以向Device發送報文,具體配置步驟如下。
[Device-security-policy-ip] rule name sslvpnlocalin1
[Device-security-policy-ip-2-sslvpnlocalin1] source-zone untrust
[Device-security-policy-ip-2-sslvpnlocalin1] destination-zone local
[Device-security-policy-ip-2-sslvpnlocalin1] source-ip-host 40.1.1.1
[Device-security-policy-ip-2-sslvpnlocalin1] destination-ip-host 1.1.1.2
[Device-security-policy-ip-2-sslvpnlocalin1] action pass
[Device-security-policy-ip-2-sslvpnlocalin1] quit
# 配置名稱為sslvpnlocalout2的安全策略規則,使Device可以向Server發送報文,具體配置步驟如下。
[Device-security-policy-ip] rule name sslvpnlocalout2
[Device-security-policy-ip-3-sslvpnlocalout2] source-zone local
[Device-security-policy-ip-3-sslvpnlocalout2] destination-zone trust
[Device-security-policy-ip-3-sslvpnlocalout2] source-ip-host 2.2.2.2
[Device-security-policy-ip-3-sslvpnlocalout2] destination-ip-host 20.2.2.2
[Device-security-policy-ip-3-sslvpnlocalout2] action pass
[Device-security-policy-ip-3-sslvpnlocalout2] quit
# 配置名稱為sslvpnlocalin2的安全策略規則,使Server可以向Device發送報文,具體配置步驟如下。
[Device-security-policy-ip] rule name sslvpnlocalin2
[Device-security-policy-ip-4-sslvpnlocalin2] source-zone trust
[Device-security-policy-ip-4-sslvpnlocalin2] destination-zone local
[Device-security-policy-ip-4-sslvpnlocalin2] source-ip-host 20.2.2.2
[Device-security-policy-ip-4-sslvpnlocalin2] destination-ip-host 2.2.2.2
[Device-security-policy-ip-4-sslvpnlocalin2] action pass
[Device-security-policy-ip-4-sslvpnlocalin2] quit
# 配置名稱為untrust-trust的安全策略規則,使用戶可以通過SSL VPN AC接口訪問Server,具體配置步驟如下。
[Device-security-policy-ip] rule name untrust-trust
[Device-security-policy-ip-5-untrust-trust] source-zone untrust
[Device-security-policy-ip-5-untrust-trust] destination-zone trust
[Device-security-policy-ip-5-untrust-trust] source-ip-subnet 10.1.1.0 24
[Device-security-policy-ip-5-untrust-trust] destination-ip-host 20.2.2.2
[Device-security-policy-ip-5-untrust-trust] action pass
[Device-security-policy-ip-5-untrust-trust] quit
# 配置名稱為trust-untrust的安全策略規則,使Server可以通過SSL VPN AC接口向用戶發送報文,具體配置步驟如下。
[Device-security-policy-ip] rule name trust-untrust
[Device-security-policy-ip-6-trust-untrust] source-zone trust
[Device-security-policy-ip-6-trust-untrust] destination-zone untrust
[Device-security-policy-ip-6-trust-untrust] source-ip-host 20.2.2.2
[Device-security-policy-ip-6-trust-untrust] destination-ip-subnet 10.1.1.0 24
[Device-security-policy-ip-6-trust-untrust] action pass
[Device-security-policy-ip-6-trust-untrust] quit
[Device-security-policy-ip] quit
(6) 創建ACL,用於對IP接入流量進行過濾
[Device] acl advanced 3000
[Device-acl-ipv4-adv-3000] rule permit ip source 10.1.1.0 0.0.0.255 destination 20.2.2.0 0.0.0.255
[Device-acl-ipv4-adv-3000] quit
(7) 配置PKI域,設置證書申請所需的相關參數
[Device] pki domain sslvpn
[Device-pki-domain-sslvpn] public-key rsa general name sslvpn
[Device-pki-domain-sslvpn] undo crl check enable
[Device-pki-domain-sslvpn] quit
[Device] pki import domain sslvpn der ca filename ca.cer
[Device] pki import domain sslvpn p12 local filename server.pfx
(8) 配置SSL服務器端策略,引用PKI域
[Device] ssl server-policy ssl
[Device-ssl-server-policy-ssl] pki-domain sslvpn
[Device-ssl-server-policy-ssl] quit
(9) 配置SSL VPN網關,為用戶提供登錄SSL VPN網關的入口
# 配置SSL VPN網關gw的IP地址為1.1.1.2,端口號為4430,並引用SSL服務器端策略ssl。
<Device> system-view
[Device] sslvpn gateway gw
[Device-sslvpn-gateway-gw] ip address 1.1.1.2 port 4430
[Device-sslvpn-gateway-gw] ssl server-policy ssl
[Device-sslvpn-gateway-gw] service enable
[Device-sslvpn-gateway-gw] quit
(10) 創建SSL VPN客戶端地址池,用於為IP接入客戶端分配IP地址
# 創建為SSL VPN客戶端分配地址的地址池sslvpnpool,地址範圍為10.1.1.1~10.1.1.10。
[Device] sslvpn ip address-pool sslvpnpool 10.1.1.1 10.1.1.10
(11) 配置SSL VPN訪問實例,為用戶提供SSL VPN IP接入服務
# 配置SSL VPN訪問實例ctxip,引用SSL VPN網關gw,指定域名為domainip。
[Device] sslvpn context ctxip
[Device-sslvpn-context-ctxip] gateway gw domain domainip
[Device-sslvpn-context-ctxip] ip-tunnel interface sslvpn-ac 1
[Device-sslvpn-context-ctxip] ip-route-list rtlist
[Device-sslvpn-context-ctxip-route-list-rtlist] include 20.2.2.0 24
[Device-sslvpn-context-ctxip-route-list-rtlist] quit
[Device-sslvpn-context-ctxip] ip-tunnel address-pool sslvpnpool mask 24
[Device-sslvpn-context-ctxip] policy-group resourcegrp
[Device-sslvpn-context-ctxip-policy-group-resourcegrp] ip-tunnel access-route ip-route-list rtlist
[Device-sslvpn-context-ctxip-policy-group-resourcegrp] filter ip-tunnel acl 3000
[Device-sslvpn-context-ctxip-policy-group-resourcegrp] quit
[Device-sslvpn-context-ctxip] service enable
[Device-sslvpn-context-ctxip] quit
(12) 配置SSL VPN用戶,用於訪問SSL VPN網關
# 創建本地SSL VPN用戶sslvpnuser,密碼為123456,用戶角色為network-operator,授權用戶的SSL VPN策略組為resourcegrp。
[Device] local-user sslvpnuser class network
[Device-luser-network-sslvpnuser] password simple 123456
[Device-luser-network-sslvpnuser] service-type sslvpn
[Device-luser-network-sslvpnuser] authorization-attribute sslvpn-policy-group resourcegrp
[Device-luser-network-sslvpnuser] authorization-attribute user-role network-operator
[Device-luser-network-sslvpnuser] quit
# 在Device上查看SSL VPN網關狀態,可見SSL VPN網關gw處於Up狀態。
[Device] display sslvpn gateway
Gateway name: gw
Operation state: Up
IP: 1.1.1.2 Port: 4430
Front VPN instance: Not configured
# 在Device上查看SSL VPN訪問實例狀態,可見SSL VPN訪問實例ctx處於Up狀態。
[Device] display sslvpn context
Context name: ctxip
Operation state: Up
AAA domain: Not specified
Certificate authentication: Disabled
Password authentication: Enabled
Authentication use: All
SMS auth type: Not configured
Urlmasking: Disabled
Code verification: Disabled
Default policy group: Not configured
Associated SSL VPN gateway: gw
Domain name: domainip
Maximum users allowed: 1048575
VPN instance: Not configured
Idle timeout: 30 min
Authentication server-type: aaa
Password changing: Enabled
# SSL VPN用戶sslvpnuser在PC瀏覽器上輸入https://1.1.1.2:4430/,進入Domain List頁麵,如下圖所示。
圖1-20 Domain List頁麵
# 選擇domainip進入登錄頁麵,輸入用戶sslvpnuser和密碼123456。
圖1-21 登錄頁麵
# 單擊<登錄>按鈕,可以成功登錄SSL VPN網關。在網頁的應用程序欄中選擇“啟動IP客戶端應用程序”。
# 單擊<啟動>按鈕,下載IP接入客戶端軟件Svpnclient並安裝,安裝完成後,啟動iNode客戶端,輸入如下圖所示的參數。
圖1-22 iNode客戶端
# 單擊<連接>按鈕,成功登錄SSL VPN客戶端,如下圖所示。
圖1-23 成功登錄SSL VPN網關
# SSL VPN用戶sslvpnuser可以Ping通服務器地址20.2.2.2。
C:\>ping 20.2.2.2
Pinging 20.2.2.2 with 32 bytes of data:
Reply from 20.2.2.2: bytes=32 time=31ms TTL=254
Reply from 20.2.2.2: bytes=32 time=18ms TTL=254
Reply from 20.2.2.2: bytes=32 time=15ms TTL=254
Reply from 20.2.2.2: bytes=32 time=16ms TTL=254
Ping statistics for 20.2.2.2:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 15ms, Maximum = 31ms, Average = 20ms
# 在Device上可以看到SSL VPN用戶sslvpnuser的會話信息。
[Device] display sslvpn session user sslvpnuser
User : sslvpnuser
Context : ctxip
Policy group : resourcegrp
Idle timeout : 30 min
Created at : 16:38:48 UTC Wed 07/26/2017
Lastest : 16:47:41 UTC Wed 07/26/2017
User IPv4 address : 172.16.1.16
Allocated IP : 10.1.1.1
Session ID : 14
Web browser/OS : Windows
Device為SSL VPN網關設備,連接公網用戶和企業私有網絡。用戶通過Device可以通過IP接入方式安全地訪問私有網絡內的Server。Device通過RADIUS server采用遠程認證和授權方式對用戶進行認證和授權。
圖1-24 RADIUS認證、授權配置組網圖
在開始下麵的配置之前,假設已完成如下配置:
· Device已獲取到CA證書ca.cer和服務器證書server.pfx,若SSL VPN網關不引用SSL 服務端策略,則使用設備缺省證書。
· Server上存在到達網段10.1.1.0/24的路由。
· RADIUS server已經部署完成,能夠對用戶進行認證和授權。
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<Device> system-view
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] ip address 1.1.1.2 255.255.255.0
[Device-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 創建SSL VPN AC接口,用於轉發IP接入流量
# 創建SSL VPN AC接口1,配置該接口的IP地址為10.1.1.100/24。
[Device] interface sslvpn-ac 1
[Device-SSLVPN-AC1] ip address 10.1.1.100 24
[Device-SSLVPN-AC1] quit
(3) 配置靜態路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例假設到達Server的下一跳IP地址為2.2.2.3,到達User的下一跳IP地址為1.1.1.3實際使用中請以具體組網情況為準,具體配置步驟如下。
[Device] ip route-static 20.2.2.2 24 2.2.2.3
[Device] ip route-static 40.1.1.1 24 1.1.1.3
(4) 配置接口加入安全域
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[Device] security-zone name untrust
[Device-security-zone-Untrust] import interface gigabitethernet 1/0/1
[Device-security-zone-Untrust] import interface sslvpn-ac 1
[Device-security-zone-Untrust] quit
[Device] security-zone name trust
[Device-security-zone-Trust] import interface gigabitethernet 1/0/2
[Device-security-zone-Trust] import interface gigabitethernet 1/0/3
[Device-security-zone-Trust] quit
(5) 配置安全策略放行Untrust與Local安全域、Untrust與Trust安全域之間的流量,用於用戶訪問SSL VPN網關設備和Server
# 配置名稱為sslvpnlocalout1的安全策略規則,使Device可以向用戶發送報文,具體配置步驟如下。
[Device] security-policy ip
[Device-security-policy-ip] rule name sslvpnlocalout1
[Device-security-policy-ip-1-sslvpnlocalout1] source-zone local
[Device-security-policy-ip-1-sslvpnlocalout1] destination-zone untrust
[Device-security-policy-ip-1-sslvpnlocalout1] source-ip-host 1.1.1.2
[Device-security-policy-ip-1-sslvpnlocalout1] source-ip-host 10.1.1.100
[Device-security-policy-ip-1-sslvpnlocalout1] destination-ip-host 40.1.1.1
[Device-security-policy-ip-1-sslvpnlocalout1] destination-ip-subnet 10.1.1.0 24
[Device-security-policy-ip-1-sslvpnlocalout1] action pass
[Device-security-policy-ip-1-sslvpnlocalout1] quit
# 配置名稱為sslvpnlocalin1的安全策略規則,使用戶可以向Device發送報文,具體配置步驟如下。
[Device-security-policy-ip] rule name sslvpnlocalin1
[Device-security-policy-ip-2-sslvpnlocalin1] source-zone untrust
[Device-security-policy-ip-2-sslvpnlocalin1] destination-zone local
[Device-security-policy-ip-2-sslvpnlocalin1] source-ip-host 40.1.1.1
[Device-security-policy-ip-2-sslvpnlocalin1] source-ip-host subnet 10.1.1.0 24
[Device-security-policy-ip-2-sslvpnlocalin1] destination-ip-host 1.1.1.2
[Device-security-policy-ip-2-sslvpnlocalin1] destination-ip-host 10.1.1.100
[Device-security-policy-ip-2-sslvpnlocalin1] action pass
[Device-security-policy-ip-2-sslvpnlocalin1] quit
# 配置名稱為sslvpnlocalout2的安全策略規則,使Device可以向Server發送報文,具體配置步驟如下。
[Device-security-policy-ip] rule name sslvpnlocalout2
[Device-security-policy-ip-3-sslvpnlocalout2] source-zone local
[Device-security-policy-ip-3-sslvpnlocalout2] destination-zone trust
[Device-security-policy-ip-3-sslvpnlocalout2] source-ip-host 2.2.2.2
[Device-security-policy-ip-3-sslvpnlocalout2] source-ip-host 3.3.3.1
[Device-security-policy-ip-3-sslvpnlocalout2] destination-ip-host 20.2.2.2
[Device-security-policy-ip-3-sslvpnlocalout2] destination-ip-host 3.3.3.2
[Device-security-policy-ip-3-sslvpnlocalout2] action pass
[Device-security-policy-ip-3-sslvpnlocalout2] quit
# 配置名稱為sslvpnlocalin2的安全策略規則,使Server可以向Device發送報文,具體配置步驟如下。
[Device-security-policy-ip] rule name sslvpnlocalin2
[Device-security-policy-ip-4-sslvpnlocalin2] source-zone trust
[Device-security-policy-ip-4-sslvpnlocalin2] destination-zone local
[Device-security-policy-ip-4-sslvpnlocalin2] source-ip-host 20.2.2.2
[Device-security-policy-ip-4-sslvpnlocalin2] source-ip-host 3.3.3.2
[Device-security-policy-ip-4-sslvpnlocalin2] destination-ip-host 2.2.2.2
[Device-security-policy-ip-4-sslvpnlocalin2] destination-ip-host 3.3.3.1
[Device-security-policy-ip-4-sslvpnlocalin2] action pass
[Device-security-policy-ip-4-sslvpnlocalin2] quit
# 配置名稱為untrust-trust的安全策略規則,使用戶可以通過SSL VPN AC接口訪問Server,具體配置步驟如下。
[Device-security-policy-ip] rule name untrust-trust
[Device-security-policy-ip-5-untrust-trust] source-zone untrust
[Device-security-policy-ip-5-untrust-trust] destination-zone trust
[Device-security-policy-ip-5-untrust-trust] source-ip-subnet 10.1.1.0 24
[Device-security-policy-ip-5-untrust-trust] destination-ip-host 20.2.2.2
[Device-security-policy-ip-5-untrust-trust] action pass
[Device-security-policy-ip-5-untrust-trust] quit
# 配置名稱為trust-untrust的安全策略規則,使Server可以通過SSL VPN AC接口向用戶發送報文,具體配置步驟如下。
[Device-security-policy-ip] rule name trust-untrust
[Device-security-policy-ip-6-trust-untrust] source-zone trust
[Device-security-policy-ip-6-trust-untrust] destination-zone untrust
[Device-security-policy-ip-6-trust-untrust] source-ip-host 20.2.2.2
[Device-security-policy-ip-6-trust-untrust] destination-ip-subnet 10.1.1.0 24
[Device-security-policy-ip-6-trust-untrust] action pass
[Device-security-policy-ip-6-trust-untrust] quit
[Device-security-policy-ip] quit
(6) 配置PKI域,設置證書申請所需的相關參數
[Device] pki domain sslvpn
[Device-pki-domain-sslvpn] public-key rsa general name sslvpn
[Device-pki-domain-sslvpn] undo crl check enable
[Device-pki-domain-sslvpn] quit
[Device] pki import domain sslvpn der ca filename ca.cer
[Device] pki import domain sslvpn p12 local filename server.pfx
(7) 配置SSL服務器端策略,引用PKI域
[Device] ssl server-policy ssl
[Device-ssl-server-policy-ssl] pki-domain sslvpn
[Device-ssl-server-policy-ssl] quit
(8) 配置SSL VPN網關,為用戶提供訪問SSL VPN網關的入口
# 配置SSL VPN網關gw的IP地址為1.1.1.2,端口號為2000,並引用SSL服務器端策略ssl。
[Device] sslvpn gateway gw
[Device-sslvpn-gateway-gw] ip address 1.1.1.2 port 2000
[Device-sslvpn-gateway-gw] ssl server-policy ssl
[Device-sslvpn-gateway-gw] service enable
[Device-sslvpn-gateway-gw] quit
(9) 創建SSL VPN客戶端地址池,用於為IP接入客戶端分配IP地址
# 創建地址池ippool,指定IP地址範圍為10.1.1.1~10.1.1.10。
[Device] sslvpn ip address-pool ippool 10.1.1.1 10.1.1.10
(10) 配置RADIUS,用於遠程認證SSL VPN用戶
# 配置Radius方案rscheme,指定認證和授權服務器地址均為3.3.3.2、認證和授權的共享密鑰均為123456、發送給RADIUS服務器的用戶名格式為不攜帶ISP域名。
[Device] radius scheme rscheme
[Device-radius-rscheme] primary authentication 3.3.3.2
[Device-radius-rscheme] primary accounting 3.3.3.2
[Device-radius-rscheme] accounting-on enable
[Device-radius-rscheme] key authentication simple 123456
[Device-radius-rscheme] key accounting simple 123456
[Device-radius-rscheme] user-name-format without-domain
[Device-radius-rscheme] quit
(11) 配置用戶組,基於用戶組對用戶進行授權
# 配置用戶組group1,授權給該用戶組的策略組為pgroup。
[Device] user-group group1
[Device-ugroup-group1] authorization-attribute sslvpn-policy-group pgroup
[Device-ugroup-group1] quit
(12) 配置ISP域,通過ISP域對SSL VPN用戶進行認證
# 配置ISP域domain1,指定用戶授權屬性為用戶組group1,認證、授權和計費使用的RADIUS方案為rscheme。
[Device] domain domain1
[Device-isp-domain1] authorization-attribute user-group group1
[Device-isp-domain1] authentication sslvpn radius-scheme rscheme
[Device-isp-domain1] authorization sslvpn radius-scheme rscheme
[Device-isp-domain1] accounting sslvpn radius-scheme rscheme
[Device-isp-domain1] quit
(13) 配置SSL VPN訪問實例,為用戶提供不同的SSL VPN服務
# 配置SSL VPN訪問實例ctx引用SSL VPN網關gw。
[Device] sslvpn context ctx
[Device-sslvpn-context-ctx] gateway gw
[Device-sslvpn-context-ctx] aaa domain domain1
[Device-sslvpn-context-ctx] ip-route-list rtlist
[Device-sslvpn-context-ctx-route-list-rtlist] include 20.2.2.0 255.255.255.0
[Device-sslvpn-context-ctx-route-list-rtlist] quit
[Device-sslvpn-context-ctx] uri-acl uriacl
[Device-sslvpn-context-ctx-uri-acl-uriacl] rule 1 permit uri icmp://20.2.2.0
[Device-sslvpn-context-ctx-uri-acl-uriacl] quit
[Device-sslvpn-context-ctx] ip-tunnel interface sslvpn-ac 1
[Device-sslvpn-context-ctx] ip-tunnel address-pool ippool mask 255.255.255.0
[Device-sslvpn-context-ctx] policy-group pgroup
[Device-sslvpn-context-ctx-policy-group-pgroup] ip-tunnel access-route ip-route-list rtlist
[Device-sslvpn-context-ctx-policy-group-pgroup] filter ip-tunnel uri-acl uriacl
[Device-sslvpn-context-ctx-policy-group-pgroup] quit
[Device-sslvpn-context-ctx] service enable
[Device-sslvpn-context-ctx] quit
# 在Device上查看SSL VPN網關狀態,可見SSL VPN網關gw處於Up狀態。
[Device] display sslvpn gateway
Gateway name: gw
Operation state: Up
IP: 1.1.1.2 Port: 2000
SSL server policy configured: ssl
SSL server policy in use: ssl
Front VPN instance: Not configured
# 在Device上查看SSL VPN訪問實例狀態,可見SSL VPN訪問實例ctx處於Up狀態。
[Device] display sslvpn context
Context name: ctx
Operation state: Up
AAA domain: domain1
Certificate authentication: Disabled
Password authentication:Enabled
Authentication use: All
SMS auth type: Not configured
Urlmasking: Disabled
Code verification: Disabled
Default policy group: Not configured
Associated SSL VPN gateway: gw
SSL client policy configured: ssl
SSL client policy in use: ssl
Maximum users allowed: 1048575
VPN instance: Not configured
Idle timeout: 30 min
Authentication server-type: aaa
Password changing: Enabled
# 用戶在PC上啟動IP接入客戶端軟件,輸入訪問地址1.1.1.2、端口號2000、用戶名sslvpn、密碼123456,登錄成功。
# 在Device上可以看到用戶會話信息。
[Device] display sslvpn session context ctx
SSL VPN context: ctx
Users: 1
Username Connections Idle time Created User IP
sslvpn 6 0/00:02:05 0/00:03:14 40.1.1.1
# 在PC上查看IPv4路由表,其中40.1.1.1/24為本地網卡地址,10.1.1.1/24為SSL VPN網關設備分配給用戶的地址,20.2.2.0/24為到達內部服務器Server的路由。
>route -4 print
IPv4 Route Table
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
10.1.1.0 255.255.255.0 On-link 10.1.1.1 276
10.1.1.1 255.255.255.255 On-link 10.1.1.1 276
10.1.1.255 255.255.255.255 On-link 10.1.1.1 276
20.2.2.0 255.255.255.0 On-link 10.1.1.1 276
20.2.2.255 255.255.255.255 On-link 10.1.1.1 276
40.1.1.0 255.255.255.0 On-link 40.1.1.1 276
40.1.1.1 255.255.255.255 On-link 40.1.1.1 276
40.1.1.255 255.255.255.255 On-link 40.1.1.1 276
===========================================================================
# 在PC上可以Ping通服務器地址20.2.2.2。
C:\>ping 20.2.2.2
Pinging 20.2.2.2 with 32 bytes of data:
Reply from 20.2.2.2: bytes=32 time=197ms TTL=254
Reply from 20.2.2.2: bytes=32 time=1ms TTL=254
Reply from 20.2.2.2: bytes=32 time=1ms TTL=254
Reply from 20.2.2.2: bytes=32 time=186ms TTL=254
Ping statistics for 20.2.2.2:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 1ms, Maximum = 197ms, Average = 96ms
Device為SSL VPN網關設備,連接公網用戶和企業私有網絡。用戶通過Device可以通過IP接入方式安全地訪問私有網絡內的Server。Device通過LDAP server采用遠程認證和授權方式對用戶進行認證和授權。
圖1-25 LDAP認證、授權配置組網圖
· 本文以Microsoft Windows Server 2008 R2的Active Directory為例,說明該例中LDAP服務器的基本配置。
· 在LDAP服務器上設置管理員admin的密碼為admin!123456。
· 在LDAP服務器上添加用戶名為sslvpn的用戶,密碼為ldap!123456,所屬組織單位為sslvpn_usergroup,隸屬於用戶組users。
· Device已獲取到CA證書ca.cer和服務器證書server.pfx,若SSL VPN網關不引用SSL 服務端策略,則使用設備缺省證書。
(1) 新建組織單位sslvpn_usergroup
a. 在LDAP服務器上,選擇[開始/管理工具]中的[Active Directory用戶和計算機],打開Active Directory用戶和計算機界麵;
b. 在Active Directory用戶和計算機界麵的左側導航樹中,右鍵單擊ldap.com,選擇[新建/組織單位],打開[新建對象-組織單位]對話框;
c. 在對話框中輸入組織單位名稱sslvpn_usergroup,並單擊<確定>按鈕。
圖1-26 新建組織單位sslvpn_usergroup
(2) 新建用戶sslvpn所屬組織單位為sslvpn_usergroup
a. 在Active Directory用戶和計算機界麵的左側導航樹中,右鍵單擊sslvpn_usergroup,選擇[新建/用戶],打開[新建對象-用戶]對話框;
b. 在對話框中輸入姓名和用戶登錄名為sslvpn,並單擊<下一步>按鈕。
圖1-27 新建用戶sslvpn
c. 在彈出的對話框的“密碼”區域框內輸入用戶密碼ldap!123456,並單擊<下一步>按鈕。用戶賬戶的其它屬性(密碼的更改方式、密碼的生存方式、是否禁用賬戶)請根據實際情況選擇配置,圖中僅為示例。
圖1-28 設置用戶密碼
d. 單擊<完成>按鈕,創建新用戶sslvpn。
(3) 將用戶sslvpn加入Users組。
在Active Directory用戶和計算機界麵的左側導航樹中,單擊sslvpn_usergroup,在右側信息框中右鍵單擊用戶sslvpn,選擇“屬性”項;
在彈出的[sslvpn屬性]對話框中選擇“隸屬於”頁簽,並單擊<添加(D)...>按鈕。
圖1-29 修改用戶屬性
在彈出的[選擇組]對話框中的可編輯區域框中輸入對象名稱“Users”,單擊<確定>,完成用戶sslvpn添加到Users組。
圖1-30 添加用戶sslvpn到用戶組Users
在開始下麵的配置之前,假設已完成如下配置:
· Device已獲取到CA證書ca.cer和服務器證書server.pfx,若SSL VPN網關不引用SSL 服務端策略,則使用設備缺省證書。
· Server上存在到達網段10.1.1.0/24的路由。
· LDAP server已經部署完成,能夠對用戶進行認證和授權。
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<Device> system-view
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] ip address 1.1.1.2 255.255.255.0
[Device-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 創建SSL VPN AC接口,用於轉發IP接入流量
# 創建SSL VPN AC接口1,配置該接口的IP地址為10.1.1.100/24。
[Device] interface sslvpn-ac 1
[Device-SSLVPN-AC1] ip address 10.1.1.100 24
[Device-SSLVPN-AC1] quit
(3) 配置靜態路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例假設到達Server的下一跳IP地址為2.2.2.3,到達User的下一跳IP地址為1.1.1.3實際使用中請以具體組網情況為準,具體配置步驟如下。
[Device] ip route-static 20.2.2.2 24 2.2.2.3
[Device] ip route-static 40.1.1.1 24 1.1.1.3
(4) 配置接口加入安全域
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[Device] security-zone name untrust
[Device-security-zone-Untrust] import interface gigabitethernet 1/0/1
[Device-security-zone-Untrust] import interface sslvpn-ac 1
[Device-security-zone-Untrust] quit
[Device] security-zone name trust
[Device-security-zone-Trust] import interface gigabitethernet 1/0/2
[Device-security-zone-Trust] import interface gigabitethernet 1/0/3
[Device-security-zone-Trust] quit
(5) 配置安全策略放行Untrust與Local安全域、Untrust與Trust安全域之間的流量,用於用戶訪問SSL VPN網關設備和Server
# 配置名稱為sslvpnlocalout1的安全策略規則,使Device可以向用戶發送報文,具體配置步驟如下。
[Device] security-policy ip
[Device-security-policy-ip] rule name sslvpnlocalout1
[Device-security-policy-ip-1-sslvpnlocalout1] source-zone local
[Device-security-policy-ip-1-sslvpnlocalout1] destination-zone untrust
[Device-security-policy-ip-1-sslvpnlocalout1] source-ip-host 1.1.1.2
[Device-security-policy-ip-1-sslvpnlocalout1] source-ip-host 10.1.1.100
[Device-security-policy-ip-1-sslvpnlocalout1] destination-ip-host 40.1.1.1
[Device-security-policy-ip-1-sslvpnlocalout1] destination-ip-subnet 10.1.1.0 24
[Device-security-policy-ip-1-sslvpnlocalout1] action pass
[Device-security-policy-ip-1-sslvpnlocalout1] quit
# 配置名稱為sslvpnlocalin1的安全策略規則,使用戶可以向Device發送報文,具體配置步驟如下。
[Device-security-policy-ip] rule name sslvpnlocalin1
[Device-security-policy-ip-2-sslvpnlocalin1] source-zone untrust
[Device-security-policy-ip-2-sslvpnlocalin1] destination-zone local
[Device-security-policy-ip-2-sslvpnlocalin1] source-ip-host 40.1.1.1
[Device-security-policy-ip-2-sslvpnlocalin1] source-ip-host subnet 10.1.1.0 24
[Device-security-policy-ip-2-sslvpnlocalin1] destination-ip-host 1.1.1.2
[Device-security-policy-ip-2-sslvpnlocalin1] destination-ip-host 10.1.1.100
[Device-security-policy-ip-2-sslvpnlocalin1] action pass
[Device-security-policy-ip-2-sslvpnlocalin1] quit
# 配置名稱為sslvpnlocalout2的安全策略規則,使Device可以向Server發送報文,具體配置步驟如下。
[Device-security-policy-ip] rule name sslvpnlocalout2
[Device-security-policy-ip-3-sslvpnlocalout2] source-zone local
[Device-security-policy-ip-3-sslvpnlocalout2] destination-zone trust
[Device-security-policy-ip-3-sslvpnlocalout2] source-ip-host 2.2.2.2
[Device-security-policy-ip-3-sslvpnlocalout2] source-ip-host 3.3.3.1
[Device-security-policy-ip-3-sslvpnlocalout2] destination-ip-host 20.2.2.2
[Device-security-policy-ip-3-sslvpnlocalout2] destination-ip-host 3.3.3.2
[Device-security-policy-ip-3-sslvpnlocalout2] action pass
[Device-security-policy-ip-3-sslvpnlocalout2] quit
# 配置名稱為sslvpnlocalin2的安全策略規則,使Server可以向Device發送報文,具體配置步驟如下。
[Device-security-policy-ip] rule name sslvpnlocalin2
[Device-security-policy-ip-4-sslvpnlocalin2] source-zone trust
[Device-security-policy-ip-4-sslvpnlocalin2] destination-zone local
[Device-security-policy-ip-4-sslvpnlocalin2] source-ip-host 20.2.2.2
[Device-security-policy-ip-4-sslvpnlocalin2] source-ip-host 3.3.3.2
[Device-security-policy-ip-4-sslvpnlocalin2] destination-ip-host 2.2.2.2
[Device-security-policy-ip-4-sslvpnlocalin2] destination-ip-host 3.3.3.1
[Device-security-policy-ip-4-sslvpnlocalin2] action pass
[Device-security-policy-ip-4-sslvpnlocalin2] quit
# 配置名稱為untrust-trust的安全策略規則,使用戶可以通過SSL VPN AC接口訪問Server,具體配置步驟如下。
[Device-security-policy-ip] rule name untrust-trust
[Device-security-policy-ip-5-untrust-trust] source-zone untrust
[Device-security-policy-ip-5-untrust-trust] destination-zone trust
[Device-security-policy-ip-5-untrust-trust] source-ip-subnet 10.1.1.0 24
[Device-security-policy-ip-5-untrust-trust] destination-ip-host 20.2.2.2
[Device-security-policy-ip-5-untrust-trust] action pass
[Device-security-policy-ip-5-untrust-trust] quit
# 配置名稱為trust-untrust的安全策略規則,使Server可以通過SSL VPN AC接口向用戶發送報文,具體配置步驟如下。
[Device-security-policy-ip] rule name trust-untrust
[Device-security-policy-ip-6-trust-untrust] source-zone trust
[Device-security-policy-ip-6-trust-untrust] destination-zone untrust
[Device-security-policy-ip-6-trust-untrust] source-ip-host 20.2.2.2
[Device-security-policy-ip-6-trust-untrust] destination-ip-subnet 10.1.1.0 24
[Device-security-policy-ip-6-trust-untrust] action pass
[Device-security-policy-ip-6-trust-untrust] quit
[Device-security-policy-ip] quit
(6) 配置PKI域,設置證書申請所需的相關參數
[Device] pki domain sslvpn
[Device-pki-domain-sslvpn] public-key rsa general name sslvpn
[Device-pki-domain-sslvpn] undo crl check enable
[Device-pki-domain-sslvpn] quit
[Device] pki import domain sslvpn der ca filename ca.cer
[Device] pki import domain sslvpn p12 local filename server.pfx
(7) 配置SSL服務器端策略,引用PKI域
[Device] ssl server-policy ssl
[Device-ssl-server-policy-ssl] pki-domain sslvpn
[Device-ssl-server-policy-ssl] quit
(8) 配置SSL VPN網關,為用戶提供訪問SSL VPN網關的入口
# 配置SSL VPN網關gw的IP地址為1.1.1.2,端口號為2000,並引用SSL服務器端策略ssl。
[Device] sslvpn gateway gw
[Device-sslvpn-gateway-gw] ip address 1.1.1.2 port 2000
[Device-sslvpn-gateway-gw] ssl server-policy ssl
[Device-sslvpn-gateway-gw] service enable
[Device-sslvpn-gateway-gw] quit
(9) 創建SSL VPN客戶端地址池,用於為IP接入客戶端分配IP地址
# 創建地址池ippool,指定IP地址範圍為10.1.1.1~10.1.1.10。
[Device] sslvpn ip address-pool ippool 10.1.1.1 10.1.1.10
(10) 配置LDAP,用於認證SSL VPN用戶
[Device] ldap server ldap1
[Device-ldap-server-ldap1] ip 3.3.3.2
[Device-ldap-server-ldap1] login-dn cn=admin,cn=users,dc=ldap,dc=com
[Device-ldap-server-ldap1] login-password simple admin!123456
[Device-ldap-server-ldap1] search-base-dn dc=ldap,dc=com
[Device-ldap-server-ldap1] quit
[Device] ldap attribute-map test
[Device-ldap-attr-map-test] map ldap-attribute memberof prefix cn= delimiter , aaa-attribute user-group
[Device-ldap-attr-map-test] quit
[Device] ldap scheme shml
[Device-ldap-shml] authentication-server ldap1
[Device-ldap-shml] authorization-server ldap1
[Device-ldap-shml] attribute-map test
[Device-ldap-shml] quit
(11) 配置ISP域,通過ISP域對SSL VPN用戶進行認證
# 創建ISP域bbb,為SSL VPN用戶配置AAA認證方法為LDAP認證、LDAP授權、不計費。
[Device] domain bbb
[Device-isp-bbb] authentication sslvpn ldap-scheme shml
[Device-isp-bbb] authorization sslvpn ldap-scheme shml
[Device-isp-bbb] accounting sslvpn none
[Device-isp-bbb] quit
(12) 配置SSL VPN訪問實例,為用戶提供不同的SSL VPN服務
# 配置SSL VPN訪問實例ctx引用SSL VPN網關gw。
[Device] sslvpn context ctx
[Device-sslvpn-context-ctx] gateway gw
[Device-sslvpn-context-ctx] aaa domain bbb
[Device-sslvpn-context-ctx] ip-route-list rtlist
[Device-sslvpn-context-ctx-route-list-rtlist] include 20.2.2.0 255.255.255.0
[Device-sslvpn-context-ctx-route-list-rtlist] quit
[Device-sslvpn-context-ctx] uri-acl uriacl
[Device-sslvpn-context-ctx-uri-acl-uriacl] rule 1 permit uri icmp://20.2.2.0
[Device-sslvpn-context-ctx-uri-acl-uriacl] quit
[Device-sslvpn-context-ctx] ip-tunnel interface sslvpn-ac 1
[Device-sslvpn-context-ctx] ip-tunnel address-pool ippool mask 255.255.255.0
[Device-sslvpn-context-ctx] policy-group pgroup
[Device-sslvpn-context-ctx-policy-group-pgroup] ip-tunnel access-route ip-route-list rtlist
[Device-sslvpn-context-ctx-policy-group-pgroup] filter ip-tunnel uri-acl uriacl
[Device-sslvpn-context-ctx-policy-group-pgroup] quit
[Device-sslvpn-context-ctx] service enable
[Device-sslvpn-context-ctx] quit
(13) 配置本地用戶組,基於用戶組對用戶進行授權
# 創建本地用戶組users,指定授權SSL VPN策略組為pgroup。
[Device] user-group users
[Device-ugroup-users] authorization-attribute sslvpn-policy-group pgroup
[Device-ugroup-users] quit
# 在Device上查看SSL VPN網關狀態,可見SSL VPN網關gw處於Up狀態。
[Device] display sslvpn gateway
Gateway name: gw
Operation state: Up
IP: 1.1.1.2 Port: 2000
SSL server policy configured: ssl
SSL server policy in use: ssl
Front VPN instance: Not configured
# 在Device上查看SSL VPN訪問實例狀態,可見SSL VPN訪問實例ctx處於Up狀態。
[Device] display sslvpn context
Context name: ctx
Operation state: Up
AAA domain: domain1
Certificate authentication: Disabled
Password authentication:Enabled
Authentication use: All
SMS auth type: Not configured
Urlmasking: Disabled
Code verification: Disabled
Default policy group: Not configured
Associated SSL VPN gateway: gw
SSL client policy configured: ssl
SSL client policy in use: ssl
Maximum users allowed: 1048575
VPN instance: Not configured
Idle timeout: 30 min
Authentication server-type: aaa
Password changing: Enabled
# 用戶在PC上啟動IP接入客戶端軟件,輸入訪問地址1.1.1.2、端口號2000、用戶名sslvpn、密碼123456,登錄成功。
# 在Device上可以看到用戶會話信息。
[Device] display sslvpn session context ctx
SSL VPN context: ctx
Users: 1
Username Connections Idle time Created User IP
sslvpn 6 0/00:02:05 0/00:03:14 40.1.1.1
# 在PC上查看IPv4路由表,其中40.1.1.1/24為本地網卡地址,10.1.1.1/24為SSL VPN網關設備分配給用戶的地址,20.2.2.0/24為到達內部服務器Server的路由。
>route -4 print
IPv4 Route Table
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
10.1.1.0 255.255.255.0 On-link 10.1.1.1 276
10.1.1.1 255.255.255.255 On-link 10.1.1.1 276
10.1.1.255 255.255.255.255 On-link 10.1.1.1 276
20.2.2.0 255.255.255.0 On-link 10.1.1.1 276
20.2.2.255 255.255.255.255 On-link 10.1.1.1 276
40.1.1.0 255.255.255.0 On-link 40.1.1.1 276
40.1.1.1 255.255.255.255 On-link 40.1.1.1 276
40.1.1.255 255.255.255.255 On-link 40.1.1.1 276
===========================================================================
# 在PC上可以Ping通服務器地址20.2.2.2。
C:\>ping 20.2.2.2
Pinging 20.2.2.2 with 32 bytes of data:
Reply from 20.2.2.2: bytes=32 time=197ms TTL=254
Reply from 20.2.2.2: bytes=32 time=1ms TTL=254
Reply from 20.2.2.2: bytes=32 time=1ms TTL=254
Reply from 20.2.2.2: bytes=32 time=186ms TTL=254
Ping statistics for 20.2.2.2:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 1ms, Maximum = 197ms, Average = 96ms
Device為SSL VPN網關設備,連接公網用戶和企業私有網絡。用戶通過Device可以通過IP接入方式安全地訪問私有網絡內的Server。用戶使用USB Key登錄SSL VPN網關,Device采用證書認證方式對用戶進行身份認證,認證通過後對用戶進行授權。
圖1-31 USB Key證書認證配置組網圖
設備支持使用缺省證書和非缺省證書作為其服務器證書,使用方法如下:
· 缺省證書:設備出廠自帶的服務器證書即為缺省證書,使用缺省證書時無需引用SSL服務器端策略。
· 非缺省證書:用戶自己申請的證書即為非缺省證書,使用非缺省證書時需要引用SSL服務器端策略。
由於缺省證書存在較多的安全隱患,故僅作為功能測試使用。實際組網環境中,請使用非缺省證書作為設備的服務器證書。
在開始下麵的配置之前,假設已完成如下配置:
· Device已獲取到CA證書ca.cer和服務器證書server.pfx,USB Key中已安裝證書,Device和USB Key安裝的證書為同一CA機構頒發。
· USB Key客戶端證書中的指定字段(默認為CN字段)必須和該SSL VPN用戶的用戶名一致。
· 某些品牌的USB Key可能需要安裝驅動才能使用,請做好準備。
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址。
<Device> system-view
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] ip address 1.1.1.2 255.255.255.0
[Device-GigabitEthernet1/0/1] quit
# 創建SSL VPN AC接口,用於轉發IP接入流量。
[Device] interface sslvpn-ac 1
[Device-SSLVPN-AC1] ip address 10.1.1.100 24
[Device-SSLVPN-AC1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域。
[Device] security-zone name untrust
[Device-security-zone-Untrust] import interface gigabitethernet 1/0/1
[Device-security-zone-Untrust] import interface sslvpn-ac 1
[Device-security-zone-Untrust] quit
[Device] security-zone name trust
[Device-security-zone-Trust] import interface gigabitethernet 1/0/2
[Device-security-zone-Trust] quit
(2) 配置靜態路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例假設到達Server的下一跳IP地址為2.2.2.3,到達Host的下一跳IP地址為1.1.1.3,實際使用中請以具體組網情況為準。
[Device] ip route-static 20.2.2.2 24 2.2.2.3
[Device] ip route-static 40.1.1.1 24 1.1.1.3
(3) 配置安全策略放行Untrust與Local安全域、Untrust與Trust安全域之間的流量,用於用戶訪問SSL VPN網關設備和Server
# 配置名稱為sslvpnlocalout1的安全策略規則,使SSL VPN網關可以向用戶發送報文。
[Device] security-policy ip
[Device-security-policy-ip] rule name sslvpnlocalout1
[Device-security-policy-ip-1-sslvpnlocalout1] source-zone local
[Device-security-policy-ip-1-sslvpnlocalout1] destination-zone untrust
[Device-security-policy-ip-1-sslvpnlocalout1] source-ip-host 1.1.1.2
[Device-security-policy-ip-1-sslvpnlocalout1] destination-ip-host 40.1.1.1
[Device-security-policy-ip-1-sslvpnlocalout1] action pass
[Device-security-policy-ip-1-sslvpnlocalout1] quit
# 配置名稱為sslvpnlocalin1的安全策略規則,使用戶可以向SSL VPN網關發送報文。
[Device-security-policy-ip] rule name sslvpnlocalin1
[Device-security-policy-ip-2-sslvpnlocalin1] source-zone untrust
[Device-security-policy-ip-2-sslvpnlocalin1] destination-zone local
[Device-security-policy-ip-2-sslvpnlocalin1] source-ip-host 40.1.1.1
[Device-security-policy-ip-2-sslvpnlocalin1] destination-ip-host 1.1.1.2
[Device-security-policy-ip-2-sslvpnlocalin1] action pass
[Device-security-policy-ip-2-sslvpnlocalin1] quit
# 配置名稱為sslvpnlocalout2的安全策略規則,使SSL VPN網關可以向Server發送報文。
[Device-security-policy-ip] rule name sslvpnlocalout2
[Device-security-policy-ip-3-sslvpnlocalout2] source-zone local
[Device-security-policy-ip-3-sslvpnlocalout2] destination-zone trust
[Device-security-policy-ip-3-sslvpnlocalout2] source-ip-host 2.2.2.2
[Device-security-policy-ip-3-sslvpnlocalout2] destination-ip-host 20.2.2.2
[Device-security-policy-ip-3-sslvpnlocalout2] action pass
[Device-security-policy-ip-3-sslvpnlocalout2] quit
# 配置名稱為sslvpnlocalin2的安全策略規則,使Server可以向SSL VPN網關發送報文。
[Device-security-policy-ip] rule name sslvpnlocalin2
[Device-security-policy-ip-4-sslvpnlocalin2] source-zone trust
[Device-security-policy-ip-4-sslvpnlocalin2] destination-zone local
[Device-security-policy-ip-4-sslvpnlocalin2] source-ip-host 20.2.2.2
[Device-security-policy-ip-4-sslvpnlocalin2] destination-ip-host 2.2.2.2
[Device-security-policy-ip-4-sslvpnlocalin2] action pass
[Device-security-policy-ip-4-sslvpnlocalin2] quit
# 配置名稱為untrust-trust的安全策略規則,使用戶可以通過SSL VPN AC接口訪問Server。
[Device-security-policy-ip] rule name untrust-trust
[Device-security-policy-ip-5-untrust-trust] source-zone untrust
[Device-security-policy-ip-5-untrust-trust] destination-zone trust
[Device-security-policy-ip-5-untrust-trust] source-ip-subnet 10.1.1.0 24
[Device-security-policy-ip-5-untrust-trust] destination-ip-host 20.2.2.2
[Device-security-policy-ip-5-untrust-trust] action pass
[Device-security-policy-ip-5-untrust-trust] quit
# 配置名稱為trust-untrust的安全策略規則,使Server可以通過SSL VPN AC接口向用戶發送報文。
[Device-security-policy-ip] rule name trust-untrust
[Device-security-policy-ip-6-trust-untrust] source-zone trust
[Device-security-policy-ip-6-trust-untrust] destination-zone untrust
[Device-security-policy-ip-6-trust-untrust] source-ip-host 20.2.2.2
[Device-security-policy-ip-6-trust-untrust] destination-ip-subnet 10.1.1.0 24
[Device-security-policy-ip-6-trust-untrust] action pass
[Device-security-policy-ip-6-trust-untrust] quit
[Device-security-policy-ip] quit
(4) 為設備配置證書,用於SSL VPN客戶端驗證SSL VPN網關的身份
# 配置PKI域,設置證書申請所需的相關參數。
[Device] pki domain sslvpn
[Device-pki-domain-sslvpn] public-key rsa general name sslvpn
[Device-pki-domain-sslvpn] undo crl check enable
[Device-pki-domain-sslvpn] quit
[Device] pki import domain sslvpn der ca filename ca.cer
[Device] pki import domain sslvpn p12 local filename server.pfx
# 配置SSL服務器端策略,引用PKI域,並開啟驗證客戶端功能。
[Device] ssl server-policy ssl
[Device-ssl-server-policy-ssl] pki-domain sslvpn
[Device-ssl-server-policy-ssl] client-verify enable
[Device-ssl-server-policy-ssl] quit
(5) 配置SSL VPN業務,為用戶提供SSL VPN接入服務
# 配置SSL VPN網關,為用戶提供登錄SSL VPN網關的入口。
[Device] sslvpn gateway gw
[Device-sslvpn-gateway-gw] ip address 1.1.1.2 port 4430
[Device-sslvpn-gateway-gw] ssl server-policy ssl
[Device-sslvpn-gateway-gw] service enable
[Device-sslvpn-gateway-gw] quit
# 創建SSL VPN客戶端地址池,用於為IP接入客戶端分配IP地址。
[Device] sslvpn ip address-pool sslvpnpool 10.1.1.1 10.1.1.10
# 創建ACL,用於對IP接入流量進行過濾。
[Device] acl advanced 3000
[Device-acl-ipv4-adv-3000] rule permit ip source 10.1.1.0 0.0.0.255 destination 20.2.2.0 0.0.0.255
[Device-acl-ipv4-adv-3000] quit
# 配置SSL VPN訪問實例,使用證書認證方式驗證用戶身份,並為用戶提供SSL VPN IP接入服務。
[Device] sslvpn context ctxip
[Device-sslvpn-context-ctxip] gateway gw
[Device-sslvpn-context-ctxip] certificate-authentication enable
[Device-sslvpn-context-ctxip] ip-tunnel interface sslvpn-ac 1
[Device-sslvpn-context-ctxip] ip-route-list rtlist
[Device-sslvpn-context-ctxip-route-list-rtlist] include 20.2.2.0 24
[Device-sslvpn-context-ctxip-route-list-rtlist] quit
[Device-sslvpn-context-ctxip] ip-tunnel address-pool sslvpnpool mask 24
[Device-sslvpn-context-ctxip] policy-group resourcegrp
[Device-sslvpn-context-ctxip-policy-group-resourcegrp] ip-tunnel access-route ip-route-list rtlist
[Device-sslvpn-context-ctxip-policy-group-resourcegrp] filter ip-tunnel acl 3000
[Device-sslvpn-context-ctxip-policy-group-resourcegrp] quit
[Device-sslvpn-context-ctxip] service enable
[Device-sslvpn-context-ctxip] quit
(6) 配置SSL VPN用戶,用於訪問SSL VPN網關
# 創建本地SSL VPN用戶sslvpnuser,密碼為123456TESTplat&!,用戶角色為network-operator,授權用戶的SSL VPN策略組為resourcegrp。
[Device] local-user sslvpnuser class network
[Device-luser-network-sslvpnuser] password simple 123456
[Device-luser-network-sslvpnuser] service-type sslvpn
[Device-luser-network-sslvpnuser] authorization-attribute sslvpn-policy-group resourcegrp
[Device-luser-network-sslvpnuser] authorization-attribute user-role network-operator
[Device-luser-network-sslvpnuser] quit
Server上需要配置到達網段10.1.1.0/24的路由。
(1) 在Device上查看SSL VPN的相關信息
# 在Device上查看SSL VPN網關狀態,可見SSL VPN網關gw處於Up狀態。
[Device] display sslvpn gateway
Gateway name: gw
Operation state: Up
IP: 1.1.1.2 Port: 4430
Front VPN instance: Not configured
# 在Device上查看SSL VPN訪問實例狀態,可見SSL VPN訪問實例ctxip處於Up狀態。
[Device] display sslvpn context
Context name: ctxip
Operation state: Up
AAA domain: Not specified
Certificate authentication: Enabled
Password authentication: Enabled
Authentication use: All
SMS auth type: Not configured
Urlmasking: Disabled
Code verification: Disabled
Default policy group: Not configured
Associated SSL VPN gateway: gw
Maximum users allowed: 1048575
VPN instance: Not configured
Idle timeout: 30 min
Authentication server-type: aaa
Password changing: Enabled
# 用戶登錄成功之後,可以在Device上看到SSL VPN用戶sslvpnuser的會話信息。
[Device] display sslvpn session user sslvpnuser
User : sslvpnuser
Context : ctxip
Policy group : resourcegrp
Idle timeout : 30 min
Created at : 16:38:48 UTC Wed 07/26/2017
Lastest : 16:47:41 UTC Wed 07/26/2017
User IPv4 address : 172.16.1.16
Allocated IP : 10.1.1.1
Session ID : 14
Web browser/OS : Windows
(2) 在Host上安裝USB Key
從管理員處獲取製作好的USB Key安裝到Host,USB Key的製作方法請參見本文附錄。
(3) 在Host上登錄SSL VPN網關
# 在Host的瀏覽器地址欄輸入https://1.1.1.2:4430/,回車確認之後會彈出證書選擇界麵,如下圖所示。
圖1-32 證書選擇界麵
# 選擇證書,單擊<確定>按鈕,跳轉到登錄頁麵,輸入用戶sslvpnuser和密碼123456TESTplat&!,如下圖所示。
圖1-33 登錄頁麵
# 單擊<登錄>按鈕,可以成功登錄SSL VPN網關。在網頁的應用程序欄中選擇“啟動IP客戶端應用程序”。
# 單擊<啟動>按鈕,下載IP接入客戶端軟件Svpnclient並安裝,安裝完成後,啟動iNode客戶端,輸入如下圖所示的參數。
圖1-34 iNode客戶端
# 單擊密碼輸入框右側的<選擇客戶端證書>按鈕,選擇USBKey中的客戶端證書,單擊<確定>按鈕,如下圖所示。
圖1-35 選擇證書
# 單擊圖1-34的<連接>按鈕,成功登錄SSL VPN客戶端,如下圖所示。
圖1-36 成功登錄SSL VPN網關
# SSL VPN用戶sslvpnuser登錄成功後,SSL VPN用戶可以在Host上Ping通服務器地址20.2.2.2。
C:\>ping 20.2.2.2
Pinging 20.2.2.2 with 32 bytes of data:
Reply from 20.2.2.2: bytes=32 time=31ms TTL=254
Reply from 20.2.2.2: bytes=32 time=18ms TTL=254
Reply from 20.2.2.2: bytes=32 time=15ms TTL=254
Reply from 20.2.2.2: bytes=32 time=16ms TTL=254
Ping statistics for 20.2.2.2:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 15ms, Maximum = 31ms, Average = 20ms
在管理員PC上製作USB Key的流程如下:
(1) 配置管理員PC的IP地址、網關,保證PC到達CA服務器的路由可達。本文以Windows 2008 server作為CA服務器舉例,組網圖如下圖所示。
圖1-37 製作USB Key組網圖
(2) 申請USBKey客戶端證書。
# 在瀏覽器地址欄輸入https://192.168.100.247/certsrv,進入證書申請頁麵,如下圖所示。
圖1-38 證書申請頁麵
# 單擊<申請證書>按鈕,跳轉頁麵如下圖所示。
圖1-39 證書申請頁麵
# 單擊<高級證書申請>按鈕,在跳轉的頁麵選擇<創建並向此CA提交一個申請>,申請客戶端證書,參數配置如下圖所示。
圖1-40 申請客戶端證書
# 其餘選用默認配置,單擊頁麵最下方的<提交>按鈕,提交客戶端證書申請。
# 提交成功之後,頁麵會彈出輸入框,請按提示輸入USB Key的用戶密碼,並單擊<登錄>按鈕,如下圖所示。
圖1-41 安裝客戶端證書到USB Key
# 單擊<安裝此證書>,潛在的腳本衝突單擊<是>,客戶端證書會直接安裝到USBKey中,如下圖所示。
圖1-42 USB Key客戶端證書
至此,USB Key製作完畢。
關於此配置舉例的具體內容,請參見“安全配置指導”中的“用戶身份識別與管理”。
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!