最近在 Cisco ASA 5505 上配置了 SSL ×××,配置挺顺利,用 ASDM 的向导就可以搞定。但是,遇到了一个棘手问题,在 Windows 7 上的用户不能访问 ××× 网站,连页面都打不开。而在 Windows XP 上的 IE 7IE 8 访问都没问题,不过 Firefox 也不能访问。开始以为是数字证书有问题,折腾了很久也没搞定,查了一下资料,感觉是加密算法的问题。今天终于找到了两篇文章,解决了我的疑难。顺便鄙视一下百度,找点技术资料太难了,还是谷歌强大,不过有时还得用用 IPv6,不然那墙会碍事。

    Windows7 无法打开ASA SSL ××× 首页》详细分析了为什么 Windows 7 上的用户不能访问 SSL ××× 网站。我也在 ASA 上打开了 LOG,然后用 Windows 7 访问 ××× 网站。

     日志记录如下:
%ASA-6-302014: Teardown TCP connection 36 for outside:58.XXX.XXX.XXX/50756 to identity:58.YYY.YYY.YYY/443

duration 1:11:27 bytes 2933271 TCP Reset-O
%ASA-6-725007: SSL session with client outside:58.XXX.XXX.XXX/50756 terminated.
%ASA-6-302013: Built inbound TCP connection 332 for outside:58.XXX.XXX.XXX/47719 (58.XXX.XXX.XXX/47719)

to identity:58.YYY.YYY.YYY/443 (58.YYY.YYY.YYY/443)
%ASA-6-302013: Built inbound TCP connection 333 for outside:58.XXX.XXX.XXX/54483 (58.XXX.XXX.XXX/54483)

to identity:58.YYY.YYY.YYY/443 (58.YYY.YYY.YYY/443)
%ASA-6-725001: Starting SSL handshake with client outside:58.XXX.XXX.XXX/47719 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:58.XXX.XXX.XXX/47719 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 指定 Windows 7 支持的加密算法,命令为:ssl encryption 加密算法,如:ssl encryption aes128-sha1

    但另一个问题又出现了,因为 ASA 的版本是 K8,不支持 3DES/AES 的加密,上述命令不能生效。

    彷徨时,转机出现,思科中文技术社区的一个帖子救了我。版主指点可在思科网站的该网址 https://tools.cisco.com/SWIFT/Licensing/PrivateRegistrationServlet?FormId=139 免费升级 Cisco ASA 5500 系列的 3DES/AES 加密的 licenseactivation key

输入 show version 命令,获取设备的序列号,填好思科网站里的表格,之后自动授权系统会进行处理,成功后就能在注册的邮箱里收到“Your ASA 3DES License Key”这封信。

接下来输入 activation-key <40位的16进制激活码> 命令,系统提示
Validating activation key. This may take a few minutes...
Both Running and Flash permanent activation key was updated with the requested key.
保存后重启设备。

    升级成功后,设备版本应该显示:
×××-DES            : Enabled        perpetual
×××-3DES-AES : Enabled        perpetual

    现在再输入 ssl encryption aes128-sha1 命令就没有问题了。成功后,测试 Windows 7 + IE 9 SSL ××× 访问,都正常。

    搞定了 ASA 5505,顺便把另一台 ASA 5540 也升级了。

参考资料:

1、《Windows7 无法打开ASA SSL ××× 首页》,http://china-ccie.com/doc/Win7-SSL-×××/Win7-SSL-×××_chs.html

2、《Anyconnect2.3XP下成功的和ASA8.2建立×××连接,在VISTAWin7连接ASA就失败。》,http://bbs.cisco-club.com.cn/viewthread.php?tid=628