目前市场上×××产品很多,而且技术各异,就比如传统的 IPSec ××× 来讲, SSL 能让公司实现更多远程用户在不同地点接入,实现更多网络资源访问,且对客户端设备要求低,因而降低了配置和运行支撑成本。很多企业用户采纳 SSL ××× 作为远程安全接入技术,主要看重的是其接入控制功能。
      SSL ××× 提供增强的远程安全接入功能。 IPSec ××× 通过在两站点间创建隧道提供直接(非代理方式)接入,实现对整个网络的透明访问;一旦隧道创建,用户 PC 就如同物理地处于企业 LAN 中。这带来很多安全风险,尤其是在接入用户权限过大的情况下。 SSL ××× 提供安全、可代理连接,只有经认证的用户才能对资源进行访问,这就安全多了。 SSL ××× 能对加密隧道进行细分,从而使得终端用户能够同时接入 Internet 和访问内部企业网资源,也就是说它具备可控功能。另外, SSL ××× 还能细化接入控制功能,易于将不同访问权限赋予不同用户,实现伸缩性访问;这种精确的接入控制功能对远程接入 IPSec ××× 来说几乎是不可能实现的。
      SSL ××× 基本上不受接入位置限制,可以从众多 Internet 接入设备、任何远程位置访问网络资源。 SSL ××× 通信基于标准 TCP/UDP 协议传输,因而能遍历所有 NAT 设备、基于代理的防火墙和状态检测防火墙。这使得用户能够从任何地方接入,无论是处于其他公司网络中基于代理的防火墙之后,或是宽带连接中。 IPSec ××× 在稍复杂的网络结构中难于实现,因为它很难实现防火墙和 NAT 遍历,无力解决 IP 地址冲突。另外, SSL ××× 能实现从可管理企业设备或非管理设备接入,如家用 PC 或公共 Internet 接入场所,而 IPSec ××× 客户端只能从可管理或固定设备接入。随着远程接入需求的不断增长,远程接入 IPSec ××× 在访问控制方面受到极大挑战,而且管理和运行支撑成本较高,它是实现点对点连接的最佳解决方案,但要实现任意位置的远程安全接入, SSL ××× 要理想得多。
      SSL ××× 不需要复杂的客户端支撑,这就易于安装和配置,明显降低成本。 IPSec ××× 需要在远程终端用户一方安装特定设备,以建立安全隧道,而且很多情况下在外部(或非企业控制)设备中建立隧道相当困难。另外,这类复杂的客户端难于升级,对新用户来说面临的麻烦可能更多,如系统运行支撑问题、时间开销问题、管理问题等。 IPSec 解决方案初始成本较低,但运行支撑成本高。如今,已有 SSL 开发商能提供网络层支持,进行网络应用访问,就如同远程机器处于 LAN 中一样;同时提供应用层接入,进行 Web 应用和许多客户端 / 服务器应用访问。

了解了上述基本因素之后,下面我们将开始实验:

第一步,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)# web***

Archasa(config-web***)# enable outside

Archasa(config-web***)# svc image disk0:/sslclient-win-1.1.2.169.pkg

Archasa(config-web***)# svc enable

#上述配置是在外网口上启动WEB×××,并同时启动SSL ×××功能

2、SSL ×××配置准备工作

#创建SSL ×××用户地址池

Archasa(config)# ip local pool ssl-user 10.10.10.1-10.10.10.50

#配置SSL ×××数据流不做NAT翻译

Archasa(config)# access-list go-*** 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-***

3、WEB ×××隧道组与策略组的配置

#创建名为myssl***-group-policy的组策略

Archasa(config)# group-policy myssl***-group-policy internal

Archasa(config)# group-policy myssl***-group-policy attributes

Archasa(config-group-policy)# ***-tunnel-protocol web***

Archasa(config-group-policy)# web***

#在组策略中启用SSL ×××

Archasa(config-group-web***)# svc enable

Archasa(config-group-web***)# exit

Archasa(config-group-policy)# exit

Archasa(config)# 

#创建SSL ×××用户

Archasa(config-web***)# username test password woaicisco

#把myssl***-group-plicy策略赋予用户test

Archasa(config)# username test attributes

Archasa(config-username)# ***-group-policy myssl***-group-policy

Archasa(config-username)# exit

Archasa(config)# tunnel-group myssl***-group type web***

Archasa(config)# tunnel-group myssl***-group general-attributes

#使用用户地址池

Archasa(config-tunnel-general)# address-pool ssl-user

Archasa(config-tunnel-general)# exit

Archasa(config)# tunnel-group myssl***-group web***-attributes

Archasa(config-tunnel-web***)# group-alias group2 enable  

Archasa(config-tunnel-web***)# exit

Archasa(config)# web***

Archasa(config-web***)# tunnel-group-list enable

4、配置SSL ×××隧道分离

#注意,SSL ×××隧道分离是可选取的,可根据实际需求来做。

#这里的源地址是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 myssl***-group-policy attributes

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

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

基本上整个配置就完成了,下面可以进行测试:

在浏览器中输入[url]https://192.168.0.1[/url]访问WEB ×××,在随后弹出的对话框中输入用户名和密码单击登陆。

这时系统会弹出要求安装SSL ××× CLIENT程序,单击“YES”,系统自动安装并连接SSL×××,在SSL×××连通之后在您的右下角的任务栏上会出现一个小钥匙状,你可以双击打开查看其状态。