SSLVPN以SSL(SecureSocketsLayer,安全套接字层)为基础提供远程的安全连接服务。用户可通过互联网,使用内嵌SSL协议的浏览器与远端的Web服务器建立安全的连接,访问内部资源。企业或机构可通过SSLVPN来为移动用户或者外部客户提供访问内部资源的服务并保证安全性。
SSLVPN服务通过SSLVPN网关来提供。SSLVPN网关位于远端接入用户和企业内部网络之间,负责在二者之间转发报文。管理员需要在SSLVPN网关上创建与企业网内服务器对应的资源。
SSLVPN网关与远端接入用户建立SSL连接,并对接入用户进行身份认证。远端接入用户的访问请求只有通过SSLVPN网关的安全检查和认证后,才会被SSLVPN网关转发到企业网络内部,从而实现对企业内部资源的保护。
(1)远程接入用户与SSLVPN网关建立HTTPS连接,通过SSL提供的基于证书的身份验证功能,SSLVPN网关和远程接入用户可以验证彼此的身份。
(3)用户获取到可以访问的资源,通过SSL连接将访问请求发送给SSLVPN网关。
(4)SSLVPN网关将资源访问请求转发给企业网内的服务器。
(5)SSLVPN网关接收到服务器的应答后,通过SSL连接将其转发给用户。
图1-1SSLVPN示意图
SSLVPN的典型组网方式主要有两种:网关模式和单臂模式。
在网关模式中,SSLVPN网关直接作为网关设备连接用户和内网服务器,所有流量将通过SSLVPN网关进行转发。网关模式可以提供对内网的完全保护,但是由于SSLVPN网关处在内网与外网通信的关键路径上,其性能对内外网之间的数据传输有很大的影响。
图1-2网关模式
在单臂模式中,SSLVPN网关不作为网关设备。用户访问内网服务器时,流量将先由网关设备转发到SSLVPN网关,经SSLVPN网关处理后再转发到网关设备,由网关设备转发到内网服务器。在单臂模式中,SSLVPN网关不处在网络通信的关键路径上,其性能不会影响内外网的通信。但是这种组网使得SSLVPN网关不能全面地保护企业内部的网络资源。
图1-3单臂模式
Web接入方式下,管理员需要在SSLVPN网关上创建URL列表,URL表项为企业网内部服务器的IP地址(或域名)。
Web方式接入过程如下:
(4)SSLVPN网关解析接收到的Web请求,并使用HTTP或HTTPS协议向Web服务器发送Web请求。
(5)SSLVPN网关接收到Web服务器的应答报文后,通过SSL连接将其转发给用户浏览器。
图1-4Web接入方式示意图
目前,通过Web接入方式可以访问的资源只有Web服务器。
TCP接入方式是指用户对企业内部服务器开放端口的安全访问。通过TCP接入方式,用户可以访问任意基于TCP的服务,包括远程访问服务(如Telnet)、桌面共享服务、电子邮件服务、Notes服务以及其他使用固定端口的TCP服务。
用户利用TCP接入方式访问内网服务器时,需要在SSLVPN客户端(用户使用的终端设备)上安装专用的TCP接入客户端软件,由该软件实现使用SSL连接传送应用层数据。
TCP接入方式下,管理员需要在SSLVPN网关上创建端口转发规则,将企业网内部服务器的IP地址(或域名)和端口号映射为SSLVPN客户端的本地IP地址(或主机名)和本地端口号。
TCP方式接入过程如下:
(3)用户在SSLVPN网关的Web页面上下载TCP接入客户端软件
(5)用户访问本地IP地址(或主机名)和本地端口号时,TCP接入客户端软件将访问请求通过SSL连接发送给SSLVPN网关。
(6)SSLVPN网关解析接收到的请求,并根据本地配置的端口转发规则,将该请求转发给对应的内部服务器。
(7)SSLVPN网关接收到服务器的应答报文后,通过SSL连接将其转发给SSLVPN客户端。
图1-5TCP接入方式示意图
图1-6移动客户端访问企业内部资源
IP接入方式用来实现远程主机与企业内部服务器网络层之间的安全通信,进而实现所有基于IP的远程主机与服务器的互通,如在远程主机上ping内网服务器。
用户通过IP接入方式访问内网服务器前,需要安装专用的IP接入客户端软件,该客户端软件会在SSLVPN客户端上安装一个虚拟网卡。
IP接入方式下,管理员在SSLVPN网关上创建SSLVPNAC接口,并配置下发给SSLVPN客户端的路由表项。
(3)客户端为虚拟网卡设置IP地址,并添加路由表项,路由的出接口为虚拟网卡。
(4)用户在客户端上访问企业内网服务器时,访问请求报文匹配添加的路由表项,该报文将进行SSL封装,并通过虚拟网卡发送给SSLVPN网关的SSLVPNAC接口。
(5)SSLVPN网关对SSL报文进行解封装,并将IP报文转发给内网服务器。
(6)内网服务器将应答报文发送给SSLVPN网关。
(7)SSLVPN网关对报文进行SSL封装后,通过SSLVPNAC接口将其发送给客户端。
图1-7IP接入方式的工作过程
SSLVPN用户认证是SSLVPN网关对SSLVPN用户身份的认证,用户身份认证通过后,才能访问对应的内网服务器资源。用户认证包括:用户名密码认证、证书认证、验证码验证、短信认证和自定义认证。这几种认证方式可以同时开启,也可以只开启其中的一个或多个。若同时开启多种认证方式,则多种认证方式同时生效,用户需要同时通过多个验证才能访问企业内网资源。自定义认证和短信认证同时开启时,只有自定义认证生效。用户名密码认证功能和证书认证功能都开启的情况下,可以通过authenticationuse命令来控制SSLVPN用户认证的认证模式。有关用户的详细介绍,请参见“用户接入与认证配置指导”中的“AAA”。
用户名密码认证指通过认证SSLVPN用户的用户名和密码从而认证用户身份。该认证的过程如下:
证书认证指通过认证SSLVPN用户证书从而认证用户身份。该认证的过程如下:
(1)SSLVPN用户选择自己的SSLVPN用户证书,用户设备会将该证书发送给SSLVPN网关;
(2)SSLVPN网关用CA证书检查SSLVPN用户证书是否可信:如果可信,则继续进行下一步;如果不可信,则不能建立SSL连接。如果开启了CRL检查功能,SSLVPN网关还会检查可信的SSLVPN用户证书是否被吊销:如果没有被吊销,则进行下一步;如果已经被吊销,则不能建立SSL连接。有关CRL检查功能的详细介绍,请参见“安全配置指导”中的“PKI”。
·虽然证书认证不需要用户手工输入用户名,但在本地设备中必须存在该用户。
·SSLVPN用户证书中的指定字段必须和该SSLVPN用户的用户名一致。
图1-8证书认证过程
用户名密码和证书组合认证是指SSLVPN网关对SSLVPN用户的证书以及用户名密码进行双重认证。该认证的过程如下:
(2)SSLVPN网关用CA证书检查SSLVPN用户证书是否可信:如果可信,则继续进行下一步;如果不可信,则不能建立SSL连接。如果开启了CRL检查功能,SSLVPN网关还会检查可信的SSLVPN用户证书是否被吊销:如果没有被吊销,则进行下一步;如果已经被吊销,则不能建立SSL连接。
(3)SSLVPN网关从SSLVPN用户证书中提取用户名与输入的用户名进行比较:
若不一致,则认证不通过。
·iMC短信认证
设备使用iMC认证服务器对SSLVPN用户进行短信认证,需要在iMC短信认证视图下配置短信认证使用的iMC服务器的IP地址和端口号。
·短信网关认证
短信认证的两种方式不能同时使用。
SSLVPN采用基于用户的权限管理方法,可以根据用户的身份,限制用户可以访问的资源。
图1-9SSLVPN资源管理方式
·为不同的SSLVPN访问实例指定不同的虚拟主机名称。远端用户访问SSLVPN网关时,输入虚拟主机名称,SSLVPN网关根据虚拟主机名称判断该用户所属的SSLVPN访问实例。
购买并安装License后可以增加同时在线的用户数。关于License的详细介绍请参见“License管理配置指导”中的“License管理”。
SSLVPNLicense扩展的支持情况与设备型号有关,请以设备的实际情况为准。
产品系列
产品型号
产品代码
说明
WX2500X系列
·WX2560X
·WX2580X
·EWP-WX2560X
·EWP-WX2580X
不支持
WX2500X-E系列
WX2508X-E
EWP-WX2508X-E
WX2800X系列
·WX2812X-PWR
·WX2860X
·WX2880X
·EWP-WX2812X-PWR
·EWP-WX2860X
·EWP-WX2880X
WSG1800X系列
·WSG1812X-PWR
·WSG1840X
·EWP-WSG1812X-PWR
·EWP-WSG1840X
支持
(3)配置SSLVPN用户接入认证
自定义认证必须配置自定义认证服务器。
(4)配置SSLVPN资源访问控制
请根据实际组网需求选择配置各类型的接入服务,配置次序无关联。
(5)(可选)控制SSLVPN用户接入
进行SSLVPN配置前,需要在SSLVPN网关上完成以下操作:
·配置PKI,为SSLVPN网关获取数字证书,配置方法请参见“安全配置指导”中的“PKI”。
·配置SSL服务器端策略,配置方法请参见“安全配置指导”中的“SSL”。
SSLVPN网关使用缺省地址时,端口号不能与设备的HTTPS管理地址的端口号相同。
如果引用的SSL服务器策略有变化,需要重新开启SSLVPN网关才能生效。
SSLVPN网关的IP地址和端口号与HTTPS管理地址和端口号不能完全相同,如果完全相同,则用户访问此地址和端口时,只能访问SSLVPN网关页面,而不能访问设备的管理页面。
SSLVPN网关的IPv4地址和IPv6地址不能同时生效,若同时配置了IPv4地址和IPv6地址,则最后一次配置的IP地址生效。
远程接入用户使用浏览器与SSLVPN网关建立HTTPS连接的过程中,SSLVPN网关支持向对端提供两种类型的本地证书,设备签发的自签名证书和CA为SSLVPN网关签发的本地证书,以便远程接入用户对SSLVPN网关进行基于数字证书的身份验证。远程接入用户可根据安全性要求和配置复杂度在如下两种方案中进行选择:
·采用设备签发的自签名证书,此方式配置简单,但安全性较低。在该方式下,无需配置SSLVPN网关引用的SSL服务器端策略,使用的SSL参数均为缺省值。但由于自签名证书不是由可信的CA签发而不受远程接入用户的浏览器信任,当远程接入用户使用HTTPS方式访问SSLVPN网关时,远程接入用户的浏览器上将会弹出安全风险提示,若远程接入用户能够接受使用自签名证书带来的安全风险,可选择忽略此提示,继续浏览网页。
·采用CA为SSLVPN网关签发的本地证书,此方式配置相对复杂但安全性较强。在该方式下,SSLVPN网络管理员需要获取CA证书并向CA申请本地证书,同时配置SSL服务器端策略,并将其与SSLVPN网关进行关联,来增强SSLVPN服务的安全性。
有关数字证书和SSL服务器端策略的详细介绍,请分别参见“安全配置指导”中的“PKI”和“SSL”。
(1)进入系统视图。
system-view
(2)创建SSLVPN网关,并进入SSLVPN网关视图。
sslvpngatewaygateway-name
(3)配置SSLVPN网关的IPv4地址和端口号。
ipaddressip-address[portport-number]
缺省情况下,SSLVPN网关的IP地址为0.0.0.0,端口号为443。
执行本配置时,如果没有指定端口号,则缺省端口号为443。
(4)指定SSLVPN网关引用SSL服务器端策略。
sslserver-policypolicy-name
缺省情况下,SSLVPN网关引用自签名证书的SSL服务器端策略。
(5)开启当前的SSLVPN网关。
serviceenable
缺省情况下,当前的SSLVPN网关处于关闭状态。
SSLVPN访问实例用来管理用户会话、用户可以访问的资源等。
·不同的SSLVPN访问实例引用相同的SSLVPN网关时,必须为不同的SSLVPN访问实例指定不同的域名或虚拟主机名。
·如果SSLVPN访问实例引用SSLVPN网关时没有指定域名和虚拟主机名称,那么其他的SSLVPN访问实例就不能再引用该SSLVPN网关。
·如果为SSLVPN访问实例指定了虚拟主机名称,则需要在网络中部署DNS服务器,以便客户端将虚拟主机名称解析为SSLVPN网关的IP地址。
·一个SSLVPN访问实例最多可以引用10个SSLVPN网关
(2)创建SSLVPN访问实例,并进入SSLVPN访问实例视图。
sslvpncontextcontext-name
(3)配置SSLVPN访问实例引用SSLVPN网关。
gatewaygateway-name[domaindomain-name|virtual-hostvirtual-host-name]
缺省情况下,SSLVPN访问实例没有引用SSLVPN网关。
(4)配置SSLVPN访问实例使用指定的ISP域进行AAA认证。
aaadomaindomain-name
缺省情况下,SSLVPN访问实例使用缺省的ISP域进行认证。
(5)开启当前的SSLVPN访问实例。
缺省情况下,SSLVPN访问实例处于关闭状态。
(6)(可选)配置SSLVPN访问实例的最大会话数。
max-usersmax-number
缺省情况下,SSLVPN访问实例的最大会话数为1048575。
timeoutidleminutes
(8)(可选)配置SSLVPN会话保持空闲状态的流量阈值。
idle-cuttraffic-thresholdkilobytes
缺省情况下,未配置SSLVPN会话保持空闲状态的流量阈值。
(9)配置SSLVPN访问实例引用SSL客户端策略。
sslclient-policypolicy-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。
执行本配置后,SSLVPN网关使用指定的SSL客户端策略与HTTPS类型的Web服务器建立连接。
(10)(可选)开启全局URL伪装功能。
url-maskingenable
缺省情况下,URL伪装功能处于关闭状态。
开启本功能后,该访问实例下所配置的Web接入业务中的Web资源URL将被转换成一定规则的编码字符串对SSLVPN用户呈现。
对于SSLVPN证书认证功能,仅在Web接入和IP接入方式下,支持SSL服务器端强制要求对SSL客户端进行基于数字证书的身份验证;在TCP接入和移动客户端接入方式下,不支持SSL服务器端强制要求对SSL客户端进行基于数字证书的身份验证。
SSLVPN用户认证配置任务如下:
(2)配置基础认证功能
用户名密码认证功能和证书认证功能都开启的情况下,可以通过authenticationuse命令来控制SSLVPN用户认证的认证模式。
(2)进入SSLVPN访问实例视图。
authenticationuse{all|any-one}
(3)开启用户名密码认证功能。
password-authenticationenable
缺省情况下,用户名密码认证功能处于开启状态。
(3)开启证书认证功能。
certificate-authenticationenable
缺省情况下,证书认证功能处于关闭状态。
(4)配置SSLVPN用户证书中的指定字段取值作为SSLVPN用户名。
certificateusername-attribute{cn|email-prefix|oidextern-id}
缺省情况下,使用SSLVPN用户证书中主题部分内的CN字段取值作为SSLVPN用户名。
(3)开启验证码验证功能。
verify-codeenable
缺省情况下,验证码验证功能处于关闭状态。
(3)配置iMC短信认证,并开启iMC短信认证功能。
sms-authtypeimc
缺省情况下,iMC短信认证功能处于关闭状态。
(4)创建iMC短信认证视图,并进入iMC短信认证视图。
sms-authimc
(5)配置iMC短信认证使用的iMC服务器。
server-addressip-addressportport-number
缺省情况下,未配置iMC短信认证使用的iMC服务器。
短信网关的具体配置,请参见“安全配置指导”中的“SMS”。
(3)进入SSLVPN用户视图。
userusername
(4)配置用于接收短信的手机号码。
mobile-numnumber
缺省情况下,未配置用于接收短信的手机号码。
(5)退回SSLVPN访问实例视图。
quit
(6)配置短信网关认证,并开启短信网关认证功能。
sms-authtypesms-gw
缺省情况下,短信网关认证功能处于关闭状态。
(7)创建短信网关认证视图,并进入短信网关认证视图。
sms-authsms-gw
缺省情况下,不存在短信网关认证视图。
(8)配置短信网关认证引用短信网关。
gatewaysms-gateway-name
缺省情况下,未引用对接第三方短信平台的短信网关。
(9)开启用户手机号码绑定功能。
mobile-num-bindingenable
缺省情况下,用户手机号码绑定功能处于关闭状态。
verification-codesend-intervalseconds
verification-codevalidityminutes
(12)配置国家代码。
country-codecountry-code
缺省情况下,国家代码为86。
(13)配置发送短信的内容模板。
sms-contentstring
用户可以在SSLVPN网关的资源页面,单击个人设置按钮,进入个人设置页面自助修改密码。目前仅支持通过iMC服务器认证的远程用户自助修改密码。
当用户自助修改密码功能关闭时,SSLVPN资源页面的个人设置按钮将处于隐藏状态,用户无法修改密码。
password-changingenable
(4)进入SSLVPN用户视图。
(6)配置iMC认证用户自助修改密码使用的iMC服务器。
self-serviceimcaddressip-addressportport-number
缺省情况下,未配置iMC认证用户自助修改密码使用的iMC服务器。
SSLVPN用户认证服务器类型包括:
(3)配置认证服务器类型。
authenticationserver-type{aaa|custom}
缺省情况下,SSLVPN认证服务器类型为AAA认证服务器。
·自定义认证服务器的URL地址:SSLVPN网关采用HTTP协议将认证请求报文发送到指定的URL地址。
·自定义认证的请求报文信息:SSLVPN网关根据该信息构造HTTP认证请求报文。认证请求报文信息包括HTTP请求方式、HTTP请求报文首部字段和认证信息请求模板。
·自定义认证的应答报文信息:SSLVPN网关根据该信息解析接收到的认证应答报文。应答报文信息包括HTTP应答报文格式、HTTP应答报文中标识认证成功的应答值、HTTP应答报文的应答字段名和自定义应答模板。
(3)配置自定义认证服务器的URL地址。
custom-authenticationurlurl
缺省情况下,未配置自定义认证服务器的URL地址。
custom-authenticationtimeoutseconds
(5)配置自定义认证的请求报文信息。
a.配置自定义认证的HTTP请求方式。
custom-authenticationrequest-method{get|post}
缺省情况下,自定义认证的HTTP请求方式为GET。
b.配置自定义认证的HTTP请求报文首部字段。
custom-authenticationrequest-header-fieldfield-namevaluevalue
缺省情况下,自定义认证的HTTP请求报文首部字段内包含如下内容:Content-type:application/x-www-form-urlencoded
User-Agent:nodejs4.1
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q
c.配置自定义认证的认证信息请求模板。
custom-authenticationrequest-templatetemplate
缺省情况下,未配置自定义认证的认证信息请求模板。
(6)配置自定义认证的应答报文信息。
a.配置自定义认证的HTTP应答报文格式。
custom-authenticationresponse-format{custom|json|xml}
缺省情况下,自定义认证的HTTP应答报文格式为JSON。
b.配置自定义认证的HTTP应答报文中标识认证成功的应答值。
custom-authenticationresponse-success-valuesuccess-value
缺省情况下,未配置HTTP应答报文中标识认证成功的应答值。
c.配置自定义认证的HTTP应答报文的应答字段名。
custom-authenticationresponse-field{groupgroup|messagemessage|resultresult}
缺省情况下,未配置HTTP应答报文的应答字段名。
当选择HTTP应答报文格式为JSON或XML时,需要配置HTTP应答报文的应答字段名。
d.配置自定义认证的自定义应答模板。
custom-authenticationresponse-custom-template{group|message|result}template
缺省情况下,未配置自定义认证的自定义应答模板。
只有HTTP应答报文格式选择了custom格式,才需要配置自定义认证的自定义应答模板。
URI形式的ACL用于对SSLVPN的各种接入方式进行更精细的控制。对URL进行匹配,符合要求的URL请求可以访问对应的资源。在SSLVPN访问实例视图下可以创建多个URIACL,并且每个URIACL下又可以配置多条URIACL规则。若一个URIACL中配置了多条URIACL规则,则按照规则编号由小到大进行匹配。
URIACL规则支持根据报文的协议类型、地址、域名、端口号和URL进行过滤,目前设备支持过滤的协议类型包括:HTTP、HTTPS、TCP、UDP、ICMP、IP。
(3)创建URIACL,并进入URIACL视图。
uri-acluri-acl-name
(4)创建URIACL规则。
rule[rule-id]{deny|permit}uriuri-pattern-string
为了使用户能够通过Web接入方式访问企业内网资源,SSLVPN网关上需要创建Web接入服务资源。
Web接入服务配置任务如下:
URL列表用于定义Web接入方式可访问的资源。每个URL表项对应一个企业网内的Web资源。当用户通过网关访问Web资源时,网关会对URL进行映射,以保证用户的正常访问。目前支持的映射方式有三种:常规改写、域名映射、端口映射。
·当配置端口映射,又分为配置虚拟主机名和不配置虚拟主机名两种情况。
·目前仅支持对HTML、XML、CSS和JavaScript类型的文件进行改写。
·若在使用常规改写的过程中,出现URL映射遗漏和映射错误等问题,请使用域名映射或端口映射。
(3)创建URL表项,并进入URL表项视图。
url-itemname
(4)配置资源的URL。
urlurl
缺省情况下,未配置资源的URL。
如果URL中未指定协议类型,则默认为HTTP。
(5)(可选)开启URL伪装功能。
开启本功能后,该URL表项下所配置的Web资源URL将被转换成一定规则的编码字符串对SSLVPN用户呈现。
(6)(可选)引用过滤URL资源的URIACL。
resourceuri-acluri-acl-name
缺省情况下,未引用过滤URL资源的URIACL。
(7)(可选)配置URL资源的映射方式。
url-mapping{domain-mappingdomain-name|port-mappinggatewaygateway-name[virtual-hostvirtual-host-name]}[rewrite-enable]
缺省情况下,URL资源的映射方式为常规改写。
(8)退回SSLVPN访问实例视图。
(9)创建URL列表,并进入URL列表视图。
url-listname
(10)(可选)配置URL列表标题。
headingstring
缺省情况下,URL列表的标题为“Web”。
(11)配置URL列表引用的URL表项。
resourcesurl-itemname
缺省情况下,URL列表未引用URL表项。
SSLVPN网关可以通过高级ACL和URIACL规则对SSLVPN用户的Web接入进行过滤,防止非法用户接入内部网络。配置SSLVPN访问控制策略后,设备对SSLVPN用户的Web接入按照如下原则过滤:
(2)若资源列表匹配失败时,则进行URIACL的规则检查,成功匹配URIACL中permit规则后用户的访问请求才允许通过。
(3)若URIACL匹配失败时,再进行高级ACL的检查,成功匹配规则后用户的访问请求才允许通过。
高级ACL支持根据接入请求报文的目的IP地址和目的端口号进行过滤;URIACL支持根据接入请求报文的协议类型、地址、域名、端口号和URL进行过滤。
(3)创建SSLVPN策略组,并进入SSLVPN策略组视图。
policy-groupgroup-name
(4)配置策略组引用URL列表。
resourcesurl-listurl-list-name
缺省情况下,策略组没有引用任何URL列表。
(5)(可选)配置对Web接入进行过滤。
通过高级ACL方式进行过滤。
filterweb-accessacladvanced-acl-number
通过URIACL方式进行过滤。
filterweb-accessuri-acluri-acl-name
如果引用的ACL不存在,则SSLVPN网关拒绝所有SSLVPN客户端访问Web资源。
通过Web接入方式访问服务器资源时,管理员可以配置改写策略对网页文件进行匹配,进而改写匹配的网页文件。通过改写网页文件,管理员可以对发现的网页问题进行修复,方便维护和管理。
配置改写策略后,SSLVPN网关通过old-content命令配置的string对网页文件内容进行匹配,匹配成功之后,采用new-content命令配置的改写之后的文件内容对其进行替换。只有配置的url与网关正在处理的网页文件的URL相同时,才会根据文件策略中的配置对该网页文件内容进行改写。
(3)创建文件策略,并进入文件策略视图。
file-policypolicy-name
(4)配置文件策略应用的URL地址。
(5)配置改写的文件类型。
content-type{css|html|javascript|other}
缺省情况下,未配置文件改写类型,设备根据解析HTTP响应报文获得的文件类型对网页文件进行改写。
(6)创建改写规则,并进入改写规则视图。
rewrite-rulerule-name
(7)配置需要改写的文件内容。
old-contentstring
缺省情况下,未配置需要改写的文件内容。
(8)配置改写之后的文件内容。
new-contentstring
缺省情况下,未配置改写之后的文件内容。
为了使用户能够通过TCP接入方式访问企业内网资源,SSLVPN网关上需要创建TCP接入服务资源。
TCP接入服务配置任务如下:
端口转发表项用于定义端口转发实例和对应资源:
·端口转发实例将企业网内的基于TCP的服务(如Telnet、SSH、POP3)映射为客户端上的本地地址和本地端口,以便客户端通过本地地址和本地端口访问企业网内的服务器。
·配置对应的资源后,用户可以在Web页面上点击指定的转发表项访问服务器资源。
(3)创建端口转发表项,进入端口转发表项视图。
port-forward-itemitem-name
(4)添加一个端口转发实例。
local-portlocal-port-numberlocal-namelocal-nameremote-serverremote-serverremote-portremote-port-number[descriptiontext]
(6)创建端口转发列表,并进入端口转发列表视图。
port-forwardport-forward-name
(7)配置端口转发列表引用端口转发表项。
resourcesport-forward-itemitem-name
缺省情况下,端口转发列表未引用任何端口转发表项
SSLVPN网关可以通过高级ACL和URIACL规则对SSLVPN用户的TCP接入进行过滤,防止非法用户接入内部网络。
(2)若端口转发资源列表匹配失败时,则进行URIACL的规则检查,成功匹配URIACL中permit规则后用户的访问请求才允许通过。
(3)若URIACL匹配失败时,再进行高级ACL的检查,成功匹配permit规则后用户的访问请求才允许通过。
(4)配置策略组引用端口转发列表。
resourcesport-forwardport-forward-name
缺省情况下,策略组没有引用任何端口转发列表。
(5)(可选)配置对TCP接入进行过滤。
filtertcp-accessacladvanced-acl-number
filtertcp-accessuri-acluri-acl-name
缺省情况下,SSLVPN网关仅允许SSLVPN客户端访问端口转发列表下的资源。
如果引用的ACL不存在,则SSLVPN网关拒绝所有SSLVPN客户端访问TCP接入服务。
为了使内部服务器的应答报文正确返回给SSLVPN客户端,在内部服务器上需要配置到达SSLVPN客户端虚拟网卡所在网段的静态路由。
当设备上安装了多个安全引擎板时,IP接入方式需要与NAT配合使用,确保同一条流量的正反向报文被引流到同一个安全引擎板。
IP接入服务配置任务如下:
(2)创建SSLVPNAC接口,并进入SSLVPNAC接口视图。
interfacesslvpn-acinterface-number
(3)配置接口的IPv4地址。
ipaddressip-address{mask|mask-length}
缺省情况下,没有指定接口的IPv4地址。
(4)(可选)配置接口的期望带宽。
bandwidthbandwidth-value
缺省情况下,接口的期望带宽为64kbps。
期望带宽供业务模块使用,不会对接口实际带宽造成影响。
(5)(可选)配置当前接口的描述信息。
descriptiontext
缺省情况下,接口的描述信息为“接口名Interface”,例如:SSLVPN-AC1000Interface。
(6)(可选)配置接口的MTU值。
mtusize
缺省情况下,接口的MTU值为1500字节。
(7)开启当前接口。
undoshutdown
缺省情况下,SSLVPNAC接口均处于开启状态。
接口下的某些配置恢复到缺省情况后,会对设备上当前运行的业务产生影响。建议您在执行本配置前,完全了解其对网络产生的影响。
(2)进入SSLVPNAC接口视图。
(3)恢复当前接口的缺省配置。
default
SSLVPN网关将从配置的IP地址池中为客户端软件的虚拟网卡分配IP地址。
地址池中配置的网段需要满足以下要求:
·不能和客户端物理网卡的IP地址在同一个网段。
·不能包含SSLVPN网关所在设备的接口地址,否则会导致地址冲突。
·不能和欲访问的内网地址在同一个网段。
(2)创建SSLVPN的IPv4地址池。
sslvpnipaddress-poolpool-namestart-ip-addressend-ip-address
为SSLVPN访问实例引用地址池,在客户端通过验证后,SSLVPN网关会从该访问实例引用的地址池中选择IP地址分配给客户端。
在SSLVPN访问实例下还可以配置路由列表,为客户端分配路由表项。
(3)配置IP接入引用的SSLVPNAC接口。
ip-tunnelinterfacesslvpn-acinterface-number
缺省情况下,IP接入未引用SSLVPNAC接口。
(4)配置IPv4路由列表
a.创建IPv4路由列表,并进入IPv4路由列表视图。
ip-route-listlist-name
b.在IPv4路由列表中添加IPv4路由。
includeip-address{mask|mask-length}
c.(可选)在IPv4路由列表中添加IPv4例外路由。
excludeip-address{mask|mask-length}
d.退回SSLVPN访问实例视图。
(5)配置IP接入引用IPv4地址池。
ip-tunneladdress-poolpool-namemask{mask-length|mask}
缺省情况下,IP接入未引用IPv4地址池。
ip-tunnelkeepaliveseconds
(7)(可选)配置为客户端指定的内网DNS服务器IPv4地址。
ip-tunneldns-server{primary|secondary}ip-address
缺省情况下,未配置为客户端指定的DNS服务器IPv4地址。
(8)(可选)配置为客户端指定的内网WINS服务器地址。
ip-tunnelwins-server{primary|secondary}ip-address
缺省情况下,未配置为客户端指定的WINS服务器地址。
web-accessip-clientauto-activate
ip-tunnelweb-resourceauto-push
(11)(可选)开启IP接入方式的限速功能,并配置限速速率。
ip-tunnelrate-limit{downstream|upstream}{kbps|pps}value
缺省情况下,IP接入方式的限速功能处于关闭状态。
·直接配置路由表项:用于将一条路由下发给客户端。
·配置路由列表:用于将路由列表中的多条路由同时下发给客户端。
·强制将客户端的流量转发给SSLVPN网关(指定force-all参数):SSLVPN网关在客户端上添加优先级最高的缺省路由,路由的出接口为虚拟网卡,从而使得所有没有匹配到路由表项的流量都通过虚拟网卡发送给SSLVPN网关。SSLVPN网关还会实时监控SSLVPN客户端,不允许SSLVPN客户端删除此缺省路由,且不允许SSLVPN客户端添加优先级高于此路由的缺省路由。
SSLVPN网关可以通过高级ACL和URIACL规则对SSLVPN用户的IP接入进行过滤,防止非法用户接入内部网络。配置SSLVPN访问控制策略后,设备对IP接入按照如下原则过滤:
(1)进行URIACL的规则检查,成功匹配URIACL中permit规则后用户的访问请求才允许通过。
(2)若URIACL匹配失败时,再进行高级ACL的检查,成功匹配规则后用户的访问请求才允许通过。
若URIACL和高级ACL均未引用,则SSLVPN网关默认允许所有IP接入方式的访问。
高级ACL支持根据接入请求报文的目的IP地址和目的端口号、源IP地址和源端口号、协议类型、报文优先级、分片信息、TCP报文标识、ICMP报文的消息类型和消息码信息进行过滤;URIACL支持根据接入请求报文的协议类型、地址、域名、端口号和URL进行过滤。
配置对IP接入进行URIACL过滤时,URIACL规则中请不要包含HTTP和HTTPS协议,否则配置后不生效。
(4)配置下发给客户端的IPv4路由表项。
ip-tunnelaccess-route{ip-address{mask-length|mask}|force-all|ip-route-listlist-name}
缺省情况下,未指定下发给客户端的IPv4路由表项。
(5)配置对IP接入进行过滤。
filterip-tunnelacladvanced-acl-number
filterip-tunneluri-acluri-acl-name
缺省情况下,SSLVPN网关允许SSLVPN客户端访问IP接入资源。
如果引用的ACL不存在,则SSLVPN网关拒绝所有IP接入方式的访问。
(6)(可选)配置策略组引用的IPv4地址池。
缺省情况下,策略组下未引用IPv4地址池。
若引用的地址池不存在或无可用地址,分配失败,用户无法通过IP接入。若策略组未引用IPv4地址池,则SSLVPN网关将使用SSLVPN访问实例中引用的IPv4地址池为客户端分配IPv4地址。
当设备上安装了多个安全引擎板时,IP接入方式需要与NAT配合使用,即在SSLVPN网关连接内网服务器的接口的出方向配置NAT功能对源地址进行转换。确保同一条流量的正反向报文被引流到同一个安全引擎板。
如果不做源地址转换,则可能会出现同一条流量的正反向报文被引流到不同安全引擎板的情况,从而影响SSLVPN业务的正常处理。具体原因如下:
当SSLVPN网关接收到用户访问内网资源的正向报文时,将使用报文的源IP地址(用户主机物理网卡的IP地址)进行Hash选板;当SSLVPN网关接收到此条流量的反向报文时,将使用报文的目的IP地址(用户主机虚拟网卡的IP地址)进行Hash选板。这种情况下可能会出现两次Hash选择的安全引擎板不同。
通过在SSLVPN网关上配置NAT功能,NAT模块将会对SSLVPN网关与内网服务器之前的报文进行IP地址转换,并生成Openflow引流规则,确保同一条流量的正反向报文被引流到同一个安全引擎板。
有关NAT的详细介绍,请参见“网络互通配置指导”中的“NAT”。
在SSLVPN网关连接内网服务器的接口的出方向配置NAT功能对源地址进行转换。
NAT地址组中的地址需要与配置NAT功能的接口上的IP地址在同一网段。
需要对IP客户端(即虚拟网卡)的IP地址进行NAT源地址转换。
(2)创建NAT地址组,并进入NAT地址组视图。
nataddress-groupgroup-id[namegroup-name]
(3)添加地址组成员。
addressstart-addressend-address
可通过多次执行本命令添加多个地址组成员。
当前地址组成员的IP地址段不能与该地址组中或者其它地址组中已有的地址成员组成员重叠。
(4)退回系统视图。
(5)进入接口视图。
interfaceinterface-typeinterface-number
(6)配置出方向动态地址转换。
natoutbound[ipv4-acl-number|nameipv4-acl-name]address-group{group-id|namegroup-name}no-pat[reversible][rulerule-name][prioritypriority][disable][counting][descriptiontext]
缺省情况下,不存在动态地址转换配置。
EMO服务器用来为移动客户端提供服务。执行本命令后,SSLVPN网关会将配置的EMO服务器信息下发给客户端,以便移动客户端通过EMO服务器获取可以访问的服务资源。
(3)配置为客户端指定的EMO服务器。
emo-serveraddress{host-name|ipv4-address}portport-number
缺省情况下,未配置为客户端指定的EMO服务器。
Message服务器用来为移动客户端提供服务。执行本命令后,SSLVPN网关会将配置的Message服务器信息下发给客户端,以便客户端访问Message服务器。
(3)配置为客户端指定的Message服务器。
message-serveraddress{host-name|ipv4-address}portport-number
缺省情况下,未配置为客户端指定的Message服务器。
(3)进入SSLVPN策略组视图。
redirect-resource{shortcut|url-item}resource-name
(2)进入SSLVPN网关视图。
(3)开启HTTP流量的重定向功能。
缺省情况下,未开启HTTP流量的重定向功能,SSLVPN网关不会处理HTTP流量。
(3)创建策略组,并进入SSLVPN策略组视图。
(4)为策略组指定资源。
为SSLVPN策略组配置指定Web接入资源。
为SSLVPN策略组配置指定TCP接入资源。
为SSLVPN策略组配置指定IPv4接入资源。
(6)(可选)配置对TCP接入进行过滤。
(7)(可选)配置对IP接入进行过滤。
(9)指定某个策略组为缺省策略组。
default-policy-groupgroup-name
缺省情况下,没有指定缺省策略组。
(3)强制在线用户下线。
force-logout[all|sessionsession-id|useruser-name]
(4)配置每个用户名的同时最大在线数。
max-onlinesnumber
缺省情况下,同一用户的同时最大在线数为32。
force-logoutmax-onlinesenable
(6)配置每个会话的最大连接数。
session-connectionsnumber
缺省情况下,每个会话的同时最大连接数为64。
本功能用于限制SSLVPN访问实例下SSLVPN会话的速率,超过此速率之后,此SSLVPN会话相应方向的报文将会被丢弃。
(3)开启SSLVPN会话的限速功能,并配置限速速率。
rate-limit{downstream|upstream}value
缺省情况下,SSLVPN会话的限速功能处于关闭状态。
(3)开启防暴力破解冻结IP地址功能。
prevent-crackingfreeze-ipenable
缺省情况下,防暴力破解冻结IP地址功能处于关闭状态。
(4)(可选)设置防暴力破解冻结IP地址功能参数。
prevent-crackingfreeze-iplogin-failureslogin-failuresfreeze-timefreeze-time
(5)开启防暴力破解验证码验证功能。
prevent-crackingverify-codeenable
缺省情况下,防暴力破解验证码验证功能处于关闭状态。
(6)(可选)设置防暴力破解验证码验证功能参数。
prevent-crackingverify-codelogin-failureslogin-failures
(7)(可选)手工解冻防暴力破解冻结的IP地址。
prevent-crackingunfreeze-ip{all|ipv4ip-address}
ssomethodauto-build
ssoauto-buildrequest-method{get|post}
ssoauto-buildcode{gb18030|utf-8}
ssoauto-buildlogin-parameter{cert-fingerprint|cert-serial|cert-title|custom-password|custom-username|login-name|login-password|mobile-num|user-group}nameparameter-name[encrypt]
ssoauto-buildcustom-login-parameternameparameter-namevaluevalue[encrypt]
ssoauto-buildencrypt-filefilename
ssomethodbasic
ssobasiccustom-username-passwordenable
(9)内网服务器将应答报文发送至SSLVPN网关。
gateway.com:port为SSLVPN网关的域名及端口号。
www.resources.com为企业内网资源的域名。
contextName为用户使用的SSLVPN访问实例名称。
(3)单击<申请校验域名>按钮,按照页面提示下载文件,并在SSLVPN网关Web网管页面的全局配置页面上传域名校验文件。
(4)勾选“已上传域名归属校验文件”,单击<确定>按钮,完成域名校验。
wechat-work-authenticationenable
wechat-work-authenticationurlurl
wechat-work-authenticationtimeoutseconds
wechat-work-authenticationcorp-idcorp-id
wechat-work-authenticationapp-secretapp-secret
wechat-work-authenticationuserid-fielduserid-field
wechat-work-authenticationauthorize-fieldauthorize-field
wechat-work-authenticationopen-platform-url{pre-defined|user-defineduser-defined-url}
(3)配置禁用的SSLVPN接入客户端软件类型。
access-deny-client{browser|mobile-inode|pc-inode}*
若在SSLVPN访问实例视图下设置了自定义页面模板,则SSLVPN访问实例视图下定制的页面信息不再生效。
login-message{chinesechinese-message|englishenglish-message}
password-boxhide
(5)配置SSLVPN页面的标题信息。
title{chinesechinese-title|englishenglish-title}
缺省情况下,SSLVPN页面的标题为“SSLVPN”。
(6)配置SSLVPN页面上显示的logo。
logo{filefile-name|none}
缺省情况下,SSLVPN页面上显示“H3C”logo图标。
notify-message{login-page|resource-page}{chinesechinese-message|englishenglish-message}
缺省情况下,未配置公告消息。
(8)配置资源页面供用户下载的资源文件。
resources-file{chinesechinese-filename|englishenglish-filename}
缺省情况下,未配置供用户下载的资源文件。
(9)配置修改密码页面的密码复杂度提示信息。
password-complexity-message{chinesechinese-message|englishenglish-message}
缺省情况下,未配置密码复杂度提示信息。
(10)改写服务器返回信息。
rewriteserver-response-messageserver-response-message{chinesechinese-message|englishenglish-message}
缺省情况下,SSLVPN网关不改写服务器返回信息。
·对于在系统视图下设置的SSLVPN页面模板,其作用域为所有SSLVPN访问实例。
·对于在SSLVPN访问实例视图下设置的SSLVPN页面模板,其作用域为该SSLVPN访问实例。
若在系统视图与SSLVPN访问实例视图下同时设置了页面模板,SSLVPN访问实例视图下设置的页面模板生效。
在Web管理页面,上传自定义页面模板至设备的文件系统中。
(2)设置SSLVPN全局页面模板。
sslvpnwebpage-customizetemplate-name
缺省情况下,SSLVPN全局页面模板为系统缺省模板。
(3)设置SSLVPN页面模板。
webpage-customizetemplate-name
缺省情况下,未设置SSLVPN页面模板。
开启SSLVPNIP接入引流功能后,当同一条数据流的正反向报文被转发到不同安全引擎板处理时,反向报文会被透传到处理正向报文的安全引擎板进行处理,保证SSLVPN业务的正常运行。
缺省情况下,SSLVPNIP接入方式需要借助NAT模块下发的硬件引流表对设备上的报文进行转发,以保证同一条数据流的正反向报文被转发到相同的安全引擎板进行处理。当NAT模块下发硬件引流表功能关闭时(通过undonatoutbound命令关闭),设备将无法借助NAT模块对流量进行引流,为保证SSLVPN业务的正常处理,需要开启SSLVPN引流功能。
本功能仅在SSLVPNIP接入方式下生效。
本功能仅在开启会话引流功能后才生效。有关开启会话引流功能的详细介绍,请参见“安全配置指导”中的“会话管理”。
(2)开启SSLVPNIP接入引流功能。
sslvpnflow-redirectenable
缺省情况下,SSLVPNIP接入引流功能处于关闭状态,流量由NAT硬件引流表进行引流。
开启SSLVPN日志记录功能后,SSLVPN网关会记录日志信息,并发送到设备的信息中心,通过设置信息中心的参数,决定日志信息的输出规则(即是否允许输出以及输出方向)。(有关信息中心参数的配置请参见“设备管理配置指导”中的“信息中心”。)
(2)开启SSLVPN全局日志生成功能。
sslvpnlogenable
缺省情况下,SSLVPN全局日志生成功能处于关闭状态。
(3)进入SSLVPN访问实例视图。
(4)开启用户上下线日志生成功能。
loguser-loginenable
缺省情况下,用户上下线日志生成功能处于关闭状态。
(5)开启用户资源访问日志生成功能。
logresource-accessenable[brief|filtering]*
缺失情况下,用户访问资源日志生成功能处于关闭状态。
(6)开启IP接入连接关闭的日志生成功能。
ip-tunnellogconnection-close
缺省情况下,IP接入连接关闭的日志生成功能处于关闭状态。
(7)开启IP接入丢包的日志生成功能。
ip-tunnellogpacket-drop
缺省情况下,IP接入丢包的日志生成功能处于关闭状态。
(8)开启IP接入客户端虚拟网卡IP地址分配和释放的日志生成功能。
ip-tunnellogaddress-alloc-release
缺省情况下,IP接入客户端虚拟网卡IP地址分配和释放的日志生成功能处于关闭状态。
在完成上述配置后,在任意视图下执行display命令可以显示SSLVPN的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令清除SSLVPNAC接口的统计信息。
表1-1SSLVPN显示和维护
操作
命令
displayinterfacesslvpn-ac[interface-number][brief[description|down]]
显示SSLVPN访问实例的信息
displaysslvpncontext[brief|namecontext-name]
显示SSLVPN网关的信息
displaysslvpngateway[brief|namegateway-name]
显示通过IP接入的SSLVPN用户的报文统计信息
displaysslvpnip-tunnelstatistics[contextcontext-name][useruser-name]
显示指定策略组的信息
displaysslvpnpolicy-groupgroup-name[contextcontext-name]
显示TCP端口转发的连接信息
displaysslvpnport-forwardconnection[contextcontext-name]
显示被防暴力破解功能冻结的IP地址信息
displaysslvpnprevent-crackingfrozen-ip{statistics|table}[contextcontext-name]
显示SSLVPN会话信息
displaysslvpnsession[contextcontext-name][useruser-name|verbose]
显示SSLVPN页面模板信息
displaysslvpnwebpage-customizetemplate
清除SSLVPNAC接口的统计信息
resetcountersinterface[sslvpn-ac[interface-number]]
清除通过IP接入的SSLVPN用户的报文统计信息
resetsslvpnip-tunnelstatistics[contextcontext-name[sessionsession-id]]
不同款型规格的资料略有差异,详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!