Cisco经典文档

当前位置: 首页Cisco经典文档Windows7 无法打开ASA SSL VPN 首页


Windows7 无法打开ASA SSL VPN 首页

            

 

                                                       文档下载:

注:此文档为中文原创,故无英文版


目录

背景
硬件及软件要求
网络拓扑
问题描述
故障处理
结论
 


背景

随着windows 7 操作系统的普及,伴随着新功能出现的同时,一些与其它厂商的兼容性问题也就出现了,下面我们就来讲述一个Cisco ASA 防火墙SSL VPN 与 windows7 的兼容性实际案例。

硬件及软件要求

SSLVPN 客户端: Windows XP SP2 with IE6 ,Windows7 with IE8
SSL VPN 服务器端: ASA5500 8.x with 3DES license

网络拓扑

问题描述

客户反映Windows7 无法打开ASA SSL VPN 登陆页面 ,如图4.1 。 但WindowsXP 一切正常,如图4.2。

图4.1.

图4.2.

故障处理

出现此类问题时,我建议用户首先收集log 文件来找到蛛丝马迹,这也是我们处理问题解决问题的很好的敲门砖。

ciscoasa(config)#logging buffered debugging “ 将日志级别调成debugging 级别。”
ciscoasa(config)#logging buffer-size 1048576 “将日志buffer 容量扩大,已缓存更多的信息。”
ciscoasa(config)#logging on

此时让客户重新尝试用windows7 登陆ASA SSL VPN 首页,通过日志我们可以看到如下信息,请注意我将关键信息用粗体字标出

ciscoasa(config)#show log
%ASA-6-302013: Built inbound TCP connection 3 for outside:72.163.226.242/59371 (
72.163.226.242/59371) to identity:72.163.226.159/443 (72.163.226.159/443)
%ASA-6-725001: Starting SSL handshake with client outside:72.163.226.242/58911 for TLSv1 session.
%ASA-7-725010: Device supports the following 1 cipher(s).
%ASA-7-725011: Cipher[1] : DES-CBC-SHA
%ASA-7-725008: SSL client outside:72.163.226.242/58911 proposes the following 8 cipher(s).
%ASA-7-725011: Cipher[1] : AES128-SHA
%ASA-7-725011: Cipher[2] : AES256-SHA
%ASA-7-725011: Cipher[3] : RC4-SHA
%ASA-7-725011: Cipher[4] : DES-CBC3-SHA
%ASA-7-725011: Cipher[5] : DHE-DSS-AES128-SHA
%ASA-7-725011: Cipher[6] : DHE-DSS-AES256-SHA
%ASA-7-725011: Cipher[7] : EDH-DSS-DES-CBC3-SHA
%ASA-7-725011: Cipher[8] : RC4-MD5
%ASA-7-725014: SSL lib error. Function: SSL3_GET_CLIENT_HELLO Reason: no shared cipher
%ASA-6-302014: Teardown TCP connection 77 for outside:72.163.226.242/58911 
to identity:72.163.226.159/443 duration 0:00:00 bytes 7 TCP Reset-I

同过以上信息我们可以注意到SSL 的加密算法的协商在ASA与Windows7 之间出现了不匹配。

下面我们需要通过show ssl 命令来确定ASA SSL 加密算法情况。通过下面的输出信息我们看到,只有DES-SHA1 加密算法被开启,而其它加密算法均已关闭。我将关键字用粗体字标出。

ciscoasa# show ssl
Accept connections using SSLv2, SSLv3 or TLSv1 and negotiate to SSLv3 or TLSv1
Start connections using SSLv3 and negotiate to SSLv3 or TLSv1
Enabled cipher order: des-sha1
Disabled ciphers: 3des-sha1 rc4-md5 rc4-sha1 aes128-sha1 aes256-sha1 null-sha1
--omitted--

到此时我们似乎已经有点眉目了,还记得吗?客户还曾经反映过WindowsXP 是没有任何问题的,那么我们让客户在用WindowsXP 登陆以下SSL VPN首页。我们再次收集一下日志。我将重点用粗体字标出。

ciscoasa#show log 
%ASA-6-725001: Starting SSL handshake with client outside:72.163.226.170/4301 fo
r TLSv1 session.
%ASA-7-725010: Device supports the following 1 cipher(s).
%ASA-7-725011: Cipher[1] : DES-CBC-SHA
%ASA-7-725008: SSL client outside:72.163.226.170/4301 proposes the following 8 c
ipher(s).
%ASA-7-725011: Cipher[1] : RC4-MD5
%ASA-7-725011: Cipher[2] : RC4-SHA
%ASA-7-725011: Cipher[3] : DES-CBC3-SHA
%ASA-7-725011: Cipher[4] : DES-CBC-SHA
%ASA-7-725011: Cipher[5] : EXP-RC4-MD5
%ASA-7-725011: Cipher[6] : EXP-RC2-CBC-MD5
%ASA-7-725011: Cipher[7] : EDH-DSS-DES-CBC3-SHA
%ASA-7-725011: Cipher[8] : EDH-DSS-DES-CBC-SHA
%ASA-7-725012: Device chooses cipher : DES-CBC-SHA for the SSL session with clie
nt outside:72.163.226.170/4301
%ASA-6-725002: Device completed SSL handshake with client outside:72.163.226.170
/4300

目前问题根源已经明确,在协商SSL 加密算法的过程中, ASA SSL加密组只接受DES 加密, 承载了IE8 的Windows7 关闭了DES SSL加密。而承载IE6 的WindowsXP 是打开SSL DES加密的。

到目前为止我们知道了问题的根源,那么我们就开始解决它:

我们要知道SSL 加密组在ASA上是可定制的,具体命令是 ssl encryption

ciscoasa(config)# ssl  encryption ?

configure mode commands/options:
  3des-sha1    Indicate use of 3des-sha1 for ssl encryption
  aes128-sha1  Indicate use of aes128-sha1 for ssl encryption
  aes256-sha1  Indicate use of aes256-sha1 for ssl encryption
  des-sha1     Indicate use of des-sha1 for ssl encryption
  null-sha1    Indicate use of null-sha1 for ssl encryption (NOTE: Data is NOT
               encrypted if this cipher is chosen)
  rc4-md5      Indicate use of rc4-md5 for ssl encryption
  rc4-sha1     Indicate use of rc4-sha1 for ssl encryption

既然有这个命令那么我们就看看客户到底定制了哪个SSL加密组:

ciscoasa(config)# show run ssl
ssl encryption des-sha1

果然如此,客户手工制定了SSL加密组在ASA ,Ok 我们就制定一组IE8 支持的加密组吧

ciscoasa(config)# ssl encryption aes128-sha1
ciscoasa(config)# show ssl
Accept connections using SSLv2, SSLv3 or TLSv1 and negotiate to SSLv3 or TLSv1
Start connections using SSLv3 and negotiate to SSLv3 or TLSv1
Enabled cipher order: aes128-sha1
Disabled ciphers: 3des-sha1 des-sha1 rc4-md5 rc4-sha1 aes256-sha1 null-sha1
--omitted--

再让客户用Windows7 /IE8 尝试登陆一次ASA SSL VPN首页 。 成功登陆,问题解决。 让我们看看日志的体现:

%ASA-6-725001: Starting SSL handshake with client outside:72.163.226.242/61132 f
or TLSv1 session.
%ASA-7-725010: Device supports the following 1 cipher(s).
%ASA-7-725011: Cipher[1] : AES128-SHA
%ASA-7-725008: SSL client outside:72.163.226.242/61132 proposes the following 8
cipher(s).
%ASA-7-725011: Cipher[1] : AES128-SHA
%ASA-7-725011: Cipher[2] : AES256-SHA
%ASA-7-725011: Cipher[3] : RC4-SHA
%ASA-7-725011: Cipher[4] : DES-CBC3-SHA
%ASA-7-725011: Cipher[5] : DHE-DSS-AES128-SHA
%ASA-7-725011: Cipher[6] : DHE-DSS-AES256-SHA
%ASA-7-725011: Cipher[7] : EDH-DSS-DES-CBC3-SHA
%ASA-7-725011: Cipher[8] : RC4-MD5
%ASA-7-725012: Device chooses cipher : AES128-SHA for the SSL session with clien
t outside:72.163.226.242/61132
%ASA-6-725002: Device completed SSL handshake with client outside:72.163.226.242
/61132

在这里我要提一下ASA上SSL encryption 这条命令,默认情况下不需要刻意指定加密组,加密组会ASA 会去尝试匹配任何一个它支持的加密组,这是很多朋友没有注意的问题

关于此命令的更详细信息请参见以下连接:

http://www.cisco.com/en/US/docs/security/asa/asa80/command/reference/s8.html#wp1406272

结论

在承载了IE8 的Windows7中SSL加密组对于DES是关闭的,而在承载IE6 的WindowsXP中此SSL加密标准是开启的,而客户在ASA上人为限定了SSL 加密组只接受DES协商,这才导致了此次故障的发生。将ASA SSL 加密组设置为IE8 支持的SSL加密标准将可以解决此问题。

 

 

 

注:本人能力有限,如遇不足之处,还请指正!

China-CCIE  QQ交流群:106155045   点击与作者QQ交谈