从概念角度来说,SSL VPN即指采用SSL (Security Socket Layer)协议来实现远程接入的一种新型VPN技术。SSL协议是网景公司提出的基于WEB应用的安全协议,它包括:服务器认证、客户认证(可选)、SSL链路上的数据完整性和SSL链路上的数据保密性。对于内、外部应用来说,使用SSL可保证信息的真实性、完整性和保密性。目前SSL 协议被广泛应用于各种浏览器应用,也可以应用于Outlook等使用TCP协议传输数据的C/S应用。正因为SSL 协议被内置于IE等浏览器中,使用SSL 协议进行认证和数据加密的SSL VPN就可以免于安装客户端。相对于传统的IPSEC VPN而言,SSL VPN具有部署简单,无客户端,维护成本低,网络适应强等特点,这两种类型的VPN之间的差别就类似C/S构架和B/S构架的区别。
一般而言,SSL VPN必须满足最基本的两个要求:
1. 使用SSL 协议进行认证和加密;没有采用SSL 协议的VPN产品自然不能称为SSL VPN,其安全性也需要进一步考证。
2. 直接使用浏览器完成操作,无需安装独立的客户端;即使使用了SSL 协议,但仍然需要分发和安装独立的VPN客户端 (如Open VPN)不能称为SSL VPN,否则就失去了SSL VPN易于部署,免维护的优点了。
SSL VPN实验:
以下是ASA防火墙的基本配置和SSL VPN的配置过程:
基本配置:
ASA(config)#int e0/0
ASA(config-if)#ip add 172.16.3.205 255.255.255.0
ASA(config-if)#nameif outside
ASA(config-if)#no shut
ASA(config-if)#int e0/1
ASA(config-if)#ip add 10.10.1.1 255.255.255.0
ASA(config-if)#nameif inside
ASA(config-if)#no shut
!
ASA#copy tftp disk0
Address or name of remote host []? 172.16.3.74
Source filename []? sslclient-win-1.1.4.177.pkg
Destination filename []? sslclient-win-1.1.4.177.pkg回车
!
通过TFTP服务器将sslvpn客户端文件(可以上管网下载)上传到防火墙
ASA(config)#webvpn
ASA(config-webvpn)#enable outside
ASA(config-webvpn)#svc image disk0:/sslclient-win-1.1.4.177.pkg
ASA(config-webvpn)#svc enable
!
在外接口上启动WebVPN,并且启动SVC(Ssl Vpn Client)
SSL VPN配置:
ASA(config)#ip local pool ssl-user 192.168.10.1-192.168.10.99
创建SSL VPN用户地址池
ASA(config)#access-list go-vpn permit ip 10.10.1.0 255.255.255.0 192.168.10.0
255.255.255.0
ASA(config)#nat (inside) 0 access-list go-vpn
设置SSL VPN数据不作NAT翻译
ASA(config)#group-policy mysslvpn-group-policy internal
创建名为mysslvpn-group-policy的组策略,策略类型为internal
ASA(config)#group-policy mysslvpn-group-policy attributes
ASA(config-group-policy)#vpn-tunnel-protocol webvpn
ASA(config-group-policy)#webvpn
ASA(config-group-webvpn)#svc enable
在组策略中启SVC
ASA(config)#username test01 password cisco
ASA(config)#username test01 attributes
ASA(config-username)#vpn-group mysslvpn-group-policy
将mysslvpn-group-policy策略赋予用户test01
ASA(config)#tunnel-group mysslvpn-group type webvpn
ASA(config)#tunnel-group mysslvpn-group general-attributes
ASA(config-tunnel-general)#address-pool ssl-user
建立mysslvpn-group隧道组,类型为webvpn,并在组中应用用户地址池ssl-user
ASA(config-tunnel-general)#tunnel-group mysslvpn-group webvpn-attributes
ASA(config-tunnel-webvpn)#group-alias groups enable
ASA(config-tunnel-webvpn)#webvpn
ASA(config-webvpn)#tunnel-group-list enable
在隧道组mysslvpn-group中启用组列表选择功能
ASA(config)#access-list split-ssl extended permit ip 10.10.1.0 255.255.255.0 any
注意:源地址为ASA的内网口地址,目标地址始终为ANY
ASA(config)#group-policy mysslvpn-group-policy attributes
ASA(config-group-policy)#split-tunnel-policy tunnelspecified
ASA(config-group-policy)#split-tunnel-network-list value split-ssl
配置隧道分离,使用户在连接VPN的同时能继续访问原来的网络。