目前我发现 1.10 版本里 sslv3 是无法启用的,当然这个还是比较合理的 即使我在 cipher 里加了 DES-CBC3-SHA,也没禁用 3DES ,但是 XP 下的 IE8 还是无法正常握手,提示版本过低 查了下发现这个算法会导致 BEAST attack ,但是 nginx 官方文档里似乎并没说较新的版本里默认 disable 了这个算法。 换句话说,是否用了 1.10 以上版本的 nginx 就只能放弃 XP IE8 的用户了?
目前我发现 1.10 版本里 sslv3 是无法启用的,当然这个还是比较合理的 即使我在 cipher 里加了 DES-CBC3-SHA,也没禁用 3DES ,但是 XP 下的 IE8 还是无法正常握手,提示版本过低 查了下发现这个算法会导致 BEAST attack ,但是 nginx 官方文档里似乎并没说较新的版本里默认 disable 了这个算法。 换句话说,是否用了 1.10 以上版本的 nginx 就只能放弃 XP IE8 的用户了?
1
sunflyer Apr 16, 2017
这个应该和编译使用的 openssl 有关
|
2
longxboy Apr 16, 2017 via Android
试试看 dockerhub 里面的 nginx-apline 镜像,默认版本的 openssl 确实有问题
|
3
Infernalzero OP @sunflyer 这个我确认过,使用的 openssl 的 cipher 里是包含 DES-CBC3-SHA 的
|
4
sunflyer Apr 16, 2017
@Infernalzero 你要确定是 Nginx 编译用的那个版本里面包含。
|
5
Hardrain Apr 16, 2017 你用的是 OpenSSL 1.0.2k?
这个版本默认移除了对 3DES 和 RC4 加密套件的支持(前者是因为 SWEET32 攻击),除非添加编译参数 enable-weak-ssl-ciphers 重新编译 Nginx 且不使用系统的 OpenSSL 添加如下编译参数 --with-openssl=/path/to/openssl/source \ --with-openssl-opt=enable-weak-ssl-ciphers \ nginx -V 获取其余的编译参数,照抄即可. |
6
wanderer Apr 16, 2017
XP IE 还是用 RC4 吧, CBC 系列的最好禁用了吧......
|
7
wanderer Apr 16, 2017 XP 版本的 IE 8 只支持 SSLv3 和 TLS 1.0 的 Cipher Suite ,另外 nginx 自 1.9.1 开始默认不会开启 SSLv3, 所以你不妨贴下你 nginx ssl_protocols ssl_ciphers 以及 IE 8 中的配置,我猜测可能是浏览器没有开启对 TLS 1.0 的支持, nginx 没有开启对 SSLv3 的支持,所以提示「版本过低」!
解决方案及建议 : 1 ) 打开 XP IE 8 中的 TLS 1.0 的支持,同时确保 nginx 中的 ssl_protocols 开启对 tls1.0 的支持 2) 对 XP 下的 IE 用户尽量用 RC4 去代替 CBC 希望能帮到你哈 |