• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 新华三人才研学中心
  • 关于我们

12-安全配置指导

13-SSL VPN配置

本章节下载  (1.09 MB)

13-SSL VPN配置

  录

1 SSL VPN

1.1 SSL VPN简介

1.1.1 SSL VPN工作机制

1.1.2 SSL VPN典型组网

1.1.3 SSL VPN接入方式

1.1.4 SSL VPN用户认证

1.1.5 资源访问控制

1.1.6 SSL VPN支持VPN多实例

1.2 SSL VPN的License要求

1.3 SSL VPN配置限制和指导

1.4 SSL VPN配置任务简介

1.5 SSL VPN配置准备

1.6 配置SSL VPN网关

1.7 配置SSL VPN访问实例

1.8 配置SSL VPN用户认证方式

1.8.1 配置限制和指导

1.8.2 配置任务简介

1.8.3 配置用户认证模式

1.8.4 配置用户名密码认证功能

1.8.5 配置证书认证功能

1.8.6 配置验证码验证功能

1.8.7 配置动态口令验证功能

1.8.8 配置iMC短信认证功能

1.8.9 配置用户自助修改密码功能

1.9 配置SSL VPN用户认证服务器

1.9.1 配置认证服务器类型

1.9.2 配置自定义认证服务器参数

1.10 创建URI ACL

1.11 配置Web接入服务

1.11.1 配置任务简介

1.11.2 配置URL列表

1.11.3 为Web接入配置SSL VPN策略组

1.11.4 配置改写策略

1.12 配置TCP接入服务

1.12.1 配置任务简介

1.12.2 配置端口转发列表

1.12.3 为TCP接入配置SSL VPN策略组

1.13 配置IP接入服务

1.13.1 配置限制和指导

1.13.2 配置任务简介

1.13.3 配置用于IP接入服务的SSL VPN AC接口

1.13.4 配置分配给IP接入用户的地址池

1.13.5 配置SSL VPN访问实例的IP接入参数

1.13.6 为IP接入配置SSL VPN策略组

1.14 为移动客户端配置SSL VPN接入服务

1.14.1 配置任务简介

1.14.2 为移动客户端指定EMO服务器

1.14.3 为移动客户端指定Message服务器

1.15 配置资源重定向

1.16 配置HTTP重定向

1.17 配置SSL VPN缺省策略组

1.18 配置SSL VPN支持VPN多实例

1.18.1 配置SSL VPN访问实例关联VPN实例

1.18.2 配置SSL VPN网关所属的VPN实例

1.19 配置SSL VPN在线用户控制

1.20 配置SSL VPN会话的限速功能

1.21 配置SSL VPN防暴力破解功能

1.22 配置SSL VPN单点登录功能

1.22.1 功能简介

1.22.2 配置限制和指导

1.22.3 配置自动构建登录请求方式下的单点登录功能

1.22.4 配置Basic认证方式下的单点登录功能

1.23 配置SSL VPN页面

1.23.1 配置限制和指导

1.23.2 定制SSL VPN页面信息

1.23.3 设置SSL VPN页面模板

1.24 开启SSL VPN日志功能

1.25 SSL VPN显示和维护

1.26 SSL VPN典型配置举例

1.26.1 Web接入配置举例(缺省证书)

1.26.2 Web接入配置举例(非缺省证书)

1.26.3 TCP接入配置举例(缺省证书)

1.26.4 TCP接入配置举例(非缺省证书)

1.26.5 IP接入配置举例(缺省证书)

1.26.6 IP接入配置举例(非缺省证书)

 


1 SSL VPN

1.1  SSL VPN简介

SSL VPN以SSL(Secure Sockets Layer,安全套接字层)为基础提供远程的安全连接服务。用户可通过互联网,使用内嵌SSL协议的浏览器与远端的Web服务器建立安全的连接,访问内部资源。企业或机构可通过SSL VPN来为移动用户或者外部客户提供访问内部资源的服务并保证安全性。

1.1.1  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示意图

 

1.1.2  SSL VPN典型组网

SSL VPN的典型组网方式主要有两种:网关模式和单臂模式。

1. 网关模式

在网关模式中,SSL VPN网关直接作为网关设备连接用户和内网服务器,所有流量将通过SSL VPN网关进行转发。网关模式可以提供对内网的完全保护,但是由于SSL VPN网关处在内网与外网通信的关键路径上,其性能对内外网之间的数据传输有很大的影响。

图1-2 网关模式

 

2. 单臂模式

在单臂模式中,SSL VPN网关不作为网关设备。用户访问内网服务器时,流量将先由网关设备转发到SSL VPN网关,经SSL VPN网关处理后再转发到网关设备,由网关设备转发到内网服务器。在单臂模式中,SSL VPN网关不处在网络通信的关键路径上,其性能不会影响内外网的通信。但是这种组网使得SSL VPN网关不能全面地保护企业内部的网络资源。

图1-3 单臂模式

 

1.1.3  SSL VPN接入方式

1. Web接入方式

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服务器。

2. TCP接入方式

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服务器来获取可以访问的内网资源。

图1-6 移动客户端访问企业内部资源

 

3. IP接入方式

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接入方式的工作过程

 

1.1.4  SSL VPN用户认证

SSL VPN用户认证是SSL VPN网关对SSL VPN用户身份的认证,用户身份认证通过后,才能访问对应的内网服务器资源。用户认证包括:用户名密码认证、证书认证、验证码验证、动态口令验证、短信认证和自定义认证。这几种认证方式可以同时开启,也可以只开启其中的一个或多个。若同时开启多种认证方式,则多种认证方式同时生效,用户需要同时通过多个验证才能访问企业内网资源。自定义认证和短信认证同时开启时,只有自定义认证生效。用户名密码认证功能和证书认证功能都开启的情况下,可以通过authentication use命令来控制SSL VPN用户认证的认证模式。有关用户的详细介绍,请参见“安全配置指导”中的“AAA”。

1. 用户名密码认证

用户名密码认证指通过认证SSL VPN用户的用户名和密码从而认证用户身份。该认证的过程如下:

(1)     SSL VPN用户在登录界面输入用户名和密码,用户设备会将用户名和密码发送给SSL VPN网关;

(2)     SSL VPN网关将用户名和密码提交给AAA模块进行认证、授权和计费,或者交给自定义认证服务器进行认证和授权。

2. 证书认证

证书认证指通过认证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 证书认证过程

 

3. 用户名密码和证书的组合认证

用户名密码和证书组合认证是指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模块进行认证、授权和计费,或者交给自定义认证服务器进行认证和授权;

¡     若不一致,则认证不通过。

4. 短信认证

开启短信认证功能后,设备将使用短信验证码对用户进行身份验证,验证通过后允许用户登录SSL VPN网关。设备使用iMC认证服务器对SSL VPN用户进行短信认证,需要在iMC短信认证视图下配置短信认证使用的iMC服务器的IP地址和端口号。

5. 动态口令验证

动态口令验证是指,SSL VPN用户输入动态口令,设备将动态口令发送至令牌服务器进行认证。动态口令由令牌服务器生成。

6. 自定义认证

自定义认证是指用户根据实际需求,在本地搭建自定义的认证服务器,并配置自定义认证参数,实现对SSL VPN登录用户的认证和授权。自定义认证暂不支持计费功能。

1.1.5  资源访问控制

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.1.6  SSL VPN支持VPN多实例

图1-10所示,在SSL VPN网关设备上,管理员可以将不同的SSL VPN访问实例关联不同的VPN实例,以便隔离不同访问实例内的服务器资源,避免非法用户访问特定资源的同时,还可以实现服务器资源的地址重叠。

管理员还可以指定SSL VPN网关所属的VPN实例。只有属于同一个VPN的用户可以访问SSL VPN网关,从而避免内部服务器资源泄漏到公网和其他VPN中。

VPN实例的详细介绍,请参见“MPLS配置指导”中的“MPLS L3VPN”。

图1-10 SSL VPN支持VPN多实例示意图

 

1.2  SSL VPN的License要求

设备缺省支持15个用户同时登录。

购买并安装License后可以增加同时在线的用户数。关于License的详细介绍请参见“基础配置指导”中的“License管理”。

