转载自:https://www.h3c.com/cn/d_202209/1692437_30005_0.htm https://www.h3c.com/cn/d_202301/1761539_30005_0.htm#_Toc124888393
理论简介
1.概述
SSL VPN以SSL(Secure Sockets Layer,安全套接字层)为基础提供远程的安全连接服务。用户可通过互联网,使用内嵌SSL协议的浏览器与远端的Web服务器建立安全的连接,访问内部资源。
企业或机构可通过SSL VPN来为移动用户或者外部客户提供访问内部资源的服务并保证安全性
2.SSLVPN工作机制

SSL VPN服务通过SSL VPN网关来提供。SSL VPN网关位于远端接入用户和企业内部网络之间,负责在二者之间转发报文。管理员需要在SSL VPN网关上创建与企业网内服务器对应的资源。
SSL VPN网关与远端接入用户建立SSL连接,并对接入用户进行身份认证。远端接入用户的访问请求只有通过SSL VPN网关的安全检查和认证后,才会被SSL VPN网关转发到企业网络内部,从而实现对企业内部资源的保护。
如图所示,SSL VPN的工作机制为:
1)远程接入用户与SSL VPN网关建立HTTPS连接,通过SSL提供的基于证书的身份验证功能,SSL VPN网关和远程接入用户可以验证彼此的身份。
2)远程接入用户输入用户名、密码等身份信息,SSL VPN网关对用户的身份进行认证,并对用户可以访问的资源进行授权。
3)用户获取到可以访问的资源,通过SSL连接将访问请求发送给SSL VPN网关。
4)SSL VPN网关将资源访问请求转发给企业网内的服务器。
5)SSL VPN网关接收到服务器的应答后,通过SSL连接将其转发给用户。
3.SSLVPN设备的两种工作模式
1)网关模式
在网关模式中,SSL VPN网关直接作为网关设备连接用户和内网服务器,所有流量将通过SSL VPN网关进行转发。网关模式可以提供对内网的完全保护,但是由于SSL VPN网关处在内网与外网通信的关键路径上,
其性能对内外网之间的数据传输有很大的影响。
2)单臂模式(旁路)
在单臂模式中,SSL VPN网关不作为网关设备。用户访问内网服务器时,流量将先由网关设备转发到SSL VPN网关,经SSL VPN网关处理后再转发到网关设备,由网关设备转发到内网服务器。
在单臂模式中,SSL VPN网关不处在网络通信的关键路径上,其性能不会影响内外网的通信。但是这种组网使得SSL VPN网关不能全面地保护企业内部的网络资源。
4.SSLVPN的接入方式
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连接将其转发给用户浏览器。
2)TCP接入
TCP接入方式是指用户对企业内部服务器开放端口的安全访问。通过TCP接入方式,用户可以访问任意基于TCP的服务,包括远程访问服务(如Telnet)、桌面共享服务、电子邮件服务以及其他使用固定端口的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客户端。
5.SSLVPN用户认证
用户名、密码认证;证书认证;用户名、密码认证与证书认证;短信认证
TCP接入配置举例(缺省证书)
1.组网需求
Device为SSLVPN网关设备,连接公网用户和企业私有网络。用户通过Device可以通过IP接入方式安全地访问私有网络内的Server。Device采用本地认证和授权方式对用户进行认证和授权。
2.配置步骤
1)配置SSL VPN网关
# 配置SSL VPN网关gw的IP地址为1.1.1.2,端口号为4430。 [Device] sslvpn gateway gw [Device-sslvpn-gateway-gw] ip address 1.1.1.2 port 4430 [Device-sslvpn-gateway-gw] service enable
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
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 # 引用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 # 开启SSL VPN访问实例ctxip。 [Device-sslvpn-context-ctxip] service enable # 创建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
5) 配置SSL VPN用户
# 创建本地SSL VPN用户sslvpn,密码为123456TESTplat&!,用户角色为network-operator,授权用户的SSL VPN策略组为resourcegrp。 [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 resourcegrp
3.验证配置
# 在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: ctx Operation state: Up AAA domain: Not specified Certificate authentication: Disabled Password authentication:Enabled Authentication use: All Code verification: Disabled Default policy group: Not configured Associated SSL VPN gateway: gw SSL client policy configured: ssl SSL client policy in use: ssl Maximum users allowed: 1048575 VPN instance: Not configured Idle timeout: 30 min Denied client types: Browsers
# 在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
浙公网安备 33010602011771号