技术解析

nginx1.10 以上版本是不是无法启用 DES-CBC3-SHA?
0
2021-05-21 01:15:14
idczone

目前我发现 1.10 版本里 sslv3 抗投诉服务器是无法启用的,当然这个还是比较合理的 即使我在 cipher 里加了 DES-CBC3-SHA,也没禁用 3DES ,但是 XP 下的 IE8 还是无法正常握手,提示版本过低 查了下发现这个算法会导致 BEAST attack ,但是 nginx 官方文档里似乎并没说较新的版本里默认 disable 了这个算法。 换句话说,是否用了 1.10 以上版本的 nginx 就只能放弃 XP IE8 的用户了?


这个应该和编译使用的 openssl 有关

试试看 dockerhub 里面的 nginx-apline 镜像,默认版本的 openssl 确实有问题

这个我确认过,使用的 openssl 的 cipher 里是包含 DES-CBC3-SHA 的

你要确定是 Nginx 编译用的那个版本里面包含。

你用的是 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 获取其余的编译参数,照抄即可.

XP IE 还是用 RC4 吧, CBC 系列的最好禁用了吧......

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

希望能帮到你哈

RC4 已经被视为不安全算法了,参考 Lucky13 attack

那你和 CBC 的坑对比下,就知道 XP + IE 用户使用 RC4 的好处了 :) 在都不安全的情况下,肯定是要权衡下的。

其实最好的情况不是直接拒绝 xp 用户嘛(逃)

同意 我的网站都已经拒绝 哈哈

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服