我们在最佳实践文章中建议大家如何去配置协议和密码套件,但是如果服务器软件(nginx、apache等)所使用的ssl协议库存在SSL漏洞,或者不支持那些现代化的密码套件和特性,那么无论你如何去修改配置都无法改善现在的安全问题。
所以我们在配置前,或者发现按照推荐配置进行了调整《SSL/TLS安全评估报告》还是无法满足要求,那么可以检查下所使用的OpenSSL等加密库是否版本过低。
如何检查OpenSSL版本
nginx
nginx -V
nginx version: nginx/1.10.2
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-4) (GCC)
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
或者通过openssl命令查看(适用于非自己通过openssl源码编译的)
openssl version
推荐的OpenSSL版本
- OpenSSL 1.0.2用户需更新到1.0.2h 以上。
- OpenSSL 1.0.1用户需更新到1.0.1t 以上。
- OpenSSL官方已停止对 0.9.8和 1.0.0 两个版本的升级维护,请使用这两个版本的用户将其升级至1.0.2h版本以上。
OpenSSL 1.0.1以下不支持tls1.2
升级前请做好测试
漏洞事件
https://www.trustasia.com/openssl-heartbleed
OpenSSL 1.0.1g 已修复该漏洞
OpenSSL 1.0.0 分支版本不受此漏洞影响
OpenSSL 0.9.8 分支版本不受此漏洞影响
OpenSSL 1.0.2 Beta2 不受此漏洞影响
Heartbleed检测工具>>
https://www.trustasia.com/OpenSSL-DROWN-attack
OpenSSL 1.0.1h+
OpenSSL 1.0.0m+
OpenSSL 0.9.8za+
https://www.trustasia.com/OpenSSL-CVE-2016-2107-Padding-Oracle
1、OpenSSL 1.0.2用户需更新到1.0.2h 。
2、OpenSSL 1.0.1用户需更新到1.0.1t 。
3、使用包管理系统的用户可以直接更新到2016年5月3日 之后的版本。
CBC padding oracle检测 检测工具>>
OpenSSL CCS漏洞
此漏洞是 OpenSSL ChangeCipherSpec 设计缺陷造成,被称为 CCS 注入漏洞。
https://www.trustasia.com/openssl-ccs
OpenSSL 1.1.0 应升级到 1.1.0a 或更高版本。
OpenSSL 1.0.2 应升级到 1.0.2i 或更高版本。
OpenSSL 1.0.1 应升级到 1.0.1u 或更高版本。
注意:
OpenSSL官方已停止对 0.9.8和 1.0.0 两个版本的升级维护,请使用这两个版本的用户将其升级至更高版本。