ASA防火墙设置SSL VPN.docx
《ASA防火墙设置SSL VPN.docx》由会员分享,可在线阅读,更多相关《ASA防火墙设置SSL VPN.docx(23页珍藏版)》请在冰豆网上搜索。
![ASA防火墙设置SSL VPN.docx](https://file1.bdocx.com/fileroot1/2023-2/25/2df47138-0ff5-4600-9f43-dbd9ddba0c16/2df47138-0ff5-4600-9f43-dbd9ddba0c161.gif)
ASA防火墙设置SSLVPN
SSLVPN:
在做实验之前让咱们先来明白一下
现在市场上VPN产品许多,并且技术各异,就比如传统的IPSecVPN来讲,SSL能让公司完成更多远程用户在不一样地点接入,完成更多网络资源访问,且对客户端装备要求低,因而降低了配置和运转支撑本钱。
许多企业用户采用SSLVPN作为远程安全接入技术,首要看重的是其接入控制功用。
SSLVPN提供加强的远程安全接入功用。
IPSecVPN议决在两站点间树立隧道提供直接(非代理方式)接入,完成对整个网络的透明访问;一旦隧道树立,用户PC就好像物理地处于企业LAN中。
这带来许多安全风险,尤其是在接入用户权限过大的情况下。
SSLVPN提供安全、可代理衔接,只需经认证的用户才干对资源执行访问,这就安全多了。
SSLVPN能对加密隧道执行细分,从而使得终端用户能够同时接入Internet和访问内部企业网资源,也就是说它具有可控功用。
另外,SSLVPN还能细化接入控制功用,易于将不一样访问权限赋予不一样用户,完成伸缩性访问;这种准确的接入控制功用对远程接入IPSecVPN来说几乎是不能够完成的。
SSLVPN基本上不受接入位置限定,能够从众多Internet接入装备、任何远程位置访问网络资源。
SSLVPN通讯基于规范TCP/UDP协议传输,因而能遍历一切NAT装备、基于代理的防火墙和形态检测防火墙。
这使得用户能够从任何地点接入,无论是处于其他公司网络中基于代理的防火墙之后,或是宽带衔接中。
IPSecVPN在稍庞杂的网络结构中难于完成,由于它很难完成防火墙和NAT遍历,没力处理IP地址冲突。
另外,SSLVPN能完成从可维护企业装备或非维护装备接入,如家用PC或公共Internet接入场所,而IPSecVPN客户端只好从可维护或固定装备接入。
随着远程接入需求的不时增长,远程接入IPSecVPN在访问控制方面遭到极大挑衅,并且维护和运转支撑本钱较高,它是完成点对点衔接的最好处理方案,但要完成恣意位置的远程安全接入,SSLVPN要理想得多。
SSLVPN不须要庞杂的客户端支撑,这就易于安装和配置,清楚降低本钱。
IPSecVPN须要在远程终端用户一方安装特定装备,以树立安全隧道,并且许多情况下在外部(或非企业控制)装备中树立隧道相当难处。
另外,这类庞杂的客户端难于晋级,对新用户来说面对的费事能够更多,如系统运转支撑疑问、时间开支疑问、维护疑问等。
IPSec处理方案原始本钱较低,但运转支撑本钱高。
如今,已有SSL开发商能提供网络层支持,执行网络运用访问,就好像远程机器处于LAN中一样;同时提供运用层接入,执行Web运用和许多客户端/服务器运用访问。
明白了上述基本要素之后,下面咱们将开端实验:
1,ASA的基本配置:
Archasa(config)#inte0/0
Archasa(config-if)#ipadd192.168.0.1255.255.255.0
Archasa(config-if)#nameifoutside
Archasa(config-if)#noshut
Archasa(config-if)#exit
Archasa(config)#inte0/1
Archasa(config-if)#ipadd172.20.59.10255.255.255.0
Archasa(config-if)#nameifinside
Archasa(config-if)#noshut
Archasa(config-if)#exit
Archasa(config)#webvpn
Archasa(config-webvpn)#enableoutside
Archasa(config-webvpn)#svcimagedisk0:
/sslclient-win-1.1.2.169.pkg
Archasa(config-webvpn)#svcenable
#上述配置是在外网口上启动WEBVPN,并同时启动SSLVPN功用
2、SSLVPN配置预备任务
#树立SSLVPN用户地址池
Archasa(config)#iplocalpoolssl-user10.10.10.1-10.10.10.50
#配置SSLVPN数据流不做NAT翻译
Archasa(config)#access-listgo-vpnpermitip172.20.50.0255.255.255.010.10.10.0255.255.255.0
Archasa(config)#nat(inside)0access-listgo-vpn
3、WEBVPN隧道组与战略组的配置
#树立名为mysslvpn-group-policy的组战略
Archasa(config)#group-policymysslvpn-group-policyinternal
Archasa(config)#group-policymysslvpn-group-policyattributes
Archasa(config-group-policy)#vpn-tunnel-protocolwebvpn
Archasa(config-group-policy)#webvpn
#在组战略中启用SSLVPN
Archasa(config-group-webvpn)#svcenable
Archasa(config-group-webvpn)#exit
Archasa(config-group-policy)#exit
Archasa(config)#
#树立SSLVPN用户
Archasa(config-webvpn)#usernametestpasswordwoaicisco
#把mysslvpn-group-plicy战略赋予用户test
Archasa(config)#usernametestattributes
Archasa(config-username)#vpn-group-policymysslvpn-group-policy
Archasa(config-username)#exit
Archasa(config)#tunnel-groupmysslvpn-grouptypewebvpn
Archasa(config)#tunnel-groupmysslvpn-groupgeneral-attributes
#运用用户地址池
Archasa(config-tunnel-general)#address-poolssl-user
Archasa(config-tunnel-general)#exit
Archasa(config)#tunnel-groupmysslvpn-groupwebvpn-attributes
Archasa(config-tunnel-webvpn)#group-aliasgroup2enable
Archasa(config-tunnel-webvpn)#exit
Archasa(config)#webvpn
Archasa(config-webvpn)#tunnel-group-listenable
4、配置SSLVPN隧道分别
#留意,SSLVPN隧道分别是可选取的,可依据理论需求来做。
#这里的源地址是ASA的INSIDE地址,目标地址一直是ANY
Archasa(config)#access-listsplit-sslextendedpermitip10.10.1.0255.255.255.0any
Archasa(config)#group-policymysslvpn-group-policyattributes
Archasa(config-group-policy)#split-tunnel-policytunnelspecified
Archasa(config-group-policy)#split-tunnel-network-listvaluesplit-ssl
基本上整个配置就完成了,下面能够执行测试:
在浏览器中输入
https:
//192.168.0.1
访问WEBVPN,在随后弹出的对话框中输入用户名和密码单击登陆。
这时系统会弹出要求安装SSLVPNCLIENT顺序,单击“YES”,系统自动安装并衔接SSLVPN,在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)#fqdn
CISCOASA(config-ca-trustpoint)#subject-nameCN=
CISCOASA(config-ca-trustpoint)#keypairsslvpnkeypair
CISCOASA(config-ca-trustpoint)#cryptocaenrolllocaltrustnoconfirm
%Thefully-qualifieddomainnameinthecertificatewillbe:
CISCOASA(config)#ssltrust-pointlocaltrustoutside
第二步:
将SSLVPN客户端映象上传到ASA
用户可以从思科的网站()获得客户端映象。
在选择要下载哪个映象给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上面没有安装