在IRF组网环境中,各成员设备的License可以叠加,IRF设备支持的同时在线用户数为缺省用户数和各成员设备License授权用户数的总和。若成员设备发生故障,此成员设备上的License将在IRF设备上继续生效,有效期为60天。

1.3  SSL VPN配置限制和指导

用户先采用Web接入方式登录SSL VPN网关,又在Web页面上下载并运行IP接入客户端。此时用户通过两种接入方式访问SSL VPN网关,SSL VPN网关上会为该用户生成一个SSL VPN会话。之后如果用户从浏览器退出或者从IP接入客户端退出,则会因为SSL VPN会话断开而将无法继续访问对应的Web接入服务资源和IP接入服务资源。

配置SSL VPN访问控制策略时,过滤规则引用的ACL规则中不能存在VPN实例,否则该规则不能生效。

1.4  SSL VPN配置任务简介

SSL VPN相关配置均在SSL VPN网关设备上进行。SSL VPN配置任务如下:

(1)     配置SSL VPN网关

(2)     配置SSL VPN访问实例

(3)     配置SSL VPN用户接入认证

a.     配置SSL VPN用户认证方式

b.     配置SSL VPN用户认证服务器

自定义认证必须配置自定义认证服务器。

(4)     配置SSL VPN资源访问控制

请根据实际组网需求选择配置各类型的接入服务,配置次序无关联。

a.     创建URI ACL

b.     配置Web接入服务

c.     配置TCP接入服务

d.     配置IP接入服务

e.     为移动客户端配置SSL VPN接入服务

f.     (可选)配置资源重定向

g.     (可选)配置HTTP重定向

h.     (可选)配置SSL VPN缺省策略组

(5)     (可选)配置SSL VPN支持VPN多实例

¡     配置SSL VPN访问实例关联VPN实例

¡     配置SSL VPN网关所属的VPN实例

(6)     (可选)控制SSL VPN用户接入

¡     配置SSL VPN在线用户控制

¡     配置SSL VPN会话的限速功能

¡     配置SSL VPN防暴力破解功能

¡     配置SSL VPN单点登录功能

(7)     (可选)配置SSL VPN页面

¡     定制SSL VPN页面信息

¡     设置SSL VPN页面模板

(8)     (可选)开启SSL VPN日志功能

1.5  SSL VPN配置准备

进行SSL VPN配置前,需要在SSL VPN网关上完成以下操作:

·     配置PKI,为SSL VPN网关获取数字证书,配置方法请参见“安全配置指导”中的“PKI”。

·     配置SSL服务器端策略,配置方法请参见“安全配置指导”中的“SSL”。

1.6  配置SSL VPN网关

1. 配置限制和指导

SSL VPN网关使用缺省地址时,端口号不能与设备的HTTPS管理地址的端口号相同。

如果引用的SSL服务器策略有变化,需要重新开启SSL VPN网关才能生效。

SSL VPN网关的IP地址和端口号与HTTPS管理地址和端口号不能完全相同,如果完全相同,则用户访问此地址和端口时,只能访问SSL VPN网关页面,而不能访问设备的管理页面。

2. 配置步骤

(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网关引用SSL服务器端策略。

ssl server-policy policy-name

缺省情况下,SSL VPN网关引用自签名证书的SSL服务器端策略。

(5)     开启当前的SSL VPN网关。

service enable

缺省情况下,当前的SSL VPN网关处于关闭状态。

1.7  配置SSL VPN访问实例

1. 功能简介

SSL VPN访问实例用来管理用户会话、用户可以访问的资源等。

2. 配置限制和指导

·     不同的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网关

3. 配置步骤

(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

(非FIPS模式)

缺省情况下,SSL客户端策略支持的加密套件为dhe_rsa_aes_128_cbc_shadhe_rsa_aes_256_cbc_sharsa_3des_ede_cbc_sharsa_aes_128_cbc_sharsa_aes_256_cbc_sha

(FIPS模式)

缺省情况下,SSL客户端策略支持的加密套件为rsa_aes_128_cbc_sharsa_aes_256_cbc_sha

执行本配置后,SSL VPN网关使用指定的SSL客户端策略与HTTPS类型的Web服务器建立连接。

(10)     (可选)开启全局URL伪装功能。

url-masking enable

缺省情况下,URL伪装功能处于关闭状态。

开启本功能后,该访问实例下所配置的Web接入业务中的Web资源URL将被转换成一定规则的编码字符串对SSL VPN用户呈现。

1.8  配置SSL VPN用户认证方式

1.8.1  配置限制和指导

对于SSL VPN证书认证功能,仅在Web接入和IP接入方式下,支持SSL服务器端强制要求对SSL客户端进行基于数字证书的身份验证;在TCP接入和移动客户端接入方式下,不支持SSL服务器端强制要求对SSL客户端进行基于数字证书的身份验证。

1.8.2  配置任务简介

SSL VPN用户认证配置任务如下:

(1)     配置用户认证模式

(2)     配置基础认证功能

¡     配置用户名密码认证功能

¡     配置证书认证功能

(3)     (可选)配置验证码验证功能

(4)     (可选)配置动态口令验证功能

(5)     (可选)配置iMC短信认证功能

(6)     (可选)配置用户自助修改密码功能

1.8.3  配置用户认证模式

1. 功能简介

用户名密码认证功能和证书认证功能都开启的情况下,可以通过authentication use命令来控制SSL VPN用户认证的认证模式。

·     若认证模式选用any-one,则用户只需要通过其中一种认证即可登录SSL VPN访问实例。

·     若认证模式选用all,则用户必须通过这两种认证(即用户名密码和证书的组合认证)方可登录SSL VPN访问实例。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入SSL VPN访问实例视图。

sslvpn context context-name

(3)     配置SSL VPN用户登录访问实例的认证模式。

authentication use { all | any-one }

缺省情况下,SSL VPN用户登录访问实例的认证模式为all

1.8.4  配置用户名密码认证功能

(1)     进入系统视图。

system-view

(2)     进入SSL VPN访问实例视图。

sslvpn context context-name

(3)     开启用户名密码认证功能。

password-authentication enable

缺省情况下,用户名密码认证功能处于开启状态。

1.8.5  配置证书认证功能

(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.8.6  配置验证码验证功能

(1)     进入系统视图。

system-view

(2)     进入SSL VPN访问实例视图。

sslvpn context context-name

(3)     开启验证码验证功能。

verify-code enable

缺省情况下,验证码验证功能处于关闭状态。

1.8.7  配置动态口令验证功能

(1)     进入系统视图。

system-view

(2)     进入SSL VPN访问实例视图。

sslvpn context context-name

(3)     开启动态口令验证功能。

dynamic-password enable

缺省情况下,动态口令验证功能处于关闭状态。

1.8.8  配置iMC短信认证功能

(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 port port-number [ vpn-instance vpn-instance-name ]

缺省情况下,未配置iMC短信认证使用的iMC服务器。

1.8.9  配置用户自助修改密码功能

1. 功能简介

用户可以在SSL VPN网关的资源页面,单击个人设置按钮,进入个人设置页面自助修改密码。目前仅支持通过iMC服务器认证的远程用户自助修改密码。

当用户自助修改密码功能关闭时,SSL VPN资源页面的个人设置按钮将处于隐藏状态,用户无法修改密码。

2. 配置步骤

(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)     配置iMC认证用户自助修改密码使用的iMC服务器。

self-service imc address ip-address port port-number [ vpn-instance vpn-instance-name ]

缺省情况下,未配置iMC认证用户自助修改密码使用的iMC服务器。

仅当iMC认证用户需要修改SSL VPN网关登录密码时,需要配置本命令指定改密使用的iMC服务器。

1.9  配置SSL VPN用户认证服务器

1.9.1  配置认证服务器类型

1. 功能简介

SSL VPN用户认证服务器类型包括:

·     AAA认证服务器:设备使用AAA服务器对SSL VPN用户进行认证、授权和计费。有关AAA的配置,请参见“安全配置指导”中的“AAA”。

·     自定义认证服务器:用户根据实际需求,在本地搭建自定义的认证服务器,并配置自定义认证参数,实现对SSL VPN登录用户的认证和授权。自定义认证暂不支持计费功能。自定义认证参数的具体配置请参见“1.9.2  配置自定义认证服务器参数

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入SSL VPN访问实例视图。

sslvpn context context-name

(3)     配置认证服务器类型。

authentication server-type { aaa | custom }

缺省情况下,SSL VPN认证服务器类型为AAA认证服务器。

1.9.2  配置自定义认证服务器参数

1. 功能简介

SSL VPN用户认证、授权采用自定义认证服务器时,需要配置以下参数:

·     自定义认证服务器的URL地址:SSL VPN网关采用HTTP协议将认证请求报文发送到指定的URL地址。

·     自定义认证超时时间:SSL VPN网关向自定义认证服务器发送HTTP请求报文后,如果在超时时间内没有收到服务器的应答报文,则SSL VPN网关向SSL VPN客户端返回认证失败信息。

·     自定义认证的请求报文信息:SSL VPN网关根据该信息构造HTTP认证请求报文。认证请求报文信息包括HTTP请求方式、HTTP请求报文首部字段和认证信息请求模板。

·     自定义认证的应答报文信息:SSL VPN网关根据该信息解析接收到的认证应答报文。应答报文信息包括HTTP应答报文格式、HTTP应答报文中标识认证成功的应答值、HTTP应答报文的应答字段名和自定义应答模板。

2. 配置步骤

(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格式,才需要配置自定义认证的自定义应答模板。

1.10  创建URI ACL

1. 功能简介

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。

2. 配置步骤

(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

1.11  配置Web接入服务

为了使用户能够通过Web接入方式访问企业内网资源,SSL VPN网关上需要创建Web接入服务资源。

1.11.1  配置任务简介

Web接入服务配置任务如下:

(1)     配置URL列表

(2)     为Web接入配置SSL VPN策略组

(3)     (可选)配置改写策略

1.11.2  配置URL列表

1. 功能简介

URL列表用于定义Web接入方式可访问的资源。每个URL表项对应一个企业网内的Web资源。当用户通过网关访问Web资源时,网关会对URL进行映射,以保证用户的正常访问。目前支持的映射方式有三种:常规改写、域名映射、端口映射。

以SSL VPN网关名gw(域名为https://www.gateway.com:4430,对应的IP地址为1.1.1.1),内网资源服务器URL=http://www.server.com:8080为例:

·     当不配置URL映射方式时(默认为常规改写),客户端访问内网资源服务器的URL显示为:https://www.gateway.com:4430/_proxy2/http/8080/www.server.com。

·     当配置域名映射,映射的域名为www.domain.com时,www.domain.com与内网资源http://www.server.com:8080为一一映射关系。客户端访问内网资源服务器的URL显示为:https://www.domain.com:4430。

·     当配置端口映射,又分为配置虚拟主机名和不配置虚拟主机名两种情况。

¡     不配置虚拟主机名,引用SSL VPN网关gw2时,客户端访问内网资源服务器的URL显示为:https://2.2.2.2:4430(网关gw2的IP地址为2.2.2.2,端口号是4430)。

¡     配置虚拟主机名,虚拟主机名为vhosta,vhosta与内网资源http://www.server.com:8080为一一映射关系。引用SSL VPN网关gw时,客户端访问内网资源服务器的URL显示为:https://vhosta:4430。

2. 配置限制和指导

·     目前仅支持对HTML、XML、CSS和JavaScript类型的文件进行改写。

·     若在使用常规改写的过程中,出现URL映射遗漏和映射错误等问题,请使用域名映射或端口映射。

3. 配置步骤

(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。

resource 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表项。

1.11.3  为Web接入配置SSL VPN策略组

1. 功能简介

在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进行过滤。

2. 配置步骤

(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资源。

1.11.4  配置改写策略

1. 功能简介

通过Web接入方式访问服务器资源时,管理员可以配置改写策略对网页文件进行匹配,进而改写匹配的网页文件。通过改写网页文件,管理员可以对发现的网页问题进行修复,方便维护和管理。

配置改写策略后,SSL VPN网关通过old-content命令配置的string对网页文件内容进行匹配,匹配成功之后,采用new-content命令配置的改写之后的文件内容对其进行替换。只有配置的url与网关正在处理的网页文件的URL相同时,才会根据文件策略中的配置对该网页文件内容进行改写。

2. 配置步骤

(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

缺省情况下,未配置改写之后的文件内容。

1.12  配置TCP接入服务

为了使用户能够通过TCP接入方式访问企业内网资源,SSL VPN网关上需要创建TCP接入服务资源。

1.12.1  配置任务简介

TCP接入服务配置任务如下:

(1)     配置端口转发列表

(2)     为TCP接入配置SSL VPN策略组

1.12.2  配置端口转发列表

1. 功能简介

端口转发表项用于定义端口转发实例和对应资源:

·     端口转发实例将企业网内的基于TCP的服务(如Telnet、SSH、POP3)映射为客户端上的本地地址和本地端口,以便客户端通过本地地址和本地端口访问企业网内的服务器。

·     配置对应的资源后,用户可以在Web页面上点击指定的转发表项访问服务器资源。

2. 配置步骤

(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

缺省情况下,端口转发列表未引用任何端口转发表项

1.12.3  为TCP接入配置SSL VPN策略组

1. 功能简介

在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进行过滤。

2. 配置步骤

(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接入服务。

1.13  配置IP接入服务

1.13.1  配置限制和指导

为了使内部服务器的应答报文正确返回给SSL VPN客户端,在内部服务器上需要配置到达SSL VPN客户端虚拟网卡所在网段的静态路由。

1.13.2  配置任务简介

IP接入服务配置任务如下:

(1)     配置用于IP接入服务的SSL VPN AC接口

(2)     配置分配给IP接入用户的地址池

(3)     配置SSL VPN访问实例的IP接入参数

(4)     为IP接入配置SSL VPN策略组

1.13.3  配置用于IP接入服务的SSL VPN AC接口

1. 配置SSL VPN AC接口

(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接口均处于开启状态。

2. 恢复当前SSL VPN AC接口的缺省配置

注意

接口下的某些配置恢复到缺省情况后,会对设备上当前运行的业务产生影响。建议您在执行本配置前,完全了解其对网络产生的影响。

 

(1)     进入系统视图。

system-view

(2)     进入SSL VPN AC接口视图。

interface sslvpn-ac interface-number

(3)     恢复当前接口的缺省配置。

default

您可以在执行default命令后通过display this命令确认执行效果。对于未能成功恢复缺省的配置,建议您查阅相关功能的命令手册,手工执行恢复该配置缺省情况的命令。如果操作仍然不能成功,您可以通过设备的提示信息定位原因。

1.13.4  配置分配给IP接入用户的地址池

1. 功能简介

SSL VPN网关将从配置的IP地址池中为客户端软件的虚拟网卡分配IP地址。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     创建地址池。

sslvpn ip address-pool pool-name start-ip-address end-ip-address

1.13.5  配置SSL VPN访问实例的IP接入参数

1. 功能简介

为SSL VPN访问实例引用地址池,在客户端通过验证后,SSL VPN网关会从该访问实例引用的地址池中选择IP地址分配给客户端。

在SSL VPN访问实例下还可以配置路由列表,为客户端分配路由表项。

2. 配置步骤

(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)     配置路由列表

a.     创建路由列表,并进入路由列表视图。

ip-route-list list-name

b.     在路由列表中添加路由。

include ip-address { mask | mask-length }

c.     退回SSL VPN访问实例视图。

quit

(5)     配置IP接入引用地址池。

ip-tunnel address-pool pool-name mask { mask-length | mask }

缺省情况下,IP接入未引用地址池。

(6)     (可选)配置保活报文的发送时间间隔。

ip-tunnel keepalive seconds

缺省情况下,保活报文的发送时间间隔为30秒。

(7)     (可选)配置为客户端指定的内网DNS服务器地址。

ip-tunnel dns-server { primary | secondary } ip-address

缺省情况下,未配置为客户端指定的DNS服务器地址。

(8)     (可选)配置为客户端指定的内网WINS服务器地址。

ip-tunnel wins-server { primary | secondary } ip-address

缺省情况下,未配置为客户端指定的WINS服务器地址。

(9)     (可选)开启通过Web方式成功登录SSL VPN网关后自动启动IP客户端功能。

web-access ip-client auto-activate

缺省情况下,通过Web方式成功登录SSL VPN网关后自动启动IP客户端功能处于关闭状态。

(10)     (可选)开启通过IP方式成功登录SSL VPN网关后自动推送资源列表功能。

ip-tunnel web-resource auto-push

缺省情况下,通过IP方式成功登录SSL VPN网关后自动推送资源列表功能处于关闭状态。

(11)     (可选)开启IP接入方式的限速功能,并配置限速速率。

ip-tunnel rate-limit { downstream | upstream } { kbps | pps } value

缺省情况下,IP接入方式的限速功能处于关闭状态。

1.13.6  为IP接入配置SSL VPN策略组

1. 功能简介

在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进行过滤。

2. 配置限制和指导

配置对IP接入进行URI ACL过滤时,URI ACL规则中请不要包含HTTP和HTTPS协议,否则配置后不生效。

3. 配置步骤

(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网关允许SSL VPN客户端访问IP接入资源。

如果引用的ACL不存在,则SSL VPN网关拒绝所有IP接入方式的访问。

(6)     (可选)配置策略组引用的地址池。

ip-tunnel address-pool pool-name mask { mask-length | mask }

缺省情况下,策略组下未引用地址池。

若引用的地址池不存在或无可用地址,分配失败,用户无法通过IP接入。若策略组未引用地址池,则SSL VPN网关将使用SSL VPN访问实例中引用的地址池为客户端分配IP地址。

1.14  为移动客户端配置SSL VPN接入服务

1.14.1  配置任务简介

为移动客户端配置SSL VPN接入服务配置任务如下:

(1)     为移动客户端指定EMO服务器

(2)     (可选)为移动客户端指定Message服务器

1.14.2  为移动客户端指定EMO服务器

1. 功能简介

EMO服务器用来为移动客户端提供服务。执行本命令后,SSL VPN网关会将配置的EMO服务器信息下发给客户端,以便移动客户端通过EMO服务器获取可以访问的服务资源。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入SSL VPN访问实例视图。

sslvpn context context-name

(3)     配置为客户端指定的EMO服务器。

emo-server address { host-name | ipv4-address } port port-number

缺省情况下,未配置为客户端指定的EMO服务器。

1.14.3  为移动客户端指定Message服务器

1. 功能简介

Message服务器用来为移动客户端提供服务。执行本命令后,SSL VPN网关会将配置的Message服务器信息下发给客户端,以便客户端访问Message服务器。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入SSL VPN访问实例视图。

sslvpn context context-name

(3)     配置为客户端指定的Message服务器。

message-server address { host-name | ipv4-address } port port-number

缺省情况下,未配置为客户端指定的Message服务器。

1.15  配置资源重定向

1. 功能简介

缺省情况下用户登录SSL VPN网关后,进入的页面为SSL VPN资源页面。当用户需要实现登录SSL VPN网关后,SSL VPN资源页面重定向到指定页面,可以配置重定向资源,以便SSL VPN用户快速访问常用的内网资源。

2. 配置步骤

(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资源页面,不进行页面重定向。

1.16  配置HTTP重定向

1. 功能简介

缺省情况下,SSL VPN网关只允许用户以HTTPS方式登录访问,不允许用户以HTTP方式登录访问。配置HTTP重定向功能后,SSL VPN网关将监听指定的端口号,并把指定端口号的HTTP流量重定向到HTTPS服务监听的端口,向客户端发送重定向报文,让客户端重新以HTTPS方式登录。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入SSL VPN网关视图。

sslvpn gateway gateway-name

(3)     开启HTTP流量的重定向功能。

http-redirect [ port port-number ]

缺省情况下,未开启HTTP流量的重定向功能,SSL VPN网关不会处理HTTP流量。

1.17  配置SSL VPN缺省策略组

1. 功能简介

远端接入用户访问SSL VPN访问实例时,如果AAA服务器没有为该用户授权策略组,则SSL VPN网关为用户下发缺省SSL VPN策略组,定义该用户可访问的资源。如果没有配置缺省SSL VPN策略组,则SSL VPN网关拒绝用户的接入请求。

2. 配置步骤

(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网关允许SSL VPN客户端访问IP接入资源。

如果引用的ACL不存在,则SSL VPN网关拒绝所有IP接入方式的访问。

(8)     退回SSL VPN访问实例视图。

quit

(9)     指定某个策略组为缺省策略组。

default-policy-group group-name

缺省情况下,没有指定缺省策略组。

1.18  配置SSL VPN支持VPN多实例

1.18.1  配置SSL VPN访问实例关联VPN实例

1. 功能简介

将不同的SSL VPN访问实例关联不同的VPN实例,可以隔离不同访问实例内的服务器资源,避免非法用户访问特定资源的同时,还可以实现服务器资源的地址重叠。

2. 配置准备

配置此功能前,请先进行如下配置:

·     创建VPN实例。

·     SSL VPN网关设备连接企业网内部服务器的接口上绑定该VPN实例。

·     对于IP接入方式,还需要在SSL VPN访问实例引用的SSL VPN AC接口上绑定该VPN实例。

有关VPN实例的详细配置,请参见“MPLS配置指导”中的“MPLS L3VPN”。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入SSL VPN访问实例视图。

sslvpn context context-name

(3)     配置SSL VPN访问实例关联的VPN实例。

vpn-instance vpn-instance-name

缺省情况下,SSL VPN访问实例关联公网。

1.18.2  配置SSL VPN网关所属的VPN实例

1. 功能简介

指定SSL VPN网关所属的VPN实例后,只有属于同一个VPN的用户才可以访问SSL VPN网关,从而避免内部服务器资源泄漏到公网和其他VPN中。

2. 配置准备

配置此功能前,请先进行如下配置:

·     创建VPN实例。

·     SSL VPN网关设备连接用户的接口上绑定该VPN实例。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入SSL VPN网关视图。

sslvpn gateway gateway-name

(3)     配置SSL VPN网关所属的VPN实例。

vpn-instance vpn-instance-name

缺省情况下,SSL VPN网关属于公网。

1.19  配置SSL VPN在线用户控制

1. 功能简介

通过配置SSL VPN在线用户控制,可以控制SSL VPN登录用户的上下线和在线数量。

2. 配置步骤

(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。

1.20  配置SSL VPN会话的限速功能

1. 功能简介

本功能用于限制SSL VPN访问实例下SSL VPN会话的速率,超过此速率之后,此SSL VPN会话相应方向的报文将会被丢弃。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入SSL VPN访问实例视图。

sslvpn context context-name

(3)     开启SSL VPN会话的限速功能,并配置限速速率。

rate-limit { downstream | upstream } value

缺省情况下,SSL VPN会话的限速功能处于关闭状态。

1.21  配置SSL VPN防暴力破解功能

1. 功能简介

SSL VPN防暴力破解功能指,通过限制同一IP地址尝试登录SSL VPN访问实例的次数,降低登录信息被暴力破解的风险。

当同一IP地址连续登录SSL VPN访问实例失败的次数达到SSL VPN网关管理员设置的限制次数时,SSL VPN访问实例将冻结该IP地址,在冻结期间内,禁止该IP地址再次登录此SSL VPN访问实例。当达到冻结时间后,被冻结的IP地址将自动解冻。如果想立即解冻被冻结的IP地址,可以执行prevent-cracking unfreeze-ip命令手工解冻。

2. 配置步骤

(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 }

1.22  配置SSL VPN单点登录功能

1.22.1  功能简介

单点登录指,SSL VPN用户只需要登录一次,即可访问所有相互信任的应用系统。SSL VPN网关管理员可以配置单点登录功能,使SSL VPN的Web接入用户可以不必输入登录内网服务器的用户名和密码,自动登录内网服务器。

设备支持两种单点登录方式:

·     自动构建登录请求方式:SSL VPN网关管理员通过抓包工具获取内网服务器的登录请求报文,并根据请求报文设置单点登录信息(HTTP请求方式、登录请求报文的编码方式、登录参数、登录参数取值的加密文件),自动构建登录请求。

自动构建登录请求方式的单点登录目前仅支持用于登录通过用户名密码认证的内网服务器。

·     Basic认证方式:Basic认证是一种简单的HTTP认证方式,指客户端通过Web页面访问服务器时,如果服务器需要对客户端进行Basic认证,会弹出Basic认证对话框,要求客户端输入用户名和密码,服务器会根据输入的用户名和密码,判断客户端是否合法。Basic认证方式的单点登录是指,SSL VPN网关作为客户端自动添加用户名和密码(此用户名和密码可以是登录SSL VPN网关的用户名和密码,或者自定义的用户名和密码),模拟Basic认证方式实现单点登录。

Basic认证方式的单点登录仅用于登录支持Basic认证方式登录的内网服务器。

1.22.2  配置限制和指导

对于自动构建登录请求方式下的单点登录,有如下使用限制:

·     仅支持Web接入方式的单点登录。

·     选择用户组作为登录参数时,只支持远程用户。

·     只支持从SSL VPN资源页面单击URL链接时才会自动登录,不支持在地址栏或URL输入框中打开资源。

·     不支持登录需要图形校验码校验的页面。

·     不支持登录需要挑战码验证或调用脚本的页面。

1.22.3  配置自动构建登录请求方式下的单点登录功能

(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.22.4  配置Basic认证方式下的单点登录功能

(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.23  配置SSL VPN页面

1.23.1  配置限制和指导

若在SSL VPN访问实例视图下设置了自定义页面模板,则SSL VPN访问实例视图下定制的页面信息不再生效。

1.23.2  定制SSL VPN页面信息

1. 功能简介

管理员可以根据需要对SSL VPN页面进行定制。目前,支持的页面定制项包括:登录页面欢迎信息、登录页面是否显示密码输入框、页面标题、logo图标、登录页面和资源页面公告信息、资源页面供用户下载的资源文件、修改密码页面密码复杂度提示信息、改写服务器返回信息。

2. 配置步骤

(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网关不改写服务器返回信息。

1.23.3  设置SSL VPN页面模板

1. 功能简介

SSL VPN页面模板起到限定SSL VPN网关登录页面和资源页面风格的作用。设备支持在系统视图与SSL VPN访问实例视图下分别设置SSL VPN页面模板,两种模板的作用域不同:

·     对于在系统视图下设置的SSL VPN页面模板,其作用域为所有SSL VPN访问实例。

·     对于在SSL VPN访问实例视图下设置的SSL VPN页面模板,其作用域为该SSL VPN访问实例。

2. 配置限制和指导

若在系统视图与SSL VPN访问实例视图下同时设置了页面模板,SSL VPN访问实例视图下设置的页面模板生效。

3. 配置准备

在Web管理页面,上传自定义页面模板至设备的文件系统中。

4. 配置步骤(系统视图)

(1)     进入系统视图。

system-view

(2)     设置SSL VPN全局页面模板。

sslvpn webpage-customize template-name  

缺省情况下,SSL VPN全局页面模板为系统缺省模板。

5. 配置步骤(SSL VPN访问实例视图)

(1)     进入系统视图。

system-view

(2)     进入SSL VPN访问实例视图。

sslvpn context context-name

(3)     设置SSL VPN页面模板。

webpage-customize template-name  

缺省情况下,未设置SSL VPN页面模板。

1.24  开启SSL VPN日志功能

1. 功能简介

开启SSL VPN日志记录功能后,SSL VPN网关会记录日志信息,并发送到设备的信息中心,通过设置信息中心的参数,决定日志信息的输出规则(即是否允许输出以及输出方向)。(有关信息中心参数的配置请参见“网络管理和监控配置指导”中的“信息中心”。)

2. 配置步骤

(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接入丢包的日志生成功能处于关闭状态。

1.25  SSL VPN显示和维护

在完成上述配置后,在任意视图下执行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 ] [ slot slot-number ]

(IRF模式)

display sslvpn port-forward connection [ context context-name ] [ chassis chassis-number 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 ] ]

 

1.26  SSL VPN典型配置举例

1.26.1  Web接入配置举例(缺省证书)

1. 组网需求

Device为SSL VPN网关设备,连接公网用户和企业私有网络。SSL VPN用户通过Device能够安全地访问位于企业私有网络内的Server A和Server B。其中,Server A和Server B均为Web服务器,Sever A使用HTTP协议和80端口号,Sever B使用HTTPS协议和443端口号。具体需求如下:

·     Device对SSL VPN用户进行本地认证和本地授权;

·     User1仅能访问Server A;

·     User2仅能访问Server B。

2. 组网图

图1-11 Web接入组网图(缺省证书)

3. 配置步骤

说明

·     请确保SSL VPN用户和SSL VPN网关设备Device间的路由可达。

·     请确保SSL VPN网关设备Device与Server A、Server B间的路由可达。

 

(1)     配置SSL VPN网关

# 配置SSL VPN网关gw的IP地址为1.1.1.2,端口号为4430。

<Device> system-view

[Device] sslvpn gateway gw

[Device-sslvpn-gateway-gw] ip address 1.1.1.2 port 4430

[Device-sslvpn-gateway-gw] service enable

[Device-sslvpn-gateway-gw] quit

(2)     配置SSL VPN访问实例

# 配置SSL VPN访问实例ctxweb1,引用SSL VPN网关gw,指定域名为domainweb1。

[Device] sslvpn context ctxweb1

[Device-sslvpn-context-ctxweb1] gateway gw domain domainweb1

# 创建URL表项urlitem,并配置资源的URL。

[Device-sslvpn-context-ctxweb1] url-item urlitem

[Device-sslvpn-context-ctxweb1-url-item-urlitem] url http://20.2.2.2

[Device-sslvpn-context-ctxweb1-url-item-urlitem] quit

# 创建URL列表urllist。

[Device-sslvpn-context-ctxweb1] url-list urllist

# 配置URL列表标题为web。

[Device-sslvpn-context-ctxweb1-url-list-urllist] heading web

# 配置URL列表引用的URL表项。

[Device-sslvpn-context-ctxweb1-url-list-urllist] resources url-item urlitem

[Device-sslvpn-context-ctxweb1-url-list-urllist] quit

# SSL VPN访问实例ctxweb1下创建策略组resourcegrp1,引用URL列表urllist。

[Device-sslvpn-context-ctxweb1] policy-group resourcegrp1

[Device-sslvpn-context-ctxweb1-policy-group-resourcegrp1] resources url-list urllist

[Device-sslvpn-context-ctxweb1-policy-group-resourcegrp1] quit

# 开启SSL VPN访问实例ctxweb1。

[Device-sslvpn-context-ctxweb1] service enable

[Device-sslvpn-context-ctxweb1] quit

# 配置SSL VPN访问实例ctxweb2,引用SSL VPN网关gw,指定域名为domainweb2。

[Device] sslvpn context ctxweb2

[Device-sslvpn-context-ctxweb2] gateway gw domain domainweb2

# 创建URL表项urlitem,并配置资源的URL。

[Device-sslvpn-context-ctxweb2] url-item urlitem

[Device-sslvpn-context-ctxweb2-url-item-urlitem] url http://30.3.3.3

[Device-sslvpn-context-ctxweb2-url-item-urlitem] quit

# 创建URL列表urllist。

[Device-sslvpn-context-ctxweb2] url-list urllist

# 配置URL列表标题为web。

[Device-sslvpn-context-ctxweb2-url-list-urllist] heading web

# 配置URL列表引用的URL表项。

[Device-sslvpn-context-ctxweb1-url-list-urllist] resources url-item urlitem

[Device-sslvpn-context-ctxweb1-url-list-urllist] quit

# SSL VPN访问实例ctxweb2下创建策略组resourcegrp2,引用URL列表urllist。

[Device-sslvpn-context-ctxweb2] policy-group resourcegrp2

[Device-sslvpn-context-ctxweb2-policy-group-resourcegrp2] resources url-list urllist

[Device-sslvpn-context-ctxweb2-policy-group-resourcegrp2] quit

# 开启SSL VPN访问实例ctxweb2。

[Device-sslvpn-context-ctxweb2] service enable

[Device-sslvpn-context-ctxweb2] quit

(3)     配置SSL VPN用户

# 创建SSL VPN用户sslvpnuser1,密码为123456TESTplat&!,用户角色为network-operator,授权用户的SSL VPN策略组为resourcegrp1。

[Device] local-user sslvpnuser1 class network

[Device-luser-network-sslvpnuser1] password simple 123456TESTplat&!

[Device-luser-network-sslvpnuser1] service-type sslvpn

[Device-luser-network-sslvpnuser1] authorization-attribute user-role network-operator

[Device-luser-network-sslvpnuser1] authorization-attribute sslvpn-policy-group resourcegrp1

[Device-luser-network-sslvpnuser1] quit

# 创建SSL VPN用户sslvpnuser2,密码为123456TESTplat&!,用户角色为network-operator,授权用户的SSL VPN策略组为resourcegrp2。

[Device] local-user sslvpnuser2 class network

[Device-luser-network-sslvpnuser2] password simple 123456TESTplat&!

[Device-luser-network-sslvpnuser2] service-type sslvpn

[Device-luser-network-sslvpnuser2] authorization-attribute user-role network-operator

[Device-luser-network-sslvpnuser2] authorization-attribute sslvpn-policy-group resourcegrp2

[Device-luser-network-sslvpnuser2] quit

4. 验证配置

# 在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访问实例ctxweb1和ctxweb2均处于Up状态。

[Device] display sslvpn context

Context name: ctxweb1

  Operation state: Up

  AAA domain: Not specified

  Certificate authentication: Disabled

  Password authentication: Enabled

  Authentication use: All

  Certificate username-attribute: CN

  Dynamic password: Disabled

  Code verification: Disabled

  Default policy group: Not configured

  Associated SSL VPN gateway: gw

    Domain name: domainweb1

  Maximum users allowed: 1048575

  VPN instance: Not configured

  Idle timeout: 30 min

 

Context name: ctxweb2

  Operation state: Up

  AAA domain: Not specified

  Certificate authentication: Disabled

  Password authentication: Enabled

  Authentication use: All

  Certificate username-attribute: CN

  Dynamic password: Disabled

  Code verification: Disabled

  Default policy group: Not configured

  Associated SSL VPN gateway: gw

    Domain name: domainweb2

  Maximum users allowed: 1048575

  VPN instance: Not configured

  Idle timeout: 30 min

# SSL VPN用户sslvpnuser1在PC浏览器上输入https://1.1.1.2:4430/,进入Domain List页面,如下图所示。

说明

因为SSL VPN网关设备使用缺省证书(自签名),因此在访问SSL VPN网关的时候浏览器会提示非安全连接。

 

图1-12 Domain List页面

 

# 选择domainweb1进入登录页面,输入用户sslvpnuser1和密码123456。

图1-13 登录页面

 

# 单击<登录>按钮,可以成功登录SSL VPN网关。网关首页的“书签”栏显示用户可以访问的Web资源serverA,如下图所示。

图1-14 网关首页

 

# 单击链接“serverA”,即可访问企业私网服务器Server A,显示信息略。

# SSL VPN用户sslvpnuser2在PC浏览器上输入https://1.1.1.2:4430/,进入Domain List页面,如下图所示。

图1-15 Domain List页面

 

# 选择domainweb2进入登录页面,输入用户sslvpnuser2和密码123456。

图1-16 登录页面

 

# 单击<登录>按钮,可以成功登录SSL VPN网关。网关首页的“书签”栏显示用户可以访问的Web资源serverB,如下图所示。

图1-17 网关首页

 

# 单击链接“serverB”,即可访问企业私网服务器Server B,显示信息略。

# 用户登录成功后,在Device上可以看到用户会话信息。

[Device] display sslvpn session

Total users: 2

 

SSL VPN context: ctxweb1

Users: 1

Username        Connections  Idle time   Created       User IP

sslvpnuser1     6            0/00:00:23  0/00:00:23    40.1.1.1

SSL VPN context: ctxweb2

Users: 1

Username        Connections  Idle time   Created       User IP

sslvpnuser2     6            0/00:00:03  0/00:00:03    50.1.1.1

1.26.2  Web接入配置举例(非缺省证书)

1. 组网需求

Device为SSL VPN网关设备,连接公网用户和企业私有网络VPN 1、VPN 2。用户通过Device能够安全地访问位于VPN 1内的Server A和VPN 2内的Server B。其中,Server A和Server B均为Web服务器,Sever A使用HTTP协议和80端口号,Sever B使用HTTPS协议和443端口号;Device对用户进行本地认证和本地授权。

2. 组网图

图1-18 Web接入组网图(非缺省证书)

3. 配置步骤

说明

在开始下面的配置之前,假设已完成如下配置:

·     Device上已创建VPN实例,设备各接口都已绑定对应的VPN实例且接口的地址都已配置完毕。

·     Device已获取到CA证书ca.cer和服务器证书server.pfx。

·     Device与SSL VPN客户端、Server A、Server B之间路由可达。

 

(1)     配置PKI域

# 配置PKI域sslvpn。

<Device> system-view

[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

# 导入CA证书ca.cer和服务器证书server.pfx。

[Device] pki import domain sslvpn der ca filename ca.cer

[Device] pki import domain sslvpn p12 local filename server.pfx

(2)     配置SSL服务器端策略

# 配置SSL服务器端策略ssl。

[Device] ssl server-policy ssl

[Device-ssl-server-policy-ssl] pki-domain sslvpn

[Device-ssl-server-policy-ssl] quit

(3)     配置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

# 开启SSL VPN网关gw。

[Device-sslvpn-gateway-gw] service enable

[Device-sslvpn-gateway-gw] quit

(4)     配置SSL VPN访问实例

# 配置SSL VPN访问实例ctx1引用SSL VPN网关gw,指定域名为domain1,并配置SSL VPN访问实例关联的VPN实例为VPN1。

[Device] sslvpn context ctx1

[Device-sslvpn-context-ctx1] gateway gw domain domain1

[Device-sslvpn-context-ctx1] vpn-instance VPN1

# 创建URL表项urlitem,并配置资源的URL。

[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

# 创建URL列表urllist。

[Device-sslvpn-context-ctx1] url-list urllist

# 配置URL列表标题为web。

[Device-sslvpn-context-ctx1-url-list-urllist] heading web

# 配置URL列表引用的URL表项。

[Device-sslvpn-context-ctx1-url-list-urllist] resources url-item urlitem

[Device-sslvpn-context-ctx1-url-list-urllist] quit

# SSL VPN访问实例ctx1下创建策略组pgroup,引用Web资源,并指定其为缺省策略组。

[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

# 开启SSL VPN访问实例ctx1。

[Device-sslvpn-context-ctx1] service enable

[Device-sslvpn-context-ctx1] quit

# 配置SSL VPN访问实例ctx2引用SSL VPN网关gw,指定域名为domain2,并配置SSL VPN访问实例关联的VPN实例为VPN2。

[Device] sslvpn context ctx2

[Device-sslvpn-context-ctx2] gateway gw domain domain2

[Device-sslvpn-context-ctx2] vpn-instance VPN2

# 创建URL表项urlitem,并配置资源的URL。

[Device-sslvpn-context-ctx2] url-item urlitem

[Device-sslvpn-context-ctx2-url-item-urlitem] url http://30.3.3.3

[Device-sslvpn-context-ctx2-url-item-urlitem] quit

# 创建URL列表urllist。

[Device-sslvpn-context-ctx2] url-list urllist

# 配置URL列表标题为web。

[Device-sslvpn-context-ctx2-url-list-urllist] heading web

# 配置URL列表引用的URL表项。

[Device-sslvpn-context-ctx2-url-list-urllist] resources url-item urlitem

[Device-sslvpn-context-ctx2-url-list-urllist] quit

# SSL VPN访问实例ctx2下创建策略组pgroup,引用Web资源,并指定其为缺省策略组。

[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

# 开启SSL VPN访问实例ctx2。

[Device-sslvpn-context-ctx2] service enable

[Device-sslvpn-context-ctx2] quit

(5)     配置SSL VPN用户

# 创建本地SSL VPN用户sslvpn,密码为123456TESTplat&!,用户角色为network-operator,授权用户的SSL VPN策略组为pgroup。

[Device] local-user sslvpn class network

[Device-luser-network-sslvpn] password simple 123456TESTplat&!

[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

4. 验证配置

# 在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

  Certificate username-attribute: CN

  Dynamic password: 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: VPN1

  Idle timeout: 30 min

 

Context name: ctx2

  Operation state: Up

  AAA domain: Not specified

  Certificate authentication: Disabled

  Password authentication:Enabled

  Authentication use: All

  Certificate username-attribute: CN

  Dynamic password: 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: VPN2

  Idle timeout: 30 min

# 用户在PC浏览器上输入https://1.1.1.2:2000/,进入Domain List页面。

图1-19 Domain List页面

 

# 用户选择domain1进入登录页面,输入用户sslvpn和密码123456,点击<登录>按钮,可以成功登录。

图1-20 登录页面

 

# 用户登录成功后,在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-21 网关首页

 

# 点击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-22 网关首页

 

# 点击serverB,可以进入Web服务器Server B的HTTPS网站页面,且在浏览器的地址栏中显示如下格式的URL:https://1.1.1.2:2000/_proxy2/https/443/30.3.3.3/。

1.26.3  TCP接入配置举例(缺省证书)

1. 组网需求

Device为SSL VPN网关设备,连接公网用户和企业私有网络。用户通过Device可以安全地访问私有网络内的Telnet服务器Server。Device采用本地认证和授权方式对用户进行认证和授权。

2. 组网图

图1-23 TCP接入配置组网图(缺省证书)

3. 配置步骤

说明

·     请确保SSL VPN用户和SSL VPN网关设备Device间的路由可达。

·     请确保SSL VPN网关设备Device与Server间的路由可达。

·     SSL VPN用户主机上需要安装Java运行环境。

 

(1)     配置SSL VPN网关

# 配置SSL VPN网关gw的IP地址为1.1.1.2,端口号为4430。

<Device> system-view

[Device] sslvpn gateway gw

[Device-sslvpn-gateway-gw] ip address 1.1.1.2 port 4430

[Device-sslvpn-gateway-gw] service enable

[Device-sslvpn-gateway-gw] quit

(2)     配置SSL VPN访问实例

# 配置SSL VPN访问实例ctxtcp,引用SSL VPN网关gw,指定域名为domaintcp。

[Device] sslvpn context ctxtcp

[Device-sslvpn-context-ctxtcp] gateway gw domain domaintcp

# 创建端口转发表项pfitem。

[Device-sslvpn-context-ctxtcp] port-forward-item pfitem

# 添加端口转发实例,将20.2.2.2提供的Telnet服务映射到本地地址127.0.0.23、本地端口2323。

[Device-sslvpn-context-ctxtcp-port-forward-item-pfitem] local-port 2323 local-name 127.0.0.23 remote-server 20.2.2.2 remote-port 23

[Device-sslvpn-context-ctxtcp-port-forward-item-pfitem] quit

# 配置端口转发列表pflist,并引用端口转发表项pfitem。

[Device-sslvpn-context-ctxtcp] port-forward pflist

[Device-sslvpn-context-ctxtcp-port-forward-pflist] resources port-forward-item pfitem

[Device-sslvpn-context-ctxtcp-port-forward-pflist] quit

# 创建SSL VPN策略组resourcegrp,并引用端口转发列表pflist。

[Device-sslvpn-context-ctxtcp] policy-group resourcegrp

[Device-sslvpn-context-ctxtcp-policy-group-resourcegrp] resources port-forward pflist

[Device-sslvpn-context-ctxtcp-policy-group-resourcegrp] quit

# 开启SSL VPN访问实例ctxtcp。

[Device-sslvpn-context-ctxtcp] service enable

[Device-sslvpn-context-ctxtcp] quit

(3)     配置SSL VPN用户

# 创建本地SSL VPN用户sslvpnuser,密码为123456TESTplat&!,用户角色为network-operator,授权用户的SSL VPN策略组为resourcegrp。

[Device] local-user sslvpnuser class network

[Device-luser-network-sslvpnuser] password simple 123456TESTplat&!

[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

4. 验证配置

# 在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: ctxtcp

  Operation state: Up

  AAA domain: Not specified

  Certificate authentication: Disabled

  Password authentication: Enabled

  Authentication use: All

  Certificate username-attribute: CN

  Dynamic password: Disabled

  Code verification: Disabled

  Default policy group: Not configured

  Associated SSL VPN gateway: gw

    Domain name: domaintcp

  Maximum users allowed: 1048575

  VPN instance: Not configured

  Idle timeout: 30 min

# SSL VPN用户sslvpnuser在PC浏览器上输入https://1.1.1.2:4430/,进入Domain List页面,如下图所示。

说明

因为SSL VPN网关设备使用缺省证书(自签名),因此在访问SSL VPN网关的时候浏览器会提示非安全连接。

 

图1-24 Domain List页面

 

# 选择domaintcp进入登录页面,输入用户sslvpnuser和密码123456。

图1-25 登录页面

 

# 单击<登录>按钮,可以成功登录SSL VPN网关。在网页的应用程序栏中选择“启动TCP客户端应用程序”。

# 单击<启动>按钮,下载TCP接入客户端软件并运行。

说明

不能通过双击的方式打开对应的TCP应用程序。

 

# 用户在PC上执行telnet 127.0.0.23 2323,可以远程连接到Server,显示信息略。

# 在Device上可以看到用户会话信息。

[Device] display sslvpn session

Total users: 1

 

SSL VPN context: ctxtcp

Users: 1

Username        Connections  Idle time   Created       User IP

sslvpnuser      5            0/00:00:51  0/00:17:26    40.1.1.1

# 在Device上可以看到TCP端口转发的连接信息。

[Device] display sslvpn port-forward connection

SSL VPN context: ctxtcp

 Client address: 40.1.1.1

 Client port   : 50335

 Server address: 20.2.2.2

 Server port   : 23

 State         : Connected

1.26.4  TCP接入配置举例(非缺省证书)

1. 组网需求

Device为SSL VPN网关设备,连接公网用户和企业私有网络VPN 1。用户通过Device可以安全地访问VPN 1内的Telnet服务器Server。Device采用本地认证和授权方式对用户进行认证和授权。

2. 组网图

图1-26 TCP接入配置组网图(非缺省证书)

3. 配置步骤

说明

在开始下面的配置之前,假设已完成如下配置:

·     Device上已创建VPN实例,设备各接口都已绑定对应的VPN实例且接口的地址都已配置完毕。

·     Device已获取到CA证书ca.cer和服务器证书server.pfx。

·     Device与SSL VPN客户端、Server之间路由可达。

·     SSL VPN用户主机上需要安装Java运行环境。

 

(1)     配置PKI域

# 配置PKI域sslvpn。

<Device> system-view

[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

# 导入CA证书ca.cer和服务器证书server.pfx。

[Device] pki import domain sslvpn der ca filename ca.cer

[Device] pki import domain sslvpn p12 local filename server.pfx

(2)     配置SSL服务器端策略

# 配置SSL服务器端策略ssl。

[Device] ssl server-policy ssl

[Device-ssl-server-policy-ssl] pki-domain sslvpn

[Device-ssl-server-policy-ssl] quit

(3)     配置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

# 开启SSL VPN网关gw。

[Device-sslvpn-gateway-gw] service enable

[Device-sslvpn-gateway-gw] quit

(4)     配置SSL VPN访问实例

# 配置SSL VPN访问实例ctx引用SSL VPN网关gw,并配置SSL VPN访问实例关联的VPN实例为VPN1。

[Device] sslvpn context ctx

[Device-sslvpn-context-ctx] gateway gw

[Device-sslvpn-context-ctx] vpn-instance VPN1

# 创建端口转发表项pfitem1。

[Device-sslvpn-context-ctx] port-forward-item pfitem1

# 添加端口转发实例,将20.2.2.2提供的Telnet服务映射到本地地址127.0.0.1、本地端口2323。

[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

# 创建端口转发列表plist,并引用端口转发表项pfitem1。

[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

# 创建SSL VPN策略组pgroup,并引用端口转发列表plist。

[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

# 开启SSL VPN访问实例ctx。

[Device-sslvpn-context-ctx] service enable

[Device-sslvpn-context-ctx] quit

(5)     配置SSL VPN用户

# 创建本地SSL VPN用户sslvpn,密码为123456TESTplat&!,用户角色为network-operator,授权用户的SSL VPN策略组为pgroup。

[Device] local-user sslvpn class network

[Device-luser-network-sslvpn] password simple 123456TESTplat&!

[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

4. 验证配置

# 在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

  Certificate username-attribute: CN

  Dynamic password: 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: VPN1

  Idle timeout: 30 min

# 用户在PC浏览器上输入https://1.1.1.2:2000/,进入登录页面后,输入用户名sslvpn和密码123456,用户可以成功登录。

图1-27 登录页面

 

# 用户登录成功后,在网页的应用程序栏中选择“启动TCP客户端应用程序”。

# 单击<启动>按钮,下载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

1.26.5  IP接入配置举例(缺省证书)

1. 组网需求

Device为SSL VPN网关设备,连接公网用户和企业私有网络。用户通过Device可以通过IP

接入方式安全地访问私有网络内的Server。Device采用本地认证和授权方式对用户进行认证和授权。

2. 组网图

图1-28 IP接入配置组网图(缺省证书)

3. 配置步骤

说明

·     请确保SSL VPN用户和SSL VPN网关设备Device间的路由可达。

·     请确保SSL VPN网关设备Device与Server间的路由可达。

·     Server上存在到达网段10.1.1.0/24的路由。

 

(1)     配置SSL VPN网关

# 配置SSL VPN网关gw的IP地址为1.1.1.2,端口号为4430。

<Device> system-view

[Device] sslvpn gateway gw

[Device-sslvpn-gateway-gw] ip address 1.1.1.2 port 4430

[Device-sslvpn-gateway-gw] service enable

[Device-sslvpn-gateway-gw] quit

(2)     创建SSL VPN客户端地址池

# 创建为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

(3)     创建SSL VPN AC接口

# 创建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

(4)     配置SSL VPN访问实例

# 配置SSL VPN访问实例ctxip,引用SSL VPN网关gw,指定域名为domainip。

[Device] sslvpn context ctxip

[Device-sslvpn-context-ctxip] gateway gw domain domainip

# 配置IP接入引用的SSL VPN AC接口1.

[Device-sslvpn-context-ctxip] ip-tunnel interface sslvpn-ac 1

# 创建路由表rtlist,并添加路由表项20.2.2.0/24。

[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

# 引用SSL VPN客户端地址池sslvpnpool。

[Device-sslvpn-context-ctxip] ip-tunnel address-pool sslvpnpool mask 24

# 创建SSL VPN策略组resourcegrp,引用路由列表rtlist,并同时配置对IP接入进行ACL过滤。

[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

# 开启SSL VPN访问实例ctxip。

[Device-sslvpn-context-ctxip] service enable

[Device-sslvpn-context-ctxip] quit

# 创建ACL 3000,规则为允许源IP为10.1.1.0/24的报文访问目标IP网段20.2.2.0/24。

[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

(5)     配置SSL VPN用户

# 创建本地SSL VPN用户sslvpnuser,密码为123456TESTplat&!,用户角色为network-operator,授权用户的SSL VPN策略组为resourcegrp。

[Device] local-user sslvpnuser class network

[Device-luser-network-sslvpnuser] password simple 123456TESTplat&!

[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

4. 验证配置

# 在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

  Certificate username-attribute: CN

  Dynamic password: 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

# SSL VPN用户sslvpnuser在PC浏览器上输入https://1.1.1.2:4430/,进入Domain List页面,如下图所示。

说明

因为SSL VPN网关设备使用缺省证书(自签名),因此在访问SSL VPN网关的时候浏览器会提示非安全连接。

 

图1-29 Domain List页面

 

# 选择domainip进入登录页面,输入用户sslvpnuser和密码123456。

图1-30 登录页面

 

# 单击<登录>按钮,可以成功登录SSL VPN网关。在网页的应用程序栏中选择“启动IP客户端应用程序”。

# 单击<启动>按钮,下载IP接入客户端软件Svpnclient并安装,安装完成后,启动iNode客户端,输入如下图所示的参数。

图1-31 iNode客户端

 

# 单击<连接>按钮,成功登录SSL VPN客户端,如下图所示。

图1-32 成功登录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

1.26.6  IP接入配置举例(非缺省证书)

1. 组网需求

Device为SSL VPN网关设备,连接公网用户和企业私有网络VPN 1。用户通过Device可以通过IP接入方式安全地访问VPN 1内的Server。Device通过RADIUS server采用远程认证和授权方式对用户进行认证和授权。

2. 组网图

图1-33 IP接入配置组网图(非缺省证书)

3. 配置步骤

说明

在开始下面的配置之前,假设已完成如下配置:

·     Device上已创建VPN实例,设备各接口都已绑定对应的VPN实例且接口的地址都已配置完毕。

·     Device已获取到CA证书ca.cer和服务器证书server.pfx。

·     Device与SSL VPN客户端、Server之间路由可达。

·     Server上存在到达网段10.1.1.0/24的路由。

·     RADIUS server已经部署完成,能够对用户进行认证和授权。

 

(1)     配置PKI域

# 配置PKI域sslvpn。

<Device> system-view

[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

# 导入CA证书ca.cer和服务器证书server.pfx。

[Device] pki import domain sslvpn der ca filename ca.cer

[Device] pki import domain sslvpn p12 local filename server.pfx

(2)     配置SSL服务器端策略

# 配置SSL服务器端策略ssl。

[Device] ssl server-policy ssl

[Device-ssl-server-policy-ssl] pki-domain sslvpn

[Device-ssl-server-policy-ssl] quit

(3)     配置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

# 开启SSL VPN网关gw。

[Device-sslvpn-gateway-gw] service enable

[Device-sslvpn-gateway-gw] quit

(4)     创建SSL VPN客户端地址池

# 创建地址池ippool,指定IP地址范围为10.1.1.1~10.1.1.10。

[Device] sslvpn ip address-pool ippool 10.1.1.1 10.1.1.10

(5)     创建SSL VPN AC接口

# 创建SSL VPN AC接口1,配置该接口绑定VPN实例VPN1,并配置接口的IP地址为10.1.1.100/24。

[Device] interface sslvpn-ac 1

[Device-SSLVPN-AC1] ip binding vpn-instance VPN1

[Device-SSLVPN-AC1] ip address 10.1.1.100 24

[Device-SSLVPN-AC1] quit

(6)     配置SSL VPN访问实例

# 配置SSL VPN访问实例ctx引用SSL VPN网关gw,并配置SSL VPN访问实例关联的VPN实例为VPN1。

[Device] sslvpn context ctx

[Device-sslvpn-context-ctx] gateway gw

[Device-sslvpn-context-ctx] vpn-instance VPN1

# 配置SSL VPN访问实例使用ISP域domain1进行AAA认证。

[Device-sslvpn-context-ctx] aaa domain domain1

# 创建路由列表rtlist,并添加路由表项20.2.2.0/24。

[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

# 创建名称为uriacl的URI ACL,并创建对应的URI ACL过滤规则。

[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

# 配置SSL VPN访问实例ctx引用SSL VPN AC接口1

[Device-sslvpn-context-ctx] ip-tunnel interface sslvpn-ac 1

# 配置SSL VPN访问实例ctx引用地址池ippool。

[Device-sslvpn-context-ctx] ip-tunnel address-pool ippool mask 255.255.255.0

# 创建SSL VPN策略组pgroup,引用路由列表rtlist,并同时配置对IP接入进行URI ACL过滤。

[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

# 开启SSL VPN访问实例ctx。

[Device-sslvpn-context-ctx] service enable

[Device-sslvpn-context-ctx] quit

(7)     配置RADIUS

# 配置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

(8)     配置用户组

# 配置用户组group1,授权给该用户组的策略组为pgroup。

[Device] user-group group1

[Device-ugroup-group1] authorization-attribute sslvpn-policy-group pgroup

[Device-ugroup-group1] quit

(9)     配置ISP域

# 配置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

4. 验证配置

# 在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

  Certificate username-attribute: CN

  Dynamic password: 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: VPN1

  Idle timeout: 30 min

# 用户在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

 

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们