实验环境如拓朴图如下:
![防火墙](http://myarticle.enet.com.cn/images/2011/0512/1305187646119.jpg)
SSL VPN :
在做实验之前让我们先来了解一下
目前市场上VPN 产品很多,而且技术各异,就比如传统的IPSec VPN来讲, SSL能让公司实现更多远程用户在不同地点接入,实现更多网络资源访问,且对客户端设备要求低,因而降低了配置和运行支撑成本。很多企业用户 采纳SSL VPN作为远程安全接入技术,主要看重的是其接入控制功能。
SSL VPN 提供增强的远程安全接入功能。 IPSec VPN 通过在两站点间创建隧道提供直接(非代理方式)接入,实现对整个网络的透明访问;一旦隧道创建,用户PC 就如同物理地处于企业LAN 中。这带来很多安全风险,尤其是在接入用户权限过大的情况下。
SSLVPN 提供安全、可代理连接,只有经认证的用户才能对资源进行访问,这就安全多了。 SSLVPN 能对加密隧道进行细分,从而使得终端用户能够同时接入 Internet 和访问内部企业网资源,也就是说它具备可控功能。另外,SSLVPN 还能细化接入控制功能,易于将不同访问权限赋予不同用户,实现伸缩性访问;这种精确的接入控制功能对远程接入IPSec VPN 来说几乎是不可能实现的。
SSL VPN 基本上不受接入位置限制,可以从众多 Internet 接入设备、任何远程位置访问网络资源。SSLVPN 通信基于标准 TCP/UDP 协议传输,因而能遍历所有NAT设备、基于代理的防火墙和状态检测防火墙。这使得用户能够从任何地方接入,无论是处于其他公司网络中基于代理的防火墙之 后,或是宽带连接中。IPSec VPN 在稍复杂的网络结构中难于实现,因为它很难实现防火墙和NAT遍历,无力解决IP地址冲突。
另外,SSLVPN能实现从可管理企业设备或非管理设备接入,如家用PC或公共Internet 接入场所,而IPSec VPN 客户端只能从可管理或固定设备接入。随着远程接入需求的不断增长,远程接入IPSec VPN 在访问控制方面受到极大挑战,而且管理和运行支撑成本较高,它是实现点对点连接的最佳解决方案,但要实现任意位置的远程安全接入,SSLVPN 要理想得多。
SSL VPN 不需要复杂的客户端支撑,这就易于安装和配置,明显降低成本。IPSec VPN 需要在远程终端用户一方安装特定设备,以建立安全隧道,而且很多情况下在外部(或非企业控制)设备中建立隧道相当困难。另外,这类复杂的客户端难于升级, 对新用户来说面临的麻烦可能更多,如系统运行支撑问题、时间开销问题、管理问题等。 IPSec 解决方案初始成本较低,但运行支撑成本高。
如今,已有 SSL 开发商能提供网络层支持,进行网络应用访问,就如同远程机器处于 LAN 中一样;同时提供应用层接入,进行 Web 应用和许多客户端/服务器应用访问。了解了上述基本因素之后,下面我们将开始实验:
1,ASA 的基本配置:
Archasa(config)# int e0/0
Archasa(config-if)# ip add 192.168.0.1 255.255.255.0
Archasa(config-if)# nameif outside
Archasa(config-if)# no shut
Archasa(config-if)# exit
Archasa(config)# int e0/1
Archasa(config-if)# ip add 172.20.59.10 255.255.255.0
Archasa(config-if)# nameif inside
Archasa(config-if)# no shut
Archasa(config-if)# exit
Archasa(config)# webvpn
Archasa(config-webvpn)# enable outside
Archasa(config-webvpn)# svc image disk0:/sslclient-win-1.1.2.169.pkg
Archasa(config-webvpn)# svc enable
#上述配置是在外网口上启动WEBVPN ,并同时启动SSL VPN 功能
2、SSL VPN 配置准备工作
#创建SSL VPN 用户地址池
Archasa(config)# ip local pool ssl-user 10.10.10.1-10.10.10.50
#配置SSL VPN 数据流不做NAT翻译
Archasa(config)# access-list go-vpn permit ip 172.20.50.0 255.255.255.0 10.10.10.0 255.255.255.0
Archasa(config)# nat (inside) 0 access-list go-vpn
3、WEB VPN 隧道组与策略组的配置
#创建名为mysslvpn-group-policy 的组策略
Archasa(config)# group-policy mysslvpn-group-policy internal
Archasa(config)# group-policy mysslvpn-group-policy attributes
Archasa(config-group-policy)# vpn-tunnel-protocol webvpn
Archasa(config-group-policy)# webvpn
#在组策略中启用SSL VPN
Archasa(config-group-webvpn)# svc enable
Archasa(config-group-webvpn)# exit
Archasa(config-group-policy)# exit
Archasa(config)#
#创建SSL VPN 用户
Archasa(config-webvpn)# username test password woaicisco
#把mysslvpn-group-plicy 策略赋予用户test
Archasa(config)# username test attributes
Archasa(config-username)# vpn-group-policy mysslvpn-group-policy
Archasa(config-username)# exit
Archasa(config)# tunnel-group mysslvpn-group type webvpn
Archasa(config)# tunnel-group mysslvpn-group general-attributes
#使用用户地址池
Archasa(config-tunnel-general)# address-pool ssl-user
Archasa(config-tunnel-general)# exit
Archasa(config)# tunnel-group mysslvpn-group webvpn-attributes
Archasa(config-tunnel-webvpn)# group-alias group2 enable
Archasa(config-tunnel-webvpn)# exit
Archasa(config)# webvpn
Archasa(config-webvpn)# tunnel-group-list enable
4、配置SSL VPN 隧道分离
#注意,SSL VPN 隧道分离是可选取的,可根据实际需求来做。
#这里的源地址是ASA 的INSIDE 地址,目标地址始终是ANY
Archasa(config)# access-list split-ssl extended permit ip 10.10.1.0 255.255.255.0 any
Archasa(config)# group-policy mysslvpn-group-policy attributes
Archasa(config-group-policy)# split-tunnel-policy tunnelspecified
Archasa(config-group-policy)# split-tunnel-network-list value split-ssl
基本上整个配置就完成了,下面可以进行测试:在浏览器中输入
https://192.168.0.1
访问WEBVPN,在随后弹出的对话框中输入用户名和密码单击登陆。这时系统会弹出要求安装SSL VPN CLIENT 程序,单击“YES”,系统自动安装并连接SSLVPN ,在SSLVPN 连通之后在您的右下角的任务栏上会出现一个小钥匙状,你可以双击打开查看其状态。