1、引入
字面上看,SSL VPN由两部分组成,分别是SSL和VPN。SSL为Secure Sockets Layer,安全套接字层,是一个安全协议,为基于TCP的应用层协议提供安全连接(如HTTP和HTTPS的关系)。VPN即Virtual Private Network,虚拟专用网络,一般用于在公共网络上建立专用网络,进行加密通讯。VPN一般通过对数据包的加密和数据包目的地址的转换实现远程访问。
SSL VPN是以SSL为基础的VPN技术,通过建立SSL连接来实现访问转发。它充分利用了SSL协议提供的基于证书的身份认证、数据加密和完整性验证机制,为员工访问企业内网提供了一种安全的验证机制。相比于其他常用的VPN,如GRE VPN、L2TP VPN和IPSec VPN等,有着使用方便、数据安全、访问资源易控制等优势,被广泛应用于企业的远程接入。
2、SSL VPN工作机制
SSL VPN服务通过SSL VPN网关来提供。SSL VPN网关位于远端接入用户和企业内部网络之间,负责在二者之间转发报文。管理员需要在SSL VPN网关上创建与企业网内服务器对应的资源。
SSL VPN网关与远端接入用户建立SSL连接,并对接入用户进行身份认证。远端接入用户的访问请求只有通过SSL VPN网关的安全检查和认证后,才会被SSL VPN网关转发到企业网络内部,从而实现对企业内部资源的保护。
图1.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连接将其转发给用户。
SSL VPN可以提供三种资源接入方式,分别为Web接入方式、TCP接入方式和IP接入方式。本文主要围绕IP接入方式进行展开验证。
3、IP接入方式介绍
IP接入方式用来实现远程主机与企业内部服务器网络层之间的安全通信,进而实现所有基于IP的远程主机与服务器的互通,如在远程主机上ping内网服务器。
用户通过IP接入方式访问内网服务器前,需要安装专用的IP接入客户端软件,该客户端软件会在SSL VPN客户端上安装一个虚拟网卡。
IP接入方式下,管理员在SSL VPN网关上创建SSL VPN AC接口,并配置下发给SSL VPN客户端的路由表项。
如图2所示,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接口将其发送给客户端。
图2.IP接入方式的工作过程
4、IP接入方式配置实现
4.1 网关设备配置
实验设备:F1060,版本:CMW7.1-R9323P13
# interface SSLVPN-AC11 ip address 111.1.1.1 255.255.255.0 # security-zone name Management import interface GigabitEthernet2/0/0 import interface SSLVPN-AC11 # sslvpn ip address-pool admit 111.1.1.100 111.1.1.200 # pki domain guotiejun public-key rsa general name guotiejun undo crl check enable pki import domain guotiejun pem ca filename 2003_server.cer pki import domain guotiejun p12 local filename 2003_local.pfx Please input the password:(密码1) # ssl server-policy guotiejun pki-domain guotiejun # sslvpn gateway guotiejun ip address 172.2.215.104 port 18157 ssl server-policy guotiejun service enable # sslvpn context guotiejun gateway guotiejun ip-tunnel interface SSLVPN-AC11 ip-tunnel address-pool admit mask 255.255.255.0 ip-route-list guotiejun include 100.1.12.0 255.255.255.0 policy-group guotiejun filter ip-tunnel acl 3333 ip-tunnel access-route ip-route-list guotiejun default-policy-group guotiejun service enable # user-group admit authorization-attribute sslvpn-policy-group guotiejun # local-user guotiejun class network password simple guotiejun service-type sslvpn group admit authorization-attribute user-role network-operator
4.2 定制客户端
定制客户端时配置默认网关。
配置认证类型为local,身份校验模式为密码认证。
4.3 安装并验证基础功能
定制完成之后在PC上进行安装。
首先查看没有连接VPN时的路由信息。
点击查询网关信息,验证基础配置正确性。
查询成功,输入登录信息(guotiejun/guotiejun)进行登录。
在“控制面板→网络和Internet→网络连接”进行查看,可以看到网络连接中已经新创建了一个虚拟网卡。
查看网卡地址信息,已经从address-pool获取到了111.1.1.100的地址。
查看路由表项,多了指向虚拟网卡的同网段路由和网关下发的资源路由。