HTTPS 安全最佳实践(三)之服务器nginx,OpenSSL

我们在最佳实践文章中建议大家如何去配置协议和密码套件,但是如果服务器软件(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版本

  1. OpenSSL 1.0.2用户需更新到1.0.2h 以上。
  2. OpenSSL 1.0.1用户需更新到1.0.1t 以上。
  3. 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 CCS 检测工具>>

注意:

OpenSSL官方已停止对 0.9.8和 1.0.0 两个版本的升级维护,请使用这两个版本的用户将其升级至更高版本。