图解cisco asa防火墙ssl vpn的配置.docx
《图解cisco asa防火墙ssl vpn的配置.docx》由会员分享,可在线阅读,更多相关《图解cisco asa防火墙ssl vpn的配置.docx(15页珍藏版)》请在冰点文库上搜索。
图解ciscoasa防火墙sslvpn的配置
图解CiscoASA防火墙SSLVPN的配置(图)
随着现在互联网的飞速发展,企业规模也越来越大,一些分支企业、在外办公以及SOHO一族们,需要随时随地的接入到我们企业的网络中,来完成我们一些日常的工作,这时我们VPN在这里就成了一个比较重要的一个角色了。
SSLVPN设备有很多。
如Cisco路由器、CiscoPIX防火墙、CiscoASA防火墙、CiscoVPN3002硬件客户端或软件客户端。
这极简化了远程端管理和配置。
说的简单点就是在Server端配置复杂的策略和密钥管理等命令,而在我们的客户端上只要配置很简单的几条命令就能和Server端建立VPN链路的一种技术,主要的目的当然就是简化远端设备的配置和管理。
那么今天我们看看我们要实现的是SSLVPN,那什么是SSLVPN呢?
SSLVPN是解决远程用户访问敏感公司数据最简单最安全的解决技术。
与复杂的IPSecVPN相比,SSL通过简单易用的方法实现信息远程连通。
任何安装浏览器的机器都可以使用SSLVPN,这是因为SSL嵌在浏览器中,它不需要象传统IPSecVPN一样必须为每一台客户机安装客户端软件。
什么是SSLVPN?
从概念角度来说,SSLVPN即指采用SSL(SecuritySocketLayer)协议来实现远程接入的一种新型VPN技术。
SSL协议是网景公司提出的基于WEB应用的安全协议,它包括:
服务器认证、客户认证(可选)、SSL链路上的数据完整性和SSL链路上的数据性。
对于、外部应用来说,使用SSL可保证信息的真实性、完整性和性。
目前SSL协议被广泛应用于各种浏览器应用,也可以应用于Outlook等使用TCP协议传输数据的C/S应用。
正因为SSL协议被置于IE等浏览器中,使用SSL协议进行认证和数据加密的SSLVPN就可以免于安装客户端。
相对于传统的IPSECVPN而言,SSLVPN具有部署简单,无客户端,维护成本低,网络适应强等特点,这两种类型的VPN之间的差别就类似C/S构架和B/S构架的区别。
一般而言,SSLVPN必须满足最基本的两个要求:
1.使用SSL协议进行认证和加密;没有采用SSL协议的VPN产品自然不能称为SSLVPN,其安全性也需要进一步考证。
2.直接使用浏览器完成操作,无需安装独立的客户端;即使使用了SSL协议,但仍然需要分发和安装独立的VPN客户端(如OpenVPN)不能称为SSLVPN,否则就失去了SSLVPN易于部署,免维护的优点了。
SSLVPN的特点
SSLVPN的客户端程序,如MicrosoftInternetExplorer、NetscapeCommunicator、Mozilla等已经预装在了终端设备中,因此不需要再次安装;
SSLVPN可在NAT代理装置上以透明模式工作;
SSLVPN不会受到安装在客户端与服务器之间的防火墙等NAT设备的影响,穿透能力强;
SSLVPN将远程安全接入延伸到IPSecVPN扩展不到的地方,使更多的员工,在更多的地方,使用更多的设备,安全访问到更多的企业网络资源,同时降低了部署和支持费用;客户端安全检查和授权访问等操作,实现起来更加方便。
SSLVPN可以在任何地点,利用任何设备,连接到相应的网络资源上。
IPSecVPN通常不能支持复杂的网络,这是因为它们需要克服穿透防火墙、IP地址冲突等困难。
所以IPSecVPN实际上只适用于易于管理的或者位置固定的地方。
可以说从功能上讲,SSLVPN是企业远程安全接入的最佳选择。
但是虽然SSLVPN具有以上众多的优点,却由于SSL协议本身的局限性,使得性能远低于使用IPSec协议的设备。
用户往往需要在简便使用与性能之间进行痛苦选择。
这也是第二代VPN始终无法取代第一代VPN的原因。
SSLVPN的优点
1、方便。
实施sslvpn之需要安装配置好中心网关即可。
其余的客户端是免安装的,因此,实施工期很短,如果网络条件具备,连安装带调试,1-2天即可投入运营。
2、容易维护。
sslvpn维护起来简单,出现问题,就维护网关就可以了。
实在不行,换一台,如果有双机备份的话,备份机器启动就可以了。
3、安全。
sslvpn是一个安全协议,数据全程加密传输的。
另外,由于ssl网关隔离了部服务器和客户端,只留下一个web浏览接口,客户端的大多数病毒木马感染不倒部服务器。
而ipsecvpn就不一样,实现的是ip级别的访问,远程网络和本地网络几乎没有区别。
局域网能够传播的病毒,通过vpn一样能够传播。
那么我们也了解了这么多了,我们来看看如何配置它呢?
第一步:
配置书
在这里我们生成一个名为sslvpnkeypair的自签名证书,并将这个自答名证书应用在“outside”接口上面。
默认情况下,我们的安全设备每次重新启动以后,都全重新生成我们的证书,这个证书我们也可以从厂商购买自己的证书,这个证书即使我们的网络设备重启了它仍然存在。
//生成一个RSA密钥的证书,该名称是是唯一的。
CISCOASA(config)#cryptokeygeneratersalabelsslvpnkeypair
INFO:
Thenameforthekeyswillbe:
sslvpnkeypair
Keypairgenerationprocessbegin.Pleasewait...
//建立一个自我信任点颁发的证书
CISCOASA(config)#cryptocatrustpointlocaltrust
CISCOASA(config-ca-trustpoint)#enrollmentself
CISCOASA(config-ca-trustpoint)#fqdnsslvpn.cisco.
CISCOASA(config-ca-trustpoint)#subject-nameCN=sslvpn.cisco.
CISCOASA(config-ca-trustpoint)#keypairsslvpnkeypair
CISCOASA(config-ca-trustpoint)#cryptocaenrolllocaltrustnoconfirm
%Thefully-qualifieddomainnameinthecertificatewillbe:
sslvpn.cisco.
CISCOASA(config)#ssltrust-pointlocaltrustoutside
第二步:
将SSLVPN客户端映象上传到ASA
用户可以从思科的(cisco.)获得客户端映象。
在选择要下载哪个映象给TFTP服务器时,记住你需要为用户所使用的每种操作系统下载单独的映象。
在选择并下载客户端软件后,就可以将其TFTP到ASA。
如果没有的话,我可以提供一个给大家测试用用。
CISCOASA(config)#copytftp:
//192.168.1.50/sslclient-win-1.1.3.173.pkgflash
在将文件上传到ASA之后,配置一下这个文件,使其可用作WebVPN会话.注意,如果你有多个客户端,就应当配置最常用的客户,使其拥有最高的优先权。
在本文中,我们将仅使用一个客户端并为其设置优先权为1:
CISCOASA(config)#webvpn
CISCOASA(config-webvpn)#svcimagedisk0:
/sslclient-win-1.1.3.173.pkg1
INFO:
Imagedoesnotcontainhead-endconfiguration.
第三步:
启用SSLVPN访问
如何不启用的话,那么我们输入网址将打不开该SSLVPN的页面。
CISCOASA(config-webvpn)#enableoutside
CISCOASA(config-webvpn)#svcenable
CISCOASA(config-webvpn)#exit
第四步:
建立SSLVPN拨号地址池
远程访问客户端需要在登录期间分配一个IP地址,所以我们还需要为这些客户端建立一个DHCP地址池,不过如果你有DHCP服务器,还可以使用DHCP服务器。
CISCOASA(config)#iplocalpoolSSLClientPool192.168.10.1-192.168.10.100mask255.255.255.0
第五步:
创建组策略
组策略用于指定应用于所连接客户端的参数。
在本文中,我们将创建一个称之为SSLCLientPolicy的组策略。
CISCOASA(config)#group-policySSLCLientPolicyinternal
CISCOASA(config)#group-policySSLCLientPolicyattributes
CISCOASA(config-group-policy)#dns-servervalue61.139.2.69
CISCOASA(config-group-policy)#vpn-tunnel-protocolsvc
CISCOASA(config-group-policy)#default-domainvaluetsweb.local
CISCOASA(config-group-policy)#address-poolsvalueSSLClientPool
CISCOASA(config-group-policy)#exit
第六步:
配置访问列表旁路
通过使用sysoptconnect命令,我们告诉ASA准许SSL/IPsec客户端绕过接口的访问列表
CISCOASA(config)#sysoptconnectionpermit-vpn
第七步:
创建连接配置文件和隧道组
在远程访问客户端连接到ASA时,也就连接到了connectionprofile连接配置文件,也称为隧道组。
我们将用这个隧道组来定义其使用的特定连接参数。
在本文中,我们将配置这些远程访问客户端使用CiscoSSLVPN客户端,不过,你还可以配置隧道组使用IPsec、L2L等。
首先,创建隧道组SSL客户端:
CISCOASA(config)#tunnel-groupSSLClientProfiletyperemote-access
下一步就是给这个SSLVPN隧道分配特定的属性
CISCOASA(config)#tunnel-groupSSLClientProfilegeneral-attributes
CISCOASA(config-tunnel-general)#default-group-policySSLCLientPolicy
CISCOASA(config-tunnel-general)#tunnel-groupSSLClientProfilewebvpn-attributes
CISCOASA(config-tunnel-webvpn)#group-aliasSSLVPNClientenable
CISCOASA(config-tunnel-webvpn)#exit
在上在group-alias后面的SSLVPNClient这个就是我们在登陆页面提示进行登录时看见的组。
(如下图:
)
第八步:
将隧道组列表在webvpn中开启
开启之后,在我们登录的时候才会有“GROUP”,如果没有开启的话,在上图就没有“GROUP”这个列表。
CISCOASA(config)#webvpn
CISCOASA(config-webvpn)#tunnel-group-listenable
CISCOASA(config-webvpn)#exit
第九步:
配置NAT免除
现在,我们需要告诉ASA不要对远程访问客户端和要访问的部网络之间的通信进行网络地址转换
(NAT)。
首先,我们要创建一个可定义通信的访问列表,然后,我们将此列表用于接口的NAT语句:
CISCOASA(config)#access-listinside_nat0_outboundextendedpermitip10.0.0.0255.0.0.0192.168.10.0255.255.255.0
CISCOASA(config)#nat(inside)0access-listinside_nat0_outbound
第十步:
配置用户账户
现在我们已经为配置用户账户做好了准备。
在此,我们要创建一个用户并且将此用户指派给我们的SSLVPN:
CISCOASA(config)#usernameliutypasswordyjtfpddc
CISCOASA(config)#usernameliutyattributes
CISCOASA(config-username)#service-typeremote-access
CISCOASA(config-username)#exit
第十一步:
保存
CISCOASA(config)#writememory
好了,上面设置就差不多了。
那么我们现在打开来试试看。
打开IE浏览器输入https:
//xxx.xxx.xxx.xxx/如果你的是IP地址那么XXX就输入IP地址,如果有域名就输入域名。
打开以后,会出现一个安全警报,这里直接点击“是”。
打开我们的SSLVPN界面如下:
从上图我们可以看见,在login下面选择我们SSLVPN的组,再输入组下面的用户名及密码。
来进行登录。
当我们用户名及密码认证成功以后,就会进入下面这个页面,进行activeX下载及安装。
在这里如果你的计算机安装了JAVA虚拟机的话会提示出来窗口。
并且JAVA虚拟机会自动帮你下载及安装。
因为我们站点名称与我们开始生成的证书的名称不一致导致的,这里不用管它,直接点击“是”这时候我们的JAVA虚拟机就会自动来帮我们下载及安装。
如果我们的PC上面没有安装JAVA虚拟机的话,我们就需要自己手动安装一下,安装图片如下:
当我们安装完CiscoSSLVPNClient以后,会自动给我们连接。
在我们连接的时候会提示我们安装证书,如下图:
这里我们点击“是”来进行证书的安装。
点击“安装证书”进入“证书安装向导”
点击“下一步”,进入“证书存储”
而我们这里就使用默认值“根据证书类型,自动选择证书存储区”,然后点击“下一步”进入“正在完成证书导入向导”
点击“完成”,证书导入成功。
这里他提示说我们安装的证书在我们VPN证书服务器上面没有找到。
所以所示错误,这里不用管他,直接点击“是”。
就开始我们SSLVPN的连接。
当连接成功以后,SSLVPNCLINETforWEBVPN就会自动消息。
而在我们通知区域会显示一把点钥匙。
而只要当我SSLVPN一连成功以后,我的QQ以及飞信就立刻掉线了。
如下图:
这时我们可以点击右键看看他的一些状态信息。
右击小钥匙,我们可以看见有四个选项,我们这里选择“Statistics”查看状态信息。
如下图:
从上图我们可以看见,其实这个界面与我们CiscoVPNClient软件的状态信息都差不多。
从上图我们可以看见Server端的IP地址,以及Client所分配得到的IP地址。
在这里我们还可以看见一些SSL的信息。
下面我们再来看看RouteDetails。
从这里我们可以看见,我们所有的数据都走向我们SSLVPN服务端去了。
所以我们现在就只能访问SSLVPN服务端的网络了。
但是我自己这边的网络以及互联网都不能访问,这样我们就非常不方便。
那么我们如何来解决这个问题呢?
我们在这里就必须使用隧道分离技术了。
那么下面我们来看看隧道分离如何配置呢?
CISCOASA(config)#access-listvpnclient_splitTunnelAclstandardpermit10.0.0.0255.0.0.0
CISCOASA(config)#group-policySSLCLientPolicyattributes
CISCOASA(config-group-policy)#split-tunnel-policytunnelspecified
CISCOASA(config-group-policy)#split-tunnel-network-listvaluevpnclient_splitTunnelAcl
CISCOASA(config-group-policy)#exit
当我们将这几条隧道分离设置好了以后呢,我们再拨号上来看看我们的路由状态表。
我们从上面就可以看见,只有去往10.0.0.0/8这个网段的才走我们的SSLVPN,而其他数据还是走我这边默认的网络出去,这样即不影响办公,又不影响我们正常使用网络。