10-SSL VPN配置
本章節下載: 10-SSL VPN配置 (529.81 KB)
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用戶身份的認證,用戶身份認證通過後,才能訪問對應的內網服務器資源。用戶認證包括:用戶名/密碼認證、證書認證、用戶名/密碼和證書的組合認證。有關用戶的詳細介紹,請參見“用戶接入與認證配置指導”中的“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連接;
(3) SSL VPN網關從SSL VPN用戶證書中的CN字段提取用戶名,並將該用戶名提交給AAA模塊進行授權和計費。
· 雖然證書認證不需要用戶手工輸入用戶名,但在本地設備中必須存在該用戶。
· SSL VPN用戶證書中的CN字段必須和該SSL VPN用戶的用戶名一致。
圖1-8 證書認證過程
用戶名/密碼和證書組合認證是指SSL VPN網關對SSL VPN用戶的證書以及用戶名/密碼進行雙重認證。該認證的過程如下:
(1) SSL VPN用戶選擇自己的SSL VPN用戶證書,用戶設備會將該證書發送給SSL VPN網關;
(2) SSL VPN網關用CA證書檢查SSL VPN用戶證書是否可信:如果可信,則繼續進行下一步;如果不可信,則不能建立SSL連接;
(3) SSL VPN網關從SSL VPN用戶證書中提取用戶名與輸入的用戶名進行比較:
¡ 若一致,則網關將用戶名和密碼提交給AAA模塊進行認證、授權和計費;
¡ 若不一致,則認證不通過。
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協議較為常用。
用戶先采用Web接入方式登錄SSL VPN網關,又在Web頁麵上下載並運行IP接入客戶端。此時用戶通過兩種接入方式訪問SSL VPN網關,SSL VPN網關上會為該用戶生成一個SSL VPN會話。之後如果用戶從瀏覽器退出或者從IP接入客戶端退出,則會因為SSL VPN會話斷開而將無法繼續訪問對應的Web接入服務資源和IP接入服務資源。
SSL VPN相關配置均在SSL VPN網關設備上進行。SSL VPN配置任務如下:
(1) 配置SSL VPN網關
(2) 配置SSL VPN訪問實例
(3) 配置SSL VPN用戶認證
(4) 創建URI ACL
(5) 配置接入服務
¡ 配置IP接入服務
(6) (可選)配置SSL VPN缺省策略組
(7) (可選)配置HTTP重定向
(8) (可選)定製SSL VPN頁麵信息
(9) (可選)配置SSL VPN用戶控製
(10) (可選)開啟SSL VPN日誌功能
進行SSL VPN配置前,需要在SSL VPN網關上完成以下操作:
· 配置PKI,為SSL VPN網關獲取數字證書,配置方法請參見“安全配置指導”中的“PKI”。
· 配置SSL服務器端策略,配置方法請參見“安全配置指導”中的“SSL”。
· SSL VPN網關的IPv4地址和IPv6地址不能同時生效,若同時配置了IPv4地址和IPv6地址,則最後一次配置的IP地址生效。
(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。
SSL VPN網關使用缺省地址時,端口號不能與設備的HTTPS管理地址的端口號相同。
(4) 指定SSL VPN網關引用SSL服務器端策略。
ssl server-policy policy-name
缺省情況下,SSL VPN網關引用自簽名證書的SSL服務器端策略。
如果引用的SSL服務器策略有變化,需要重新開啟SSL VPN網關才能生效。
(5) 開啟當前的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網關
(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服務器建立連接。
用戶名/密碼認證功能和證書認證功能都開啟的情況下,可以通過authentication use命令來控製SSL VPN用戶認證的認證模式。若認證模式選用any-one,則用戶隻需要通過其中一種認證即可登錄SSL VPN訪問實例;若認證模式選用all,則用戶必須通過這兩種認證(即用戶名/密碼和證書的組合認證)方可登錄SSL VPN訪問實例。
用戶名/密碼認證、證書認證功能、驗證碼驗證功能和iMC短信驗證這幾種驗證方式可以同時開啟,也可以隻開啟其中的一個或多個。若同時開啟多個功能,則多個功能同時生效,用戶需要同時通過多個驗證才能訪問企業內網資源。
對於SSL VPN證書認證功能,僅在Web接入和IP接入方式下,支持SSL服務器端強製要求對SSL客戶端進行基於數字證書的身份驗證;在TCP接入和移動客戶端接入方式下,不支持SSL服務器端強製要求對SSL客戶端進行基於數字證書的身份驗證。
(1) 進入係統視圖。
system-view
(2) 進入SSL VPN訪問實例視圖。
sslvpn context context-name
(3) 開啟用戶名/密碼認證功能。
password-authentication enable
缺省情況下,用戶名/密碼認證功能處於開啟狀態。
(4) (可選)開啟證書認證功能。
certificate-authentication enable
缺省情況下,證書認證功能處於關閉狀態。
(5) 配置SSL VPN用戶登錄訪問實例的認證模式。
authentication use { all | any-one }
缺省情況下,SSL VPN用戶登錄訪問實例的認證模式為all。
(6) (可選)開啟驗證碼驗證功能。
verify-code enable
缺省情況下,驗證碼驗證功能處於關閉狀態。
(7) (可選)配置iMC短信驗證服務。
a. 配置iMC服務器的IP地址和端口號。
sms-imc address ip-address port port-number
缺省情況下,未配置短信驗證使用的iMC服務器的IP地址和端口號。
b. 開啟當前的iMC短信驗證服務。
sms-imc enable
缺省情況下,iMC短信驗證服務處於關閉狀態。
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接入服務配置任務如下:
(1) 配置URL列表
(3) (可選)配置改寫策略
URL列表用於定義Web接入方式可訪問的資源。每個URL表項對應一個企業網內的Web資源。
(1) 進入係統視圖。
system-view
(2) 進入SSL VPN訪問實例視圖。
sslvpn context context-name
(3) 創建URL列表,並進入URL列表視圖。
url-list name
(4) (可選)配置URL列表標題。
heading string
缺省情況下,URL列表的標題為“Web”。
在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)映射為客戶端上的本地地址和本地端口,以便客戶端通過本地地址和本地端口訪問企業網內的服務器。
(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) 退回SSL VPN訪問實例視圖。
quit
(6) 創建端口轉發列表,並進入端口轉發列表視圖。
port-forward port-forward-name
(7) 配置端口轉發列表引用端口轉發表項。
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接入服務配置任務如下:
(2) 配置分配給IP接入用戶的地址池
(1) 進入係統視圖。
system-view
(2) 創建SSL VPN AC接口,並進入SSL VPN AC接口視圖。
interface sslvpn-ac interface-number
(3) 配置接口的IP地址。
ip address ip-address { mask | mask-length }
缺省情況下,沒有指定接口的IP地址。
(4) (可選)配置接口的期望帶寬。
bandwidth bandwidth-value
缺省情況下,接口的期望帶寬為64kbps。
期望帶寬供業務模塊使用,不會對接口實際帶寬造成影響。
(5) (可選)配置當前接口的描述信息。
description text
缺省情況下,接口的描述信息為“接口名 Interface”,例如:SSLVPN-AC1000 Interface。
(6) (可選)配置接口的MTU值。
mtu size
缺省情況下,接口的MTU值為1500字節。
(7) 開啟當前接口。
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地址。
(1) 進入係統視圖。
system-view
(2) 創建地址池。
sslvpn ip address-pool pool-name start-ip-address end-ip-address
為SSL VPN訪問實例引用地址池,在客戶端通過驗證後,SSL VPN網關會從該訪問實例引用的地址池中選擇IP地址分配給客戶端。
在SSL VPN訪問實例下還可以配置路由列表,為客戶端分配路由表項。
(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) 創建路由列表,並進入路由列表視圖。
ip-route-list list-name
(5) 在路由列表中添加路由。
include ip-address { mask | mask-length }
(6) 退回SSL VPN訪問實例視圖。
quit
(7) 配置IP接入引用地址池。
ip-tunnel address-pool pool-name mask { mask-length | mask }
缺省情況下,IP接入未引用地址池。
(8) (可選)配置保活報文的發送時間間隔。
ip-tunnel keepalive seconds
缺省情況下,保活報文的發送時間間隔為30秒。
(9) (可選)配置為客戶端指定的內網DNS服務器地址。
ip-tunnel dns-server { primary | secondary } ip-address
缺省情況下,未配置為客戶端指定的DNS服務器地址。
(10) (可選)配置為客戶端指定的內網WINS服務器地址。
ip-tunnel wins-server { primary | secondary } ip-address
缺省情況下,未配置為客戶端指定的WINS服務器地址。
在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檢查失敗,則授權失敗,用戶不允許訪問資源。
高級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) 配置下發給客戶端的路由表項。
ip-tunnel access-route { ip-address { mask-length | mask } | force-all | ip-route-list list-name }
缺省情況下,未指定下發給客戶端的路由表項。
(5) (可選)配置對IP接入進行過濾。
¡ 通過高級ACL方式進行過濾。
filter ip-tunnel [ ipv6 ] acl advanced-acl-number
¡ 通過URI ACL方式進行過濾。
filter ip-tunnel uri-acl uri-acl-name
缺省情況下,SSL VPN網關禁止所有客戶端訪問IP接入資源。
如果引用的ACL不存在,則SSL VPN網關拒絕所有IP接入方式的訪問。
為移動客戶端配置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訪問實例時,如果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策略組配置指定IP接入資源。
ip-tunnel access-route { ip-address { mask-length | mask } | force-all | ip-route-list list-name }
缺省情況下,未指定下發給客戶端的路由表項。
(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網關禁止所有客戶端訪問IP接入資源。
如果引用的ACL不存在,則SSL VPN網關拒絕所有IP接入方式的訪問。
(8) 退回SSL VPN訪問實例視圖。
quit
(9) 指定某個策略組為缺省策略組。
default-policy-group group-name
缺省情況下,沒有指定缺省策略組。
缺省情況下,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頁麵進行定製。目前,支持的頁麵定製項包括:登錄頁麵歡迎信息、頁麵標題、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頁麵的標題信息。
title { chinese chinese-title | english english-title }
缺省情況下,SSL VPN頁麵的標題為“SSL VPN”。
(5) 配置SSL VPN頁麵上顯示的logo。
logo { file file-name | none }
缺省情況下,SSL VPN頁麵上顯示“H3C”logo圖標。
通過配置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網關會記錄日誌信息。生成的日誌信息將被發送到設備的信息中心,通過設置信息中心的參數,決定日誌信息的輸出規則(即是否允許輸出以及輸出方向)。(有關信息中心參數的配置請參見“設備管理配置指導”中的“信息中心”。)
(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接入連接關閉的日誌生成功能處於關閉狀態。
在完成上述配置後,在任意視圖下執行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 ] |
顯示SSL VPN網關的信息 |
display sslvpn gateway [ brief | name gateway-name ] |
顯示通過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 ] (IRF模式) display sslvpn port-forward connection [ context context-name ] [ slot slot-number ] |
顯示SSL VPN會話信息 |
display sslvpn session [ context context-name ] [ user user-name | verbose ] |
清除SSL VPN AC接口的統計信息 |
reset counters interface [ sslvpn-ac [ interface-number ] ] |
清除通過IP接入的SSL VPN用戶的報文統計信息 |
reset sslvpn ip-tunnel statistics [ context context-name [ session session-id ] ] |
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!