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用户证书从而认证用户身份。该认证的过程如下:
(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网关可以通过SMP对接第三方认证平台,实现对SSLVPN用户的身份认证。SMP认证和短信认证同时使用时,仅支持短信网关认证,不支持iMC短信认证。
SSLVPN采用基于用户的权限管理方法,可以根据用户的身份,限制用户可以访问的资源。
图1-9SSLVPN资源管理方式
·为不同的SSLVPN访问实例指定不同的虚拟主机名称。远端用户访问SSLVPN网关时,输入虚拟主机名称,SSLVPN网关根据虚拟主机名称判断该用户所属的SSLVPN访问实例。
管理员还可以指定SSLVPN网关所属的VPN实例。只有属于同一个VPN的用户可以访问SSLVPN网关,从而避免内部服务器资源泄漏到公网和其他VPN中。
VPN实例的详细介绍,请参见“VPN实例配置指导”中的“VPN实例”。
图1-10SSLVPN支持VPN多实例示意图
购买并安装License后可以增加同时在线的用户数。关于License的详细介绍请参见“基础配置指导”中的“License管理”。
配置SSLVPN访问控制策略时,过滤规则引用的ACL规则中不能存在VPN实例,否则该规则不能生效。
在“浏览器-SSLVPN网关—服务器”组网下,如果服务器回应的报文中带有重定向URL,由于SSLVPN网关不会修改请求和响应报文,所以无法处理重定向URL中的地址。
(3)配置SSLVPN用户接入认证
自定义认证必须配置自定义认证服务器。
(4)配置SSLVPN资源访问控制
请根据实际组网需求选择配置各类型的接入服务,配置次序无关联。
(5)(可选)配置SSLVPN支持VPN多实例
(6)(可选)控制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网关的IPv6地址和端口号。
ipv6addressipv6-address[portport-number]
缺省情况下,未配置SSLVPN网关的IPv6地址和端口号。
(5)指定SSLVPN网关引用SSL服务器端策略。
sslserver-policypolicy-name
缺省情况下,SSLVPN网关引用自签名证书的SSL服务器端策略。
(6)开启当前的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用户认证配置任务如下:
(1)配置基础认证功能
请至少选择如下一种或多种认证方式:
(2)(可选)配置组合认证功能
(3)(可选)配置认证参数
(2)进入SSLVPN访问实例视图。
(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-address{ip-address|ipv6ipv6-address}portport-number[vpn-instancevpn-instance-name]
缺省情况下,未配置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
用户名密码认证功能和证书认证功能都开启的情况下,可以通过authenticationuse命令来控制SSLVPN用户认证的认证模式。
authenticationuse{all|any-one}
用户可以在SSLVPN网关的资源页面,单击个人设置按钮,进入个人设置页面自助修改密码。目前仅支持通过iMC服务器认证的远程用户自助修改密码。
当用户自助修改密码功能关闭时,SSLVPN资源页面的个人设置按钮将处于隐藏状态,用户无法修改密码。
password-changingenable
(4)进入SSLVPN用户视图。
(6)退回SSLVPN访问实例视图。
(7)配置iMC认证用户自助修改密码使用的iMC服务器。
self-serviceimcaddress{ip-address|ipv6ipv6-address}portport-number[vpn-instancevpn-instance-name]
缺省情况下,未配置iMC认证用户自助修改密码使用的iMC服务器。
(3)单击<申请校验域名>按钮,按照页面提示下载文件,并在SSLVPN网关Web网管页面的全局配置页面上传域名校验文件。
(4)勾选“已上传域名归属校验文件”,单击<确定>按钮,完成域名校验。
(3)单击<保存>按钮,完成配置。
wechat-work-authenticationenable
wechat-work-authenticationurlurl
wechat-work-authenticationcorp-idcorp-id
wechat-work-authenticationapp-secretapp-secret
wechat-work-authenticationscan-qrcodeagent-idagent-id
SSLVPN用户认证服务器类型包括:
(3)配置认证服务器类型。
authenticationserver-type{aaa|custom|smp}
缺省情况下,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格式,才需要配置自定义认证的自定义应答模板。
SMP(SecurityManagementPlatform,安全业务管理平台),是一个可以对各安全产品进行统一管理的智能管理平台。SSLVPN网关可以通过SMP对接第三方认证平台,实现对SSLVPN用户的身份认证。通过SMP对接第三方认证平台,相对于SSLVPN网关直接对接第三方认证平台,可以简化SSLVPN网关的配置,且方便后续业务的扩展。
SSLVPN用户认证采用SMP认证服务器时,需要先创建SMP认证视图,并在该视图中配置以下参数:
·SMP对接的第三方认证平台类型:SSLVPN网关通过SMP对SSLVPN用户进行身份认证时,SSLVPN网关将通知SMP需要对接的第三方认证平台类型。SMP与该认证平台对接成功后,由该平台对SSLVPN用户进行身份认证,并将认证结果返回给SMP,SMP再将认证结果返回给SSLVPN网关。
·SMP的主机名或IP地址:SSLVPN网关将与本配置指定的SMP进行信息交互,从而对SSLVPN用户进行身份认证。此SMP的主机名由SMP提供,需要联系SMP管理员获取。
·SSLVPN网关与SMP建立连接时使用的密钥:SSLVPN网关与SMP建立连接时,SSLVPN网关需要向SMP提供本功能配置的密钥,SMP会使用该密钥验证SSLVPN网关的身份,验证通过后,才能建立连接。此密钥由SMP提供。
·SMP关联的VPN实例:配置本参数后,SMP包含的资源将属于关联的VPN实例,否则,SMP包含的资源将属于公网。
删除SMP认证视图的同时,该视图下的所有内容都将被删除,请慎重操作。
SMP认证和短信认证同时使用时,仅支持短信网关认证,不支持iMC短信认证。
(3)创建SMP认证视图,并进入SMP认证视图。
smpauthentication
(4)配置SMP对接的第三方认证平台类型。
smp-platformtypeparaview
缺省情况下,未配置SMP对接的第三方认证平台类型。
(5)配置SMP的主机名或IP地址。
server-hosthost-name
缺省情况下,未配SMP的主机名或IP地址。
(6)配置SSLVPN网关与SMP建立连接时使用的密钥。
secret-key{cipher|simple}string
缺省情况下,未配置SSLVPN网关与SMP建立连接时使用的密钥。
(7)配置SMP关联的VPN实例。
vpn-instancevpn-instance-name
缺省情况下,SMP属于公网。
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接入方式可能会出现页面兼容性问题,建议使用IP接入方式。
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。
resourcesuri-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-access[ipv6]acladvanced-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]
(5)(可选)配置端口转发表项对应的资源。
executionscript
(7)创建端口转发列表,并进入端口转发列表视图。
port-forwardport-forward-name
(8)配置端口转发列表引用端口转发表项。
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-access[ipv6]acladvanced-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)配置接口的IPv6地址。
ipv6address{ipv6-addressprefix-length|ipv6-address/prefix-length}
缺省情况下,没有指定接口的IPv6地址。
(5)(可选)配置接口的期望带宽。
bandwidthbandwidth-value
缺省情况下,接口的期望带宽为64kbps。
期望带宽供业务模块使用,不会对接口实际带宽造成影响。
(6)(可选)配置当前接口的描述信息。
descriptiontext
缺省情况下,接口的描述信息为“接口名Interface”,例如:SSLVPN-AC1000Interface。
(7)(可选)配置接口的MTU值。
mtusize
缺省情况下,接口的MTU值为1500。
(8)开启当前接口。
undoshutdown
缺省情况下,SSLVPNAC接口均处于开启状态。
接口下的某些配置恢复到缺省情况后,会对设备上当前运行的业务产生影响。建议您在执行本配置前,完全了解其对网络产生的影响。
(2)进入SSLVPNAC接口视图。
(3)恢复当前接口的缺省配置。
default
SSLVPN网关将从配置的IP地址池中为客户端软件的虚拟网卡分配IP地址。
地址池中配置的网段需要满足以下要求:
·不能和客户端物理网卡的IP地址在同一个网段。
·不能包含SSLVPN网关所在设备的接口地址,否则会导致地址冲突。
·不能和欲访问的内网地址在同一个网段。
(2)创建SSLVPN的IPv4地址池。
sslvpnipaddress-poolpool-namestart-ip-addressend-ip-address
(3)创建SSLVPN的IPv6地址池。
sslvpnipv6address-poolipv6-pool-namestart-ipv6-addressend-ipv6-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)配置IPv6路由列表
a.创建IPv6路由列表,并进入IPv6路由列表视图。
ipv6-route-listipv6-list-name
b.在IPv6路由列表中添加IPv6路由。
includeipv6ipv6-addressprefix-length
c.(可选)在IPv6路由列表中添加IPv6例外路由。
excludeipv6ipv6-addressprefix-length
(6)配置IP接入引用IPv4地址池。
ip-tunneladdress-poolpool-namemask{mask-length|mask}
缺省情况下,IP接入未引用IPv4地址池。
(7)配置IP接入引用IPv6地址池。
ip-tunnelipv6address-poolipv6-pool-nameprefixprefix-length
缺省情况下,IP接入未引用IPv6地址池。
ip-tunnelkeepaliveseconds
(9)(可选)配置为客户端指定的内网DNS服务器IPv4地址。
ip-tunneldns-server{primary|secondary}ip-address
缺省情况下,未配置为客户端指定的DNS服务器IPv4地址。
(10)(可选)配置为客户端指定的内网DNS服务器IPv6地址。
ip-tunnelipv6dns-server{primary|secondary}ipv6-address
缺省情况下,未配置为客户端指定的DNS服务器IPv6地址。
(11)(可选)配置为客户端指定的内网WINS服务器地址。
ip-tunnelwins-server{primary|secondary}ip-address
缺省情况下,未配置为客户端指定的WINS服务器地址。
web-accessip-clientauto-activate
ip-tunnelweb-resourceauto-push
(14)(可选)开启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)配置下发给客户端的IPv6路由表项。
ip-tunnelipv6access-route{ipv6-addressprefix-length|ipv6-route-listipv6-list-name}
缺省情况下,未指定下发给客户端的IPv6路由表项。
(6)配置强制将客户端的IPv6流量转发给SSLVPN网关。
ip-tunnelipv6access-routeforce-all
缺省情况下,未配置强制将客户端的IPv6流量转发给SSLVPN网关。
(7)配置对IP接入进行过滤。
filterip-tunnel[ipv6]acladvanced-acl-number
filterip-tunneluri-acluri-acl-name
缺省情况下,SSLVPN网关允许SSLVPN客户端访问IP接入资源。
如果引用的ACL不存在,则SSLVPN网关拒绝所有IP接入方式的访问。
(8)(可选)配置策略组引用的IPv4地址池。
缺省情况下,策略组下未引用IPv4地址池。
若引用的地址池不存在或无可用地址,分配失败,用户无法通过IP接入。若策略组未引用IPv4地址池,则SSLVPN网关将使用SSLVPN访问实例中引用的IPv4地址池为客户端分配IPv4地址。
(9)(可选)配置策略组引用的IPv6地址池。
缺省情况下,策略组下未引用IPv6地址池。
若引用的地址池不存在或无可用地址,分配失败,用户无法通过IP接入。若策略组未引用IPv6地址池,则SSLVPN网关将使用SSLVPN访问实例中引用的IPv6地址池为客户端分配IPv6地址。
客户端使用IP接入方式访问SSLVPN网关时,网关需要为客户端分配IP地址。通过配置本功能,可以保证同一个用户多次访问该网关时能使用固定范围的IP地址。本功能提供以下两种方式为SSLVPN用户绑定IP地址:
·指定固定的地址范围:为用户绑定分配的IP地址列表,当网关从地址池中为客户端分配IP地址时,优先分配绑定的IP地址。
·指定可分配的地址数目:网关也可以为客户端自动分配空闲的IP地址,即网关会从地址池中获取指定个数的空闲IP地址,为用户绑定。
当SSLVPN策略组中引用了地址池时,配置SSLVPN用户绑定的IP地址必须是此地址池中的IP地址。
当SSLVPN策略组中未引用地址池时,配置SSLVPN用户绑定的IP地址必须是此SSLVPN访问实例引用的地址池中的IP地址。
未关联VPN实例或在同一VPN实例中,不同SSLVPN用户不能绑定相同的IP地址。
(3)创建SSLVPN用户,并进入SSLVPN用户视图。
(4)配置SSLVPN用户绑定的IPv4地址。
ip-tunnelbindaddress{ip-address-list|auto-allocatenumber}
缺省情况下,SSLVPN用户未绑定IPv4地址
(5)配置SSLVPN用户绑定的IPv6地址。
ip-tunnelipv6bindaddress{ipv6-address-list|auto-allocatenumber}
缺省情况下,SSLVPN用户未绑定IPv6地址。
当设备上安装了多个安全业务板时,IP接入方式需要与NAT配合使用,即在SSLVPN网关连接内网服务器的接口的出方向配置NAT功能对源地址进行转换。确保同一条流量的正反向报文被引流到同一个安全业务板。
如果不做源地址转换,则可能会出现同一条流量的正反向报文被引流到不同安全业务板的情况,从而影响SSLVPN业务的正常处理。具体原因如下:
当SSLVPN网关接收到用户访问内网资源的正向报文时,将使用报文的源IP地址(用户主机物理网卡的IP地址)进行Hash选板;当SSLVPN网关接收到此条流量的反向报文时,将使用报文的目的IP地址(用户主机虚拟网卡的IP地址)进行Hash选板。这种情况下可能会出现两次Hash选择的安全业务板不同。
通过在SSLVPN网关上配置NAT功能,NAT模块将会对SSLVPN网关与内网服务器之间的报文进行IP地址转换,并生成Openflow引流规则,确保同一条流量的正反向报文被引流到同一个安全业务板。
有关NAT的详细介绍,请参见“三层技术-IP业务配置指导”中的“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}[vpn-instancevpn-instance-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服务器。
当用户需要快速访问企业内网资源时,可以配置快捷方式,以便在SSLVPN网关的Web页面上增加访问内网资源的快捷方式,用户单击配置的快捷方式名称就能够访问对应的内网资源。
(3)创建快捷方式,并进入快捷方式视图。
shortcutshortcut-name
(4)(可选)配置快捷方式的描述信息。
缺省情况下,设备上不存在配置描述信息。
(5)配置快捷方式对应的资源。
缺省情况下,不存在快捷方式对应的资源。
(7)创建快捷方式列表,并进入快捷方式列表视图。
shortcut-listlist-name
(8)配置快捷方式列表引用快捷方式。
resourcesshortcutshortcut-name
缺省情况下,快捷方式列表未引用快捷方式。
(9)退回SSLVPN访问实例视图。
(10)进入SSLVPN策略组视图。
(11)配置策略组引用快捷方式列表。
resourcesshortcut-listlist-name
缺省情况下,策略组未引用任何快捷方式列表。
(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接入资源。
为SSLVPN策略组配置指定IPv6接入资源。
配置强制将客户端的IPv6流量转发给SSLVPN网关。
(6)(可选)配置对TCP接入进行过滤。
(7)(可选)配置对IP接入进行过滤。
(9)指定某个策略组为缺省策略组。
default-policy-groupgroup-name
缺省情况下,没有指定缺省策略组。
在角色中引用资源及配置用户对资源的访问方式的具体方法如下:
·通过policy-group命令引用策略组,定义该角色可以访问的资源。
·通过web-accessenable、tcp-accessenable、ip-tunnelenable命令分别配置该角色中的用户对资源的访问方式,包括Web接入方式、TCP接入方式和IP接入方式。
有关身份识别角色的详细介绍,请参见“安全配置指导”中的“用户身份识别与管理”。
本功能配置的角色名称需要与身份识别模块配置的身份识别角色名称一一对应。
(3)创建角色,并进入角色视图。
rolerole-name
(4)配置角色引用的策略组。
resourcespolicy-groupgroup-name
缺省情况下,角色未引用任何策略组。
(5)开启角色的Web接入功能。
web-accessenable
缺省情况下,角色的Web接入功能处于关闭状态。
(6)开启角色的TCP接入功能。
tcp-accessenable
缺省情况下,角色的TCP接入功能处于关闭状态。
(7)开启角色的IP接入功能。
ip-tunnelenable
缺省情况下,角色的IP接入功能处于关闭状态。
将不同的SSLVPN访问实例关联不同的VPN实例,可以隔离不同访问实例内的服务器资源,避免非法用户访问特定资源的同时,还可以实现服务器资源的地址重叠。
配置此功能前,请先进行如下配置:
·创建VPN实例。
·SSLVPN网关设备连接企业网内部服务器的接口上绑定该VPN实例。
·对于IP接入方式,还需要在SSLVPN访问实例引用的SSLVPNAC接口上绑定该VPN实例。
有关VPN实例的详细配置,请参见“VPN实例配置指导”中的“VPN实例”。
(3)配置SSLVPN访问实例关联的VPN实例。
缺省情况下,SSLVPN访问实例关联公网。
指定SSLVPN网关所属的VPN实例后,只有属于同一个VPN的用户才可以访问SSLVPN网关,从而避免内部服务器资源泄漏到公网和其他VPN中。
·SSLVPN网关设备连接用户的接口上绑定该VPN实例。
(3)配置SSLVPN网关所属的VPN实例。
缺省情况下,SSLVPN网关属于公网。
(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|{ipv4|ipv6}ip-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.example.com:port为SSLVPN网关的域名及端口号。
www.resources.example.com为企业内网资源的域名。
contextName为用户使用的SSLVPN访问实例名称。
wechat-work-authenticationtimeoutseconds
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用户下载的IP接入客户端是存储在设备上的,但是对于一些存储空间较小的设备,无法在设备上部署IP接入客户端。
为了解决此问题,SSLVPN网关管理员可以通过本功能配置IP接入客户端的下载路径为官网或者自定义的URL地址。此时,设备既可以节省存储空间,同时SSLVPN用户也可以正常的下载IP接入客户端。设备支持配置Windows、Mac、Linux系统的IP接入客户端下载路径。
(2)配置Windows、Mac、Linux系统的IP接入客户端下载路径。
sslvpnip-clientdownload-path{{common|kylin|uos}{linux-arm|linux-loongarch|linux-mips|linux-x86}urlurl|macurlurl|windows{local|official|urlurl}}
缺省情况下,Mac、Linux系统的IP接入客户端下载路径为官网。对于Windows系统,若设备已打包了IP接入客户端,则IP接入客户端的下载路径为设备的根目录;若设备未打包IP接入客户端,则IP接入客户端的下载路径为官网。
若在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页面模板。
开启国盾量子加密功能后,当iNode客户端与SSLVPN网关进行SSL协商时,SSLVPN网关将使用从国盾量子交换密码机获取的密钥参与协商,生成最终的对称密钥。iNode客户端和SSLVPN网关将使用该对称密钥,对SSLVPN用户的业务数据进行加解密。借助量子密钥的安全性,可进一步提升SSLVPN业务的安全性。
设备从国盾量子交换密码机获取量子密钥的过程如下:
(1)连接国盾量子交换密码机:当SSLVPN国盾量子视图下的所有命令配置完成后,且SSLVPN网关视图下已开启国盾量子加密功能,设备将与指定的国盾量子交换密码机建立连接。
(3)获取国盾量子密钥:设备作为SSLVPN网关向国盾量子交换密码机获取量子密钥,然后将此密钥用于与iNode客户端进行SSL协商时生成最终的对称密钥。
用户可以根据实际需求,选择iNode客户端和SSLVPN网关之间进行SSL协商时是否强制使用量子密钥:
·如果选择非强制,即未配置mandatory参数,则当iNode客户端使用了国盾量子加密功能时,iNode与SSLVPN网关在协商过程中需要使用量子密钥;当iNode客户端没有使用国盾量子加密功能或SSLVPN用户通过Web接入时,则该协商过程会使用非量子密钥进行SSL协商。
·如果选择强制,即配置了mandatory参数,则SSLVPN网关只能接受使用量子加密功能的iNode客户端与之进行SSL协商,其他客户端无法接入。
本功能仅在SSLVPNIP接入方式下生效,且iNode客户端需要支持国盾量子加密功能。
删除SSLVPN国盾量子视图的同时,会将该视图下的所有内容都删除,请慎重操作。
国盾量子强制加密功能可以进一步增强SSLVPN网关的安全性,但会降低对其它SSLVPN用户接入的兼容性,请仅在必要的场景下开启。
获取与国盾量子交换密码机交互时使用的密钥文件,并通过FTP、TFTP等协议将密钥文件上传至设备的文件管理系统,密钥文件大小不能超过20K。
(2)创建SSLVPN国盾量子视图,并进入SSLVPN国盾量子视图。如果SSLVPN国盾量子视图已经存在,则直接进入SSLVPN国盾量子视图。
sslvpngd-quantum
(3)指定国盾量子交换密码机的IPv4地址和端口号。
server-addressip-addressportport-number
缺省情况下,未指定国盾量子交换密码机的IPv4地址和端口号。
(4)配置国盾量子密码服务平台软件ID。
csp-idcsp-id
缺省情况下,未配置国盾量子密码服务平台软件ID。
(5)配置国盾量子交换密码机ID。
ecm-idecm-id
缺省情况下,未配置国盾量子交换密码机ID。
(6)配置国盾量子应用账号。
app-accountapp-account
缺省情况下,未配置国盾量子应用账号。
(7)退回系统视图。
(8)导入设备与国盾量子交换密码机交互时使用的密钥文件。
sslvpnimportgd-quantumkeyfilefilename
(9)进入SSLVPN网关视图。
(10)开启国盾量子加密功能。
gd-quantumencryptionenable[mandatory]
缺省情况下,国盾量子加密功能处于关闭状态。
开启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][slotslot-number]
显示被防暴力破解功能冻结的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]]
图1-12Web接入组网图
在开始下面的配置之前,假设已完成如下配置:
·Device已获取到CA证书ca.cer和服务器证书server.pfx,若SSLVPN网关不引用SSL服务端策略,则使用设备缺省证书。
(1)配置接口IP地址
#根据组网图中规划的信息,配置各接口的IP地址,具体配置步骤如下。
[Device]interfacegigabitethernet1/0/1
[Device-GigabitEthernet1/0/1]ipaddress1.1.1.2255.255.255.0
[Device-GigabitEthernet1/0/1]quit
请参考以上步骤配置其他接口的IP地址,具体配置步骤略。
(2)配置静态路由
本举例仅以静态路由方式配置路由信息。实际组网中,请根据具体情况选择相应的路由配置方式。
#请根据组网图中规划的信息,配置静态路由,本举例假设到达ServerA的下一跳IP地址为2.2.2.3,到达ServerB的下一跳IP地址为3.3.3.4,到达User的下一跳IP地址为1.1.1.3实际使用中请以具体组网情况为准,具体配置步骤如下。
[Device]iproute-static20.2.2.2242.2.2.3
[Device]iproute-static30.3.3.3243.3.3.4
[Device]iproute-static40.1.1.1241.1.1.3
(3)配置接口加入安全域。
#请根据组网图中规划的信息,将接口加入对应的安全域,具体配置步骤如下。
[Device]security-zonenameuntrust
[Device-security-zone-Untrust]importinterfacegigabitethernet1/0/1
[Device-security-zone-Untrust]quit
[Device]security-zonenametrust
[Device-security-zone-Trust]importinterfacegigabitethernet1/0/2
[Device-security-zone-Trust]importinterfacegigabitethernet1/0/3
[Device-security-zone-Trust]quit
(4)配置安全策略放行Untrust与Local安全域之间的流量,用于用户访问SSLVPN网关设备。
#配置名称为sslvpnlocalout1的安全策略规则,使Device可以向用户发送报文,具体配置步骤如下。
[Device]security-policyip
[Device-security-policy-ip]rulenamesslvpnlocalout1
[Device-security-policy-ip-1-sslvpnlocalout1]source-zonelocal
[Device-security-policy-ip-1-sslvpnlocalout1]destination-zoneuntrust
[Device-security-policy-ip-1-sslvpnlocalout1]source-ip-host1.1.1.2
[Device-security-policy-ip-1-sslvpnlocalout1]destination-ip-host40.1.1.1
[Device-security-policy-ip-1-sslvpnlocalout1]actionpass
[Device-security-policy-ip-1-sslvpnlocalout1]quit
#配置名称为sslvpnlocalin1的安全策略规则,使用户可以向Device发送报文,具体配置步骤如下。
[Device-security-policy-ip]rulenamesslvpnlocalin1
[Device-security-policy-ip-2-sslvpnlocalin1]source-zoneuntrust
[Device-security-policy-ip-2-sslvpnlocalin1]destination-zonelocal
[Device-security-policy-ip-2-sslvpnlocalin1]source-ip-host40.1.1.1
[Device-security-policy-ip-2-sslvpnlocalin1]destination-ip-host1.1.1.2
[Device-security-policy-ip-2-sslvpnlocalin1]actionpass
[Device-security-policy-ip-2-sslvpnlocalin1]quit
#配置名称为sslvpnlocalout2的安全策略规则,使Device可以向ServerA和ServerB发送报文,具体配置步骤如下。
[Device-security-policy-ip]rulenamesslvpnlocalout2
[Device-security-policy-ip-3-sslvpnlocalout2]source-zonelocal
[Device-security-policy-ip-3-sslvpnlocalout2]destination-zonetrust
[Device-security-policy-ip-3-sslvpnlocalout2]source-ip-host2.2.2.2
[Device-security-policy-ip-3-sslvpnlocalout2]source-ip-host3.3.3.3
[Device-security-policy-ip-3-sslvpnlocalout2]destination-ip-host20.2.2.2
[Device-security-policy-ip-3-sslvpnlocalout2]destination-ip-host30.3.3.3
[Device-security-policy-ip-3-sslvpnlocalout2]actionpass
[Device-security-policy-ip-3-sslvpnlocalout2]quit
#配置名称为sslvpnlocalin2的安全策略规则,使ServerA和ServerB可以向Device发送报文,具体配置步骤如下。
[Device-security-policy-ip]rulenamesslvpnlocalin2
[Device-security-policy-ip-4-sslvpnlocalin2]source-zonetrust
[Device-security-policy-ip-4-sslvpnlocalin2]destination-zonelocal
[Device-security-policy-ip-4-sslvpnlocalin2]source-ip-host20.2.2.2
[Device-security-policy-ip-4-sslvpnlocalin2]source-ip-host30.3.3.3
[Device-security-policy-ip-4-sslvpnlocalin2]destination-ip-host2.2.2.2
[Device-security-policy-ip-4-sslvpnlocalin2]destination-ip-host3.3.3.3
[Device-security-policy-ip-4-sslvpnlocalin2]actionpass
[Device-security-policy-ip-4-sslvpnlocalin2]quit
[Device-security-policy-ip]quit
[Device]pkidomainsslvpn
[Device-pki-domain-sslvpn]public-keyrsageneralnamesslvpn
[Device-pki-domain-sslvpn]undocrlcheckenable
[Device-pki-domain-sslvpn]quit
[Device]pkiimportdomainsslvpndercafilenameca.cer
[Device]pkiimportdomainsslvpnp12localfilenameserver.pfx
(6)配置SSL服务器端策略,引用PKI域
[Device]sslserver-policyssl
[Device-ssl-server-policy-ssl]pki-domainsslvpn
[Device-ssl-server-policy-ssl]quit
#配置SSLVPN网关gw的IP地址为1.1.1.2,端口号为2000,并引用SSL服务器端策略ssl。
[Device]sslvpngatewaygw
[Device-sslvpn-gateway-gw]ipaddress1.1.1.2port2000
[Device-sslvpn-gateway-gw]sslserver-policyssl
[Device-sslvpn-gateway-gw]serviceenable
[Device-sslvpn-gateway-gw]quit
(8)配置SSLVPN访问实例,为用户提供SSLVPNWeb接入服务
#配置SSLVPN访问实例ctx1引用SSLVPN网关gw,指定域名为domain1。
[Device]sslvpncontextctx1
[Device-sslvpn-context-ctx1]gatewaygwdomaindomain1
[Device-sslvpn-context-ctx1]url-itemurlitem
[Device-sslvpn-context-ctx1-url-item-urlitem]quit
[Device-sslvpn-context-ctx1]url-listurllist
[Device-sslvpn-context-ctx1-url-list-urllist]headingweb
[Device-sslvpn-context-ctx1-url-list-urllist]resourcesurl-itemurlitem
[Device-sslvpn-context-ctx1-url-list-urllist]quit
[Device-sslvpn-context-ctx1]policy-grouppgroup
[Device-sslvpn-context-ctx1-policy-group-pgroup]resourcesurl-listurllist
[Device-sslvpn-context-ctx1-policy-group-pgroup]quit
[Device-sslvpn-context-ctx1]default-policy-grouppgroup
[Device-sslvpn-context-ctx1]serviceenable
[Device-sslvpn-context-ctx1]quit
#配置SSLVPN访问实例ctx2引用SSLVPN网关gw,指定域名为domain2。
[Device]sslvpncontextctx2
[Device-sslvpn-context-ctx2]gatewaygwdomaindomain2
[Device-sslvpn-context-ctx2]url-itemurlitem
[Device-sslvpn-context-ctx2-url-item-urlitem]quit
[Device-sslvpn-context-ctx2]url-listurllist
[Device-sslvpn-context-ctx2-url-list-urllist]headingweb
[Device-sslvpn-context-ctx2-url-list-urllist]resourcesurl-itemurlitem
[Device-sslvpn-context-ctx2-url-list-urllist]quit
[Device-sslvpn-context-ctx2]policy-grouppgroup
[Device-sslvpn-context-ctx2-policy-group-pgroup]resourcesurl-listurllist
[Device-sslvpn-context-ctx2-policy-group-pgroup]quit
[Device-sslvpn-context-ctx2]default-policy-grouppgroup
[Device-sslvpn-context-ctx2]serviceenable
[Device-sslvpn-context-ctx2]quit
(9)配置SSLVPN用户,用于接入SSLVPN网关
[Device]local-usersslvpnclassnetwork
[Device-luser-network-sslvpn]passwordsimple123456
[Device-luser-network-sslvpn]service-typesslvpn
[Device-luser-network-sslvpn]authorization-attributeuser-rolenetwork-operator
[Device-luser-network-sslvpn]authorization-attributesslvpn-policy-grouppgroup
[Device-luser-network-sslvpn]quit
#在Device上查看SSLVPN网关状态,可见SSLVPN网关gw处于Up状态。
[Device]displaysslvpngateway
Gatewayname:gw
Operationstate:Up
IP:1.1.1.2Port:2000
SSLserverpolicyconfigured:ssl
SSLserverpolicyinuse:ssl
FrontVPNinstance:Notconfigured
#在Device上查看SSLVPN访问实例状态,可见SSLVPN访问实例ctx1和ctx2均处于Up状态。
[Device]displaysslvpncontext
Contextname:ctx1
AAAdomain:Notspecified
Certificateauthentication:Disabled
Passwordauthentication:Enabled
Authenticationuse:All
SMSauthtype:Notconfigured
Urlmasking:Disabled
Codeverification:Disabled
Defaultpolicygroup:pgroup
AssociatedSSLVPNgateway:gw
Domainname:domain1
SSLclientpolicyconfigured:ssl
SSLclientpolicyinuse:ssl
Maximumusersallowed:1048575
VPNinstance:Notconfigured
Idletimeout:30min
Authenticationserver-type:aaa
Passwordchanging:Enabled
Contextname:ctx2
Domainname:domain2
图1-13DomainList页面
[Device]displaysslvpnsessioncontextctx1
SSLVPNcontext:ctx1
Users:1
UsernameConnectionsIdletimeCreatedUserIP
sslvpn60/00:12:050/00:04:1440.1.1.1
#网关首页的“书签”栏显示用户可以访问的远端web资源。
图1-15网关首页
[Device]displaysslvpnsessioncontextctx2
SSLVPNcontext:ctx2
sslvpn60/00:02:050/00:01:1140.1.1.1
图1-16网关首页
图1-17TCP接入配置组网图
·SSLVPN用户主机上需要安装Java运行环境。
#请根据组网图中规划的信息,配置静态路由,本举例假设到达Server的下一跳IP地址为2.2.2.3,到达User的下一跳IP地址为1.1.1.3实际使用中请以具体组网情况为准,具体配置步骤如下。
#配置名称为sslvpnlocalout1的安全策略规则,使Device可以向用户发送SSLVPN报文,具体配置步骤如下。
#配置名称为sslvpnlocalout2的安全策略规则,使Device可以向Server发送报文,具体配置步骤如下。
#配置名称为sslvpnlocalin2的安全策略规则,使Server可以向Device发送报文,具体配置步骤如下。
(8)配置SSLVPN访问实例,为用户提供SSLVPNTCP接入服务
#配置SSLVPN访问实例ctx引用SSLVPN网关gw。
[Device]sslvpncontextctx
[Device-sslvpn-context-ctx]gatewaygw
[Device-sslvpn-context-ctx]port-forward-itempfitem1
[Device-sslvpn-context-ctx-port-forward-item-pfitem1]local-port2323local-name127.0.0.1remote-server20.2.2.2remote-port23descriptiontelnet
[Device-sslvpn-context-ctx-port-forward-item-pfitem1]quit
[Device-sslvpn-context-ctx]port-forwardplist
[Device-sslvpn-context-ctx-port-forward-plist]resourcesport-forward-itempfitem1
[Device-sslvpn-context-ctx-port-forward-plist]quit
[Device-sslvpn-context-ctx]policy-grouppgroup
[Device-sslvpn-context-ctx-policy-group-pgroup]resourcesport-forwardplist
[Device-sslvpn-context-ctx-policy-group-pgroup]quit
[Device-sslvpn-context-ctx]serviceenable
[Device-sslvpn-context-ctx]quit
(9)配置SSLVPN用户,用于访问SSLVPN网关
#在Device上查看SSLVPN访问实例状态,可见SSLVPN访问实例ctx处于Up状态。
Contextname:ctx
Defaultpolicygroup:Notconfigured
不能通过双击的方式打开对应的TCP应用程序。
#用户在PC上执行telnet127.0.0.12323,可以远程连接到Server,显示信息略。
#在Device上可以看到用户会话信息。
[Device]displaysslvpnsessioncontextctx
SSLVPNcontext:ctx
#在Device上可以看到TCP端口转发的连接信息。
[Device]displaysslvpnport-forwardconnection
Clientaddress:40.1.1.1
Clientport:50788
Serveraddress:20.2.2.2
Serverport:23
State:Connected
Device为SSLVPN网关设备,连接公网用户和企业私有网络。用户通过Device可以通过IP
图1-19IP接入配置组网图
·Server上存在到达网段10.1.1.0/24的路由。
(2)创建SSLVPNAC接口,用于转发IP接入流量
#创建SSLVPNAC接口1,配置该接口的IP地址为10.1.1.100/24。
[Device]interfacesslvpn-ac1
[Device-SSLVPN-AC1]ipaddress10.1.1.10024
[Device-SSLVPN-AC1]quit
(3)配置静态路由
(4)配置接口加入安全域
[Device-security-zone-Untrust]importinterfacesslvpn-ac1
(5)配置安全策略放行Untrust与Local安全域、Untrust与Trust安全域之间的流量,用于用户访问SSLVPN网关设备和Server
#配置名称为untrust-trust的安全策略规则,使用户可以通过SSLVPNAC接口访问Server,具体配置步骤如下。
[Device-security-policy-ip]rulenameuntrust-trust
[Device-security-policy-ip-5-untrust-trust]source-zoneuntrust
[Device-security-policy-ip-5-untrust-trust]destination-zonetrust
[Device-security-policy-ip-5-untrust-trust]source-ip-subnet10.1.1.024
[Device-security-policy-ip-5-untrust-trust]destination-ip-host20.2.2.2
[Device-security-policy-ip-5-untrust-trust]actionpass
[Device-security-policy-ip-5-untrust-trust]quit
#配置名称为trust-untrust的安全策略规则,使Server可以通过SSLVPNAC接口向用户发送报文,具体配置步骤如下。
[Device-security-policy-ip]rulenametrust-untrust
[Device-security-policy-ip-6-trust-untrust]source-zonetrust
[Device-security-policy-ip-6-trust-untrust]destination-zoneuntrust
[Device-security-policy-ip-6-trust-untrust]source-ip-host20.2.2.2
[Device-security-policy-ip-6-trust-untrust]destination-ip-subnet10.1.1.024
[Device-security-policy-ip-6-trust-untrust]actionpass
[Device-security-policy-ip-6-trust-untrust]quit
(6)创建ACL,用于对IP接入流量进行过滤
[Device]acladvanced3000
[Device-acl-ipv4-adv-3000]rulepermitipsource10.1.1.00.0.0.255destination20.2.2.00.0.0.255
[Device-acl-ipv4-adv-3000]quit
(8)配置SSL服务器端策略,引用PKI域
#配置SSLVPN网关gw的IP地址为1.1.1.2,端口号为4430,并引用SSL服务器端策略ssl。
[Device-sslvpn-gateway-gw]ipaddress1.1.1.2port4430
(10)创建SSLVPN客户端地址池,用于为IP接入客户端分配IP地址
#创建为SSLVPN客户端分配地址的地址池sslvpnpool,地址范围为10.1.1.1~10.1.1.10。
[Device]sslvpnipaddress-poolsslvpnpool10.1.1.110.1.1.10
(11)配置SSLVPN访问实例,为用户提供SSLVPNIP接入服务
#配置SSLVPN访问实例ctxip,引用SSLVPN网关gw,指定域名为domainip。
[Device]sslvpncontextctxip
[Device-sslvpn-context-ctxip]gatewaygwdomaindomainip
[Device-sslvpn-context-ctxip]ip-tunnelinterfacesslvpn-ac1
[Device-sslvpn-context-ctxip]ip-route-listrtlist
[Device-sslvpn-context-ctxip-route-list-rtlist]include20.2.2.024
[Device-sslvpn-context-ctxip-route-list-rtlist]quit
[Device-sslvpn-context-ctxip]ip-tunneladdress-poolsslvpnpoolmask24
[Device-sslvpn-context-ctxip]policy-groupresourcegrp
[Device-sslvpn-context-ctxip-policy-group-resourcegrp]ip-tunnelaccess-routeip-route-listrtlist
[Device-sslvpn-context-ctxip-policy-group-resourcegrp]filterip-tunnelacl3000
[Device-sslvpn-context-ctxip-policy-group-resourcegrp]quit
[Device-sslvpn-context-ctxip]serviceenable
[Device-sslvpn-context-ctxip]quit
(12)配置SSLVPN用户,用于访问SSLVPN网关
[Device]local-usersslvpnuserclassnetwork
[Device-luser-network-sslvpnuser]passwordsimple123456
[Device-luser-network-sslvpnuser]service-typesslvpn
[Device-luser-network-sslvpnuser]authorization-attributesslvpn-policy-groupresourcegrp
[Device-luser-network-sslvpnuser]authorization-attributeuser-rolenetwork-operator
[Device-luser-network-sslvpnuser]quit
IP:1.1.1.2Port:4430
Contextname:ctxip
Passwordauthentication:Enabled
Domainname:domainip
图1-20DomainList页面
#单击<启动>按钮,下载IP接入客户端软件Svpnclient并安装,安装完成后,启动iNode客户端,输入如下图所示的参数。
图1-22iNode客户端
#SSLVPN用户sslvpnuser可以Ping通服务器地址20.2.2.2。
C:\>ping20.2.2.2
Pinging20.2.2.2with32bytesofdata:
Replyfrom20.2.2.2:bytes=32time=31msTTL=254
Replyfrom20.2.2.2:bytes=32time=18msTTL=254
Replyfrom20.2.2.2:bytes=32time=15msTTL=254
Replyfrom20.2.2.2:bytes=32time=16msTTL=254
Pingstatisticsfor20.2.2.2:
Packets:Sent=4,Received=4,Lost=0(0%loss),
Approximateroundtriptimesinmilli-seconds:
Minimum=15ms,Maximum=31ms,Average=20ms
#在Device上可以看到SSLVPN用户sslvpnuser的会话信息。
[Device]displaysslvpnsessionusersslvpnuser
User:sslvpnuser
Context:ctxip
Policygroup:resourcegrp
Createdat:16:38:48UTCWed07/26/2017
Lastest:16:47:41UTCWed07/26/2017
UserIPv4address:172.16.1.16
AllocatedIP:10.1.1.1
SessionID:14
Webbrowser/OS:Windows
[Device-security-policy-ip-1-sslvpnlocalout1]source-ip-host10.1.1.100
[Device-security-policy-ip-1-sslvpnlocalout1]destination-ip-subnet10.1.1.024
[Device-security-policy-ip-2-sslvpnlocalin1]source-ip-hostsubnet10.1.1.024
[Device-security-policy-ip-2-sslvpnlocalin1]destination-ip-host10.1.1.100
[Device-security-policy-ip-3-sslvpnlocalout2]source-ip-host3.3.3.1
[Device-security-policy-ip-3-sslvpnlocalout2]destination-ip-host3.3.3.2
[Device-security-policy-ip-4-sslvpnlocalin2]source-ip-host3.3.3.2
[Device-security-policy-ip-4-sslvpnlocalin2]destination-ip-host3.3.3.1
(7)配置SSL服务器端策略,引用PKI域
(8)配置SSLVPN网关,为用户提供访问SSLVPN网关的入口
(9)创建SSLVPN客户端地址池,用于为IP接入客户端分配IP地址
#创建地址池ippool,指定IP地址范围为10.1.1.1~10.1.1.10。
[Device]sslvpnipaddress-poolippool10.1.1.110.1.1.10
(10)配置RADIUS,用于远程认证SSLVPN用户
[Device]radiusschemerscheme
[Device-radius-rscheme]primaryauthentication3.3.3.2
[Device-radius-rscheme]primaryaccounting3.3.3.2
[Device-radius-rscheme]accounting-onenable
[Device-radius-rscheme]keyauthenticationsimple123456
[Device-radius-rscheme]keyaccountingsimple123456
[Device-radius-rscheme]user-name-formatwithout-domain
[Device-radius-rscheme]quit
[Device]user-groupgroup1
[Device-ugroup-group1]authorization-attributesslvpn-policy-grouppgroup
[Device-ugroup-group1]quit
(12)配置ISP域,通过ISP域对SSLVPN用户进行认证
[Device]domaindomain1
[Device-isp-domain1]authorization-attributeuser-groupgroup1
[Device-isp-domain1]authenticationsslvpnradius-schemerscheme
[Device-isp-domain1]authorizationsslvpnradius-schemerscheme
[Device-isp-domain1]accountingsslvpnradius-schemerscheme
[Device-isp-domain1]quit
(13)配置SSLVPN访问实例,为用户提供不同的SSLVPN服务
[Device-sslvpn-context-ctx]aaadomaindomain1
[Device-sslvpn-context-ctx]ip-route-listrtlist
[Device-sslvpn-context-ctx-route-list-rtlist]include20.2.2.0255.255.255.0
[Device-sslvpn-context-ctx-route-list-rtlist]quit
[Device-sslvpn-context-ctx]uri-acluriacl
[Device-sslvpn-context-ctx-uri-acl-uriacl]rule1permituriicmp://20.2.2.0
[Device-sslvpn-context-ctx-uri-acl-uriacl]quit
[Device-sslvpn-context-ctx]ip-tunnelinterfacesslvpn-ac1
[Device-sslvpn-context-ctx]ip-tunneladdress-poolippoolmask255.255.255.0
[Device-sslvpn-context-ctx-policy-group-pgroup]ip-tunnelaccess-routeip-route-listrtlist
[Device-sslvpn-context-ctx-policy-group-pgroup]filterip-tunneluri-acluriacl
AAAdomain:domain1
sslvpn60/00:02:050/00:03:1440.1.1.1
#在PC上查看IPv4路由表,其中40.1.1.1/24为本地网卡地址,10.1.1.1/24为SSLVPN网关设备分配给用户的地址,20.2.2.0/24为到达内部服务器Server的路由。
>route-4print
IPv4RouteTable
===========================================================================
ActiveRoutes:
NetworkDestinationNetmaskGatewayInterfaceMetric
10.1.1.0255.255.255.0On-link10.1.1.1276
10.1.1.1255.255.255.255On-link10.1.1.1276
10.1.1.255255.255.255.255On-link10.1.1.1276
20.2.2.0255.255.255.0On-link10.1.1.1276
20.2.2.255255.255.255.255On-link10.1.1.1276
40.1.1.0255.255.255.0On-link40.1.1.1276
40.1.1.1255.255.255.255On-link40.1.1.1276
40.1.1.255255.255.255.255On-link40.1.1.1276
#在PC上可以Ping通服务器地址20.2.2.2。
Replyfrom20.2.2.2:bytes=32time=197msTTL=254
Replyfrom20.2.2.2:bytes=32time=1msTTL=254
Replyfrom20.2.2.2:bytes=32time=186msTTL=254
Minimum=1ms,Maximum=197ms,Average=96ms
·本文以MicrosoftWindowsServer2008R2的ActiveDirectory为例,说明该例中LDAP服务器的基本配置。
·在LDAP服务器上设置管理员admin的密码为admin!123456。
·在LDAP服务器上添加用户名为sslvpn的用户,密码为ldap!123456,所属组织单位为sslvpn_usergroup,隶属于用户组users。
(1)新建组织单位sslvpn_usergroup
a.在LDAP服务器上,选择[开始/管理工具]中的[ActiveDirectory用户和计算机],打开ActiveDirectory用户和计算机界面;
b.在ActiveDirectory用户和计算机界面的左侧导航树中,右键单击ldap.com,选择[新建/组织单位],打开[新建对象-组织单位]对话框;
c.在对话框中输入组织单位名称sslvpn_usergroup,并单击<确定>按钮。
图1-26新建组织单位sslvpn_usergroup
(2)新建用户sslvpn所属组织单位为sslvpn_usergroup
a.在ActiveDirectory用户和计算机界面的左侧导航树中,右键单击sslvpn_usergroup,选择[新建/用户],打开[新建对象-用户]对话框;
图1-27新建用户sslvpn
c.在弹出的对话框的“密码”区域框内输入用户密码ldap!123456,并单击<下一步>按钮。用户账户的其它属性(密码的更改方式、密码的生存方式、是否禁用账户)请根据实际情况选择配置,图中仅为示例。
图1-28设置用户密码
d.单击<完成>按钮,创建新用户sslvpn。
(3)将用户sslvpn加入Users组。
在ActiveDirectory用户和计算机界面的左侧导航树中,单击sslvpn_usergroup,在右侧信息框中右键单击用户sslvpn,选择“属性”项;
在弹出的[sslvpn属性]对话框中选择“隶属于”页签,并单击<添加(D)...>按钮。
图1-29修改用户属性
在弹出的[选择组]对话框中的可编辑区域框中输入对象名称“Users”,单击<确定>,完成用户sslvpn添加到Users组。
图1-30添加用户sslvpn到用户组Users
(10)配置LDAP,用于认证SSLVPN用户
[Device]ldapserverldap1
[Device-ldap-server-ldap1]ip3.3.3.2
[Device-ldap-server-ldap1]login-dncn=admin,cn=users,dc=ldap,dc=com
[Device-ldap-server-ldap1]login-passwordsimpleadmin!123456
[Device-ldap-server-ldap1]search-base-dndc=ldap,dc=com
[Device-ldap-server-ldap1]quit
[Device]ldapattribute-maptest
[Device-ldap-attr-map-test]mapldap-attributememberofprefixcn=delimiter,aaa-attributeuser-group
[Device-ldap-attr-map-test]quit
[Device]ldapschemeshml
[Device-ldap-shml]authentication-serverldap1
[Device-ldap-shml]authorization-serverldap1
[Device-ldap-shml]attribute-maptest
[Device-ldap-shml]quit
(11)配置ISP域,通过ISP域对SSLVPN用户进行认证
[Device]domainbbb
[Device-isp-bbb]authenticationsslvpnldap-schemeshml
[Device-isp-bbb]authorizationsslvpnldap-schemeshml
[Device-isp-bbb]accountingsslvpnnone
[Device-isp-bbb]quit
(12)配置SSLVPN访问实例,为用户提供不同的SSLVPN服务
[Device-sslvpn-context-ctx]aaadomainbbb
[Device]user-groupusers
[Device-ugroup-users]authorization-attributesslvpn-policy-grouppgroup
[Device-ugroup-users]quit
图1-31USBKey证书认证配置组网图
设备支持使用缺省证书和非缺省证书作为其服务器证书,使用方法如下:
·缺省证书:设备出厂自带的服务器证书即为缺省证书,使用缺省证书时无需引用SSL服务器端策略。
·非缺省证书:用户自己申请的证书即为非缺省证书,使用非缺省证书时需要引用SSL服务器端策略。
由于缺省证书存在较多的安全隐患,故仅作为功能测试使用。实际组网环境中,请使用非缺省证书作为设备的服务器证书。
·Device已获取到CA证书ca.cer和服务器证书server.pfx,USBKey中已安装证书,Device和USBKey安装的证书为同一CA机构颁发。
·USBKey客户端证书中的指定字段(默认为CN字段)必须和该SSLVPN用户的用户名一致。
·某些品牌的USBKey可能需要安装驱动才能使用,请做好准备。
#根据组网图中规划的信息,配置各接口的IP地址。
#创建SSLVPNAC接口,用于转发IP接入流量。
#请根据组网图中规划的信息,将接口加入对应的安全域。
#请根据组网图中规划的信息,配置静态路由,本举例假设到达Server的下一跳IP地址为2.2.2.3,到达Host的下一跳IP地址为1.1.1.3,实际使用中请以具体组网情况为准。
(3)配置安全策略放行Untrust与Local安全域、Untrust与Trust安全域之间的流量,用于用户访问SSLVPN网关设备和Server
#配置名称为sslvpnlocalout1的安全策略规则,使SSLVPN网关可以向用户发送报文。
#配置名称为sslvpnlocalin1的安全策略规则,使用户可以向SSLVPN网关发送报文。
#配置名称为sslvpnlocalout2的安全策略规则,使SSLVPN网关可以向Server发送报文。
#配置名称为sslvpnlocalin2的安全策略规则,使Server可以向SSLVPN网关发送报文。
#配置名称为untrust-trust的安全策略规则,使用户可以通过SSLVPNAC接口访问Server。
#配置名称为trust-untrust的安全策略规则,使Server可以通过SSLVPNAC接口向用户发送报文。
(4)为设备配置证书,用于SSLVPN客户端验证SSLVPN网关的身份
#配置SSL服务器端策略,引用PKI域,并开启验证客户端功能。
[Device-ssl-server-policy-ssl]client-verifyenable
(5)配置SSLVPN业务,为用户提供SSLVPN接入服务
#创建SSLVPN客户端地址池,用于为IP接入客户端分配IP地址。
#创建ACL,用于对IP接入流量进行过滤。
#配置SSLVPN访问实例,使用证书认证方式验证用户身份,并为用户提供SSLVPNIP接入服务。
[Device-sslvpn-context-ctxip]gatewaygw
[Device-sslvpn-context-ctxip]certificate-authenticationenable
(6)配置SSLVPN用户,用于访问SSLVPN网关
Server上需要配置到达网段10.1.1.0/24的路由。
#在Device上查看SSLVPN访问实例状态,可见SSLVPN访问实例ctxip处于Up状态。
Certificateauthentication:Enabled
(2)在Host上安装USBKey
从管理员处获取制作好的USBKey安装到Host,USBKey的制作方法请参见本文附录。
图1-32证书选择界面
图1-34iNode客户端
#单击密码输入框右侧的<选择客户端证书>按钮,选择USBKey中的客户端证书,单击<确定>按钮,如下图所示。
图1-35选择证书
在管理员PC上制作USBKey的流程如下:
(1)配置管理员PC的IP地址、网关,保证PC到达CA服务器的路由可达。本文以Windows2008server作为CA服务器举例,组网图如下图所示。
图1-37制作USBKey组网图
(2)申请USBKey客户端证书。
图1-38证书申请页面
#单击<申请证书>按钮,跳转页面如下图所示。
图1-39证书申请页面
#单击<高级证书申请>按钮,在跳转的页面选择<创建并向此CA提交一个申请>,申请客户端证书,参数配置如下图所示。
图1-40申请客户端证书
#其余选用默认配置,单击页面最下方的<提交>按钮,提交客户端证书申请。
图1-41安装客户端证书到USBKey
#单击<安装此证书>,潜在的脚本冲突单击<是>,客户端证书会直接安装到USBKey中,如下图所示。
图1-42USBKey客户端证书
至此,USBKey制作完毕。
关于此典型配置举例的具体内容,请参见“安全配置指导”中的“用户身份识别与管理”。
不同款型规格的资料略有差异,详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!