2023年12月6日发(作者:)

-

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 处理方案原始本钱较低,但运转支撑本钱高。

. z. -

如今,已有 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)# e*it

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)# e*it

Archasa(config)# webvpn

Archasa(config-webvpn)# enable outside

Archasa(config-webvpn)# svc image disk0:/

Archasa(config-webvpn)# svc enable

#上述配置是在外网口上启动WEBVPN ,并同时启动SSL VPN 功用

. z.

-

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)# e*it

Archasa(config-group-policy)# e*it

Archasa(config)#

#树立SSL VPN 用户

Archasa(config-webvpn)# username test password woaicisco

. z.

-

#把mysslvpn-group-plicy 战略赋予用户test

Archasa(config)# username test attributes

Archasa(config-username)# vpn-group-policy mysslvpn-group-policy

Archasa(config-username)# e*it

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)# e*it

Archasa(config)# tunnel-group mysslvpn-group webvpn-attributes

Archasa(config-tunnel-webvpn)# group-alias group2 enable

Archasa(config-tunnel-webvpn)# e*it

Archasa(config)# webvpn

Archasa(config-webvpn)# tunnel-group-list enable

4、配置SSL VPN 隧道分别

#留意,SSL VPN 隧道分别是可选取的,可依据理论需求来做。

#这里的源地址是ASA 的INSIDE 地址,目标地址一直是ANY

Archasa(config)# access-list split-ssl e*tended permit ip 10.10.1.0 255.255.255.0 any

Archasa(config)# group-policy mysslvpn-group-policy attributes

. z.

-

Archasa(config-group-policy)# split-tunnel-policy tunnelspecified

Archasa(config-group-policy)# split-tunnel-network-list value split-ssl

根本上整个配置就完成了,下面能够执行测试:在浏览器中输入

s://192.168.0.1

访问WEBVPN,在随后弹出的对话框中输入用户名和密码单击登陆。这时系统会弹出要求安装SSL

VPN CLIENT 顺序,单击"YES〞,系统自动安装并衔接SSLVPN ,在SSLVPN 连通之后在您的右下角的职务栏上会呈现一个小钥匙状,你能够双击翻开检查其形态。

随着现在互联网的飞速开展,企业规模也越来越大,一些分支企业、在外办公以及SOHO一族们,需要随时随地的接入到我们企业的网络中,来完成我们一些日常的工作,这时我们VPN在这里就成了一个比拟重要的一个角色了。

SSL VPN设备有很多。如Cisco 路由器、Cisco PI*防火墙、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应用的平安协议,它包括:效劳器. z. -

认证、客户认证〔可选〕、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 E*plorer、Netscape municator、Mozilla等已经预装在了终端设备中,因此不需要再次安装;

SSL VPN可在NAT代理装置上以透明模式工作;

SSL VPN不会受到安装在客户端与效劳器之间的防火墙等NAT设备的影响,穿透能力强;

SSL VPN将远程平安接入延伸到IPSec VPN扩展不到的地方,使更多的员工,在更多的地方,使用更多的设备,平安访问到更多的企业网络资源,同时降低了部署和支持费用;客户端平安检查和授权访问等操作,实现起来更加方便。

. z. -

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〞接口上面。默认情况下,我们的平安设备每次重新启动以后,都全重新生成我们的证书,这个证书我们也可以从厂商购置自己的证书,这个证书即使我们的网络设备重启了它仍然存在。

. z. -

//生成一个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 .

CISCOASA(config-ca-trustpoint)# subject-name =.

CISCOASA(config-ca-trustpoint)# keypairsslvpnkeypair

CISCOASA(config-ca-trustpoint)# crypto ca enroll localtrust noconfirm

% The fully-qualified domain name in the certificate will be: .

CISCOASA(config)# ssl trust-point localtrust outside

第二步:将SSL VPN客户端映象上传到ASA

用户可以从思科的(cisco.)获得客户端映象。在选择要下载哪个映象给TFTP效劳器时,记住你需要为用户所使用的每种操作系统下载单独的映象。在选择并下载客户端软件后,就可以将其TFTP到ASA。如果没有的话,我可以提供一个给大家测试用用。

CISCOASA(config)# copy tftp://192.168. 1.50/ flash

在将文件上传到ASA之后,配置一下这个文件,使其可用作Web VPN会话.注意,如果你有多个客户端,就应当配置最常用的客户,使其拥有最高的优先权。在本文中,我们将仅使用一个客户端并为其设置优先权为1:

CISCOASA(config)# webvpn

CISCOASA(config-webvpn)# svc image disk0:/ 1

INFO: Image does not contain head-end configuration.

第三步:启用SSL VPN访问

如何不启用的话,则我们输入网址将打不开该SSL VPN的页面。

CISCOASA(config-webvpn)# enableoutside

CISCOASA(config-webvpn)# svcenable

CISCOASA(config-webvpn)# e*it

第四步:建立SSL VPN拨号地址池

远程访问客户端需要在登录期间分配一个IP地址,所以我们还需要为这些客户端建立一个DHCP地址池,不过如果你有DHCP效劳器,还可以使用DHCP效劳器。

. z. -

CISCOASA(config)#

第五步:创立组策略

组策略用于指定应用于所连接客户端的参数。在本文中,我们将创立一个称之为SSLCLientPolicy的组策略。

CISCOASA(config)# group-policy SSLCLientPolicy internal

CISCOASA(config)# group-policy SSLCLientPolicy attributes

CISCOASA(config-group-policy)#

CISCOASA(config-group-policy)# vpn-tunnel-protocol svc

CISCOASA(config-group-policy)# default-domain value

CISCOASA(config-group-policy)# address-pools value SSLClientPool

CISCOASA(config-group-policy)# e*it

第六步:配置访问列表旁路

通过使用sysopt connect命令,我们告诉ASA准许SSL/IPsec客户端绕过接口的访问列表

CISCOASA(config)# sysopt connection permit-vpn

第七步:创立连接配置文件和隧道组

在远程访问客户端连接到ASA时,也就连接到了connection profile连接配置文件,也称为隧道组。我们将用这个隧道组来定义其使用的特定连接参数。在本文中,我们将配置这些远程访问客户端使用Cisco SSL VPN客户端,不过,你还可以配置隧道组使用IPsec、L2L等。

首先,创立隧道组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)# e*it

在上在group-alias后面的SSLVPNClient这个就是我们在登陆页面提示进展登录时看见的组。〔如下列图:〕

第八步:将隧道组列表在webvpn中开启

. z. -

开启之后,在我们登录的时候才会有"GROUP〞,如果没有开启的话,在上图就没有"GROUP〞这个列表。

第九步:配置NAT免除

现在,我们需要告诉ASA不要对远程访问客户端和要访问的内部网络之间的通信进展网络地址转换

(NAT)。首先,我们要创立一个可定义通信的访问列表,然后,我们将此列表用于接口的NAT语句:

CISCOASA(config)#

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)# e*it

第十一步:保存

CISCOASA(config)# write memory

好了,上面设置就差不多了。则我们现在翻开来试试看。

翻开IE浏览器输入 s://***.***.***.***/如果你的是IP地址则***就输入IP地址,如果有域名就输入域名。翻开以后,会出现一个平安警报,这里直接点击"是〞。

翻开我们的SSL VPN界面如下:

从上图我们可以看见,在login下面选择我们SSLVPN的组,再输入组下面的用户名及密码。来进展登录。

当我们用户名及密码认证成功以后,就会进入下面这个页面,进展active*下载及安装。

. z. -

在这里如果你的计算机安装了JAVA虚拟机的话会提示出来窗口。并且JAVA虚拟时机自动帮你下载及安装。

因为我们站点名称与我们开场生成的证书的名称不一致导致的,这里不用管它,直接点击"是〞这时候我们的JAVA虚拟机就会自动来帮我们下载及安装。

如果我们的PC上面没有安装JAVA虚拟机的话,我们就需要自己手动安装一下,安装图片如下:

当我们安装完Cisco SSL VPN Client以后,会自动给我们连接。

在我们连接的时候会提示我们安装证书,如下列图:

这里我们点击"是〞来进展证书的安装。

点击"安装证书〞进入"证书安装向导〞

点击"下一步〞,进入"证书存储〞

而我们这里就使用默认值"根据证书类型,自动选择证书存储区〞,然后点击"下一步〞进入"正在完成证书导入向导〞

点击"完成〞,证书导入成功。

这里他提示说我们安装的证书在我们VPN证书效劳器上面没有找到。所以所示错误,这里不用管他,直接点击"是〞。就开场我们SSL VPN的连接。

当连接成功以后,SSL VPN CLINET for WEBVPN就会自动消息。而在我们通知区域会显示一把点钥匙。

而只要当我SSL VPN一连成功以后,我的QQ以及飞信就立刻掉线了。如下列图:

这时我们可以点击右键看看他的一些状态信息。

右击小钥匙,我们可以看见有四个选项,我们这里选择"Statistics〞查看状态信息。如下列图:

从上图我们可以看见,其实这个界面与我们Cisco VPN Client软件的状态信息都差不多。

. z. -

从上图我们可以看见Server端的IP地址,以及Client所分配得到的IP地址。在这里我们还可以看见一些SSL的信息。

下面我们再来看看Route Details。

从这里我们可以看见,我们所有的数据都走向我们SSL VPN效劳端去了。所以我们现在就只能访问SSL VPN效劳端的网络了。但是我自己这边的网络以及互联网都不能访问,这样我们就非常不方便。则我们如何来解决这个问题呢?我们在这里就必须使用隧道别离技术了。则下面我们来看看隧道别离如何配置呢?

CISCOASA(config)#

CISCOASA(config)# group-policy SSLCLientPolicy attributes

CISCOASA(config-group-policy)# split-tunnel-policy tunnelspecified

CISCOASA(config-group-policy)# split-tunnel-network-list value vpnclient_splitTunnelAcl

CISCOASA(config-group-policy)# e*it

当我们将这几条隧道别离设置好了以后呢,我们再拨号上来看看我们的路由状态表。

我们从上面就可以看见,只有去往这个网段的才走我们的SSL VPN,而其他数据还是走我这边默认的网络出去,这样即不影响办公,又不影响我们正常使用网络。

下面我们来测方式

. z.