图解Cisco ASA防火墙SSL VPN的配置()
安全中国 www.anqn
更新时间:2010-01-16 00:38:08
责任编辑:池天
点:
随着现在互联网的飞速发展,企业规模也越来越大,一些分支企业、在外办公以及SOHO一族们,需要随时随地的接入到我们企业的网络中,来完成我们一些日常的工作,这时我们VPN在这里就成了一个比较重要的一个角了。
SSL VPN设备有很多。如Cisco 路由器、Cisco PIX防火墙、Cisco ASA 防火墙、Cisco VPN3002 硬件客户端或软件客户端。这极大地简化了远程端管理和配置。说的简单点就是在Server 端配置复杂的策略和密钥管理等命令,而在我们的客户端上只要配置很简单的几条命令就能和Server端建立VPN链路的一种技术,主要的目的当然就是简化远端设备的配置和管理。
那么今天我们看看我们要实现的是SSL VPN,那什么是SSL VPN呢?
SSL VPN是解决远程用户访问敏感公司数据最简单最安全的解决技术。与复杂的IPSec VPN相比,SSL通过简单易用的方法实现信息远程连通。任何安装浏览器的机器都可以使用SSL VPN 这是因为SSL 内嵌在浏览器中,它不需要象传统IPSec VPN一样必须为每一台客户机安装客户端软件。
什么是SSL VPN
从概念角度来说,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的特点
SSL VPN的客户端程序,如Microsoft Internet ExplorerNetscape CommunicatorMozilla等已经预装在了终端设备中,因此不需要再次安装;
SSL VPN可在NAT代理装置上以透明模式工作;
SSL VPN不会受到安装在客户端与服务器之间的防火墙等NAT设备的影响,穿透能力强;
SSL VPN将远程安全接入延伸到IPSec VPN扩展不到的地方,使更多的员工,在更多的地方,使用更多的设备,安全访问到更多的企业网络资源,同时降低了部署和支持费用; 客户端安全检查和授权访问等操作,实现起来更加方便。
SSL VPN可以在任何地点,利用任何设备,连接到相应的网络资源上。IPSec VPN通常不能支持复杂的网络,这是因为它们需要克服穿透防火墙、IP地址冲突等困难。所以IPSec VPN实际上只适用于易于管理的或者位置固定的地方。可以说从功能上讲,SSL VPN是企业远程安全接入的最佳选择。
但是虽然SSL VPN具有以上众多的优点,却由于SSL协议本身的局限性,使得性能远低于使用IPSec协议的设备。用户往往需要在简便使用与性能之间进行痛苦选择。这也是第二代VPN始终无法取代第一代VPN的原因。
SSL VPN的优点
1、方便。实施ssl vpn之需要安装配置好中心网关即可。其余的客户端是免安装的,因此,实施工期很短,如果网络条件具备,连安装带调试,1-2天即可投入运营。
2、容易维护。ssl vpn 维护起来简单,出现问题,就维护网关就可以了。实在不行,换一台,如果有双机备份的话,备份机器启动就可以了。
3、安全。ssl vpn 是一个安全协议,数据全程加密传输的。另外,由于ssl网关隔离了内部服务器和客户端,只留下一个web浏览接口,客户端的大多数病毒木马感染不倒内部服务器。而ipsec vpn 就不一样,实现的是ip级别的访问,远程网络和本地网络几乎没有区别。局域网能够传播的病毒,通过vpn一样能够传播。
那么我们也了解了这么多了,我们来看看如何配置它呢?
第一步:配置身份证书
在这里我们生成一个名为sslvpnkeypair的自签名证书,并将这个自答名证书应用在outside”接口上面。默认情况下,我们的安全设备每次重新启动以后,都全重新生成我们的证书,这个证书我们也可以从厂商购买自己的证书,这个证书即使我们的网络设备重启了它仍然存在。
//生成一个RSA密钥的证书,该名称是是唯一的。
CISCOASA(config)# crypto key generate rsa label sslvpnkeypair
INFO: The name for the keys will be: sslvpnkeypair
Keypair generation process begin.
//建立一个自我信任点颁发的证书
CISCOASA(config)# crypto ca trustpoint localtrust
CISCOASA(config-ca-trustpoint)# enrollment self
CISCOASA(config-ca-trustpoint)# fqdn sslvpn.cisco
CISCOASA(config-ca-trustpoint)# subject-name CN=sslvpn.cisco
CISCOASA(config-ca-trustpoint)# keypair sslvpnkeypair
CISCOASA(config-ca-trustpoint)# crypto ca enroll localtrust noconfirm
% The fully-qualified domain name in the certificate will be: sslvpn.cisco
CISCOASA(config)# ssl trust-point localtrust outside
第二步:将SSL VPN客户端映象上传到ASA
用户可以从思科的网站(cisco)获得客户端映象。在选择要下载哪个映象给TFTP服务器时,记住你需要为用户所使用的每种操作系统下载单独的映象。在选择并下载客户端软件后,就可以将其TFTPASA。如果没有的话,我可以提供一个给大家测试用用。
CISCOASA(config)# copy tftp://192.168. 1.50/sslclient-win-1.1.3.173.pkg flash
在将文件上传到ASA之后,配置一下这个文件,使其可用作Web VPN会话.注意,如果你有多个客户端,就应当配置最常用的客户,使其拥有最高的优先权。在本文中,我们将仅使用一个客户端并为其设置优先权为1
CISCOASA(config)# webvpn
CISCOASA(config-webvpn)# svc image disk0:/sslclient-win-1.1.3.173.pkg 1
INFO: Image does not contain head-end configuration.
第三步:启用SSL VPN访问
如何不启用的话,那么我们输入网址将打不开该SSL VPN的页面。
CISCOASA(config-webvpn)# enable outside
CISCOASA(config-webvpn)# svc enable
CISCOASA(config-webvpn)# exit
第四步:建立SSL VPN拨号地址池
远程访问客户端需要在登录期间分配一个IP地址,所以我们还需要为这些客户端建立一个DHCP地址池,不过如果你有DHCP服务器,还可以使用DHCP服务器。
CISCOASA(config)# ip local pool SSLClientPool 192.168.10.1-192.168.10.100 mask 255.255.255.0
第五步:创建组策略
组策略用于指定应用于所连接客户端的参数。在本文中,我们将创建一个称之为SSLCLientPolicy的组策略。
CISCOASA(config)# group-policy SSLCLientPolicy internal
CISCOASA(config)# group-policy SSLCLientPolicy attributes
CISCOASA(config-group-policy)# dns-server value 61.139.2.69
CISCOASA(config-group-policy)# vpn-tunnel-protocol svc
CISCOASA(config-group-policy)# default-domain value tsweb.local
CISCOASA(config-group-policy)# address-pools value SSLClientPool
CISCOASA(config-group-policy)# exit
第六步:配置访问列表旁路
通过使用sysopt connect命令,我们告诉ASA准许SSL/IPsec客户端绕过接口的访问列表
CISCOASA(config)# sysopt connection permit-vpn
第七步:创建连接配置文件和隧道组
在远程访问客户端连接到ASA时,也就连接到了connection profile连接配置文件,也称为隧道组。我们将用这个隧道组来定义其使用的特定连接参数。在本文中,我们将配置这些远程访问客户端使用Cisco SSL VPN客户端,不过,你还可以配置隧道组使用IPsecL2Lssl协议未开启的危害等。
首先,创建隧道组SSL 客户端:
CISCOASA(config)# tunnel-group SSLClientProfile type remote-access
下一步就是给这个SSL VPN隧道分配特定的属性
CISCOASA(config)# tunnel-group SSLClientProfile general-attributes
CISCOASA(config-tunnel-general)# default-group-policy SSLCLientPolicy
CISCOASA(config-tunnel-general)# tunnel-group SSLClientProfile webvpn-attributes
CISCOASA(config-tunnel-webvpn)# group-alias SSLVPNClient enable
CISCOASA(config-tunnel-webvpn)# exit
在上在group-alias后面的SSLVPNClient这个就是我们在登陆页面提示进行登录时看见的组。(如下图:)
第八步:将隧道组列表在webvpn中开启
开启之后,在我们登录的时候才会有GROUP”,如果没有开启的话,在上图就没有GROUP”这个列表。
CISCOASA(config)# webvpn
CISCOASA(config-webvpn)# tunnel-group-list enable
CISCOASA(config-webvpn)# exit
第九步:配置NAT免除
现在,我们需要告诉ASA不要对远程访问客户端和要访问的内部网络之间的通信进行网络地址转换
(NAT)。首先,我们要创建一个可定义通信的访问列表,然后,我们将此列表用于接口的NAT语句:
CISCOASA(config)# access-list inside_nat0_outbound extended permit ip 10.0.0.0 255.0.0.0 192.168.10.0 255.255.255.0
CISCOASA(config)# nat (inside) 0 access-list inside_nat0_outbound
第十步:配置用户账户
现在我们已经为配置用户账户做好了准备。在此,我们要创建一个用户并且将此用户指派给我们的SSL VPN
CISCOASA(config)# username liuty password yjtfpddc
CISCOASA(config)# username liuty attributes
CISCOASA(config-username)# service-type remote-access
CISCOASA(config-username)# exit
第十一步:保存
CISCOASA(config)# write memory
好了,上面设置就差不多了。那么我们现在打开网站来试试看。
打开IE浏览器输入x/如果你的是IP地址那么XXX就输入IP地址,如果有域名就输入域名。打开以后,会出现一个安全警报,这里直接点击
打开我们的SSL VPN界面如下:
从上图我们可以看见,在login下面选择我们SSLVPN的组,再输入组下面的用户名及密码。来进行登录。
当我们用户名及密码认证成功以后,就会进入下面这个页面,进行activeX下载及安装。
在这里如果你的计算机安装了JAVA虚拟机的话会提示出来窗口。并且JAVA虚拟机会自动帮你下载及安装。
因为我们站点名称与我们开始生成的证书的名称不一致导致的,这里不用管它,直接点击这时候我们的JAVA虚拟机就会自动来帮我们下载及安装。
如果我们的PC上面没有安装JAVA虚拟机的话,我们就需要自己手动安装一下,安装图片如下:
当我们安装完Cisco SSL VPN Client以后,会自动给我们连接。
在我们连接的时候会提示我们安装证书,如下图:
这里我们点击来进行证书的安装。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。