OpenSSL心血漏洞(Heartbleed)修复方案
概述
OpenSSL 心血(HeartBleed)漏洞 是openssl 在 2014-04-07 公布的重大安全漏洞(CVE-2014-0160)这个漏洞使攻击者能够从服务器内存中读取64 KB的数据,甚至获取到加密流量的密钥,用户的名字和密码,以及访问的内容。
主要影响版本 OpenSSL 1.0.1 到 OpenSSL 1.0.1f 以及 OpenSSL 1.0.2 Beta1
不受此漏洞影响的 OpenSSL版本信息:
- OpenSSL 1.0.1g 已修复该漏洞
- OpenSSL 1.0.0 分支版本不受此漏洞影响
- OpenSSL 0.9.8 分支版本不受此漏洞影响
- OpenSSL 1.0.2 Beta2 不受此漏洞影响
确认站点是否存在此漏洞
- 可以直接利用在线工具检测 https 站点是否存在此漏洞(快捷、准确)。
- 查看提供加密服务的OpenSSL版本是否在受影响的版本范围 ( 1.0.1—1.0.1f / 1.0.2 Beta1 )
操作系统openssl版本查看:
命令:openssl version
结果:OpenSSL 1.0.0-fips 29 Mar 2010
nginx openssl版本查看:
命令: nginx –V
结果:
nginx version: nginx/1.5.13
built by gcc 4.4.6 20120305 (Red Hat 4.4.6-4) (GCC)
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx-1.5.13 --with-select_module --with-http_ssl_module --with-openssl=/home/user/openssl-1.0.1g --with-http_spdy_module --with-pcre=/home/user/pcre-8.33 --with-zlib=/home/user/zlib-1.2.8
windows Apache openssl版本查看:
命令:D:\httpd-2.4.7-x64\Apache24\bin>openssl version
结果:
WARNING: can't open config file: /apache24/conf/openssl.cnf
OpenSSL 1.0.1e 11 Feb 2013
修复方案
Openssl:
升级OpenSSL 1.0.1g
Nginx:
官方在 2014-04-08 发布了最新版本 1.5.13 修复了此漏洞请升级至最新版本
Apache:
建议下载最新版本 openssl 和 Apache 重新编译安装。
其他受影响的WebServer:
建议到官方更新不受此漏洞影响的版本。
漏洞分析
OpenSSL 是 Apache 和 nginx 网络服务器的默认安全协议,此外大量操作系统、电子邮件和即时通讯系统也采用OpenSSL加密用户数据 通讯。而此次发现的bug已经存在两年之久,这意味着攻击者可以利用该bug获取大量互联网服务器与用户之间的数字证书私钥,从而获取用户账户密码等敏感 数据。由于攻击者不会在服务器日志中留下痕迹,因此网站系统管理员将无法得知系统漏洞是否已经被黑客利用,也无从得知用户数据和账号是否已经被黑客扫描获
OpenSSL已经发布了1.0.1g修正bug,Debian发行版也在半小时修复了bug,Fedora发布了一个权宜的修正方案。 该bug是在2011年引入到OpenSSL中,使用OpenSSL 0.9.8的发行版不受影响,但Debian Wheezy、Ubuntu 12.04.4、 Centos 6.5、Fedora 18、SuSE 12.2、OpenBSD 5.4、FreeBSD 8.4和NetBSD 5.0.2之后的版本都受到影响。如果你运行存在该bug的系统,那么最好废除所有密钥。