CentOS修复“OpenSSL Heartbleed漏洞”方法

openssl又爆漏洞了,听所这次很严重。

检查是否存在该漏洞:

http://possible.lv/tools/hb/

OpenSSL官方发布的公告, 出现问题的版本是:
Only 1.0.1 and 1.0.2-beta releases of OpenSSL are affected including
1.0.1f and 1.0.2-beta1.

下面针对这几点分别做说明, 并在下文给出解决方案:
CentOS,默认安装的OpenSSL不在OpenSSL官方公告有安全漏洞的范围里, 默认安装OpenSSL -1.0.0-20.el6_2.5.x86_64
但是如果用户手工升级到1.0.1版本, 有可能升级为有问题的版本。
目前云平台软件源已经同步了修复版本, 可执行yum update openssl更新到最新版。

在系统上可查看相关信息
# rpm -q --changelog openssl-1.0.1e | grep CVE-2014-0160
- fix CVE-2014-0160 - information disclosure in TLS
这个表示已经修复了漏洞.

2)Ubuntu 12.4
ubuntu和centos类似, 默认安装的版本是安全的, 如果有不慎升级到漏洞版本,需要再次升级.
默认版本是libssl1.0.0, 如果升级可以执行
用户可执行
apt-get update
apt-get install libssl1.0.0 或者 apt-get upgrade(这将升级所有已安装的包,谨慎操作)

验证本机安装的版本
root@VM-40-221-ubuntu:/etc/apt# dpkg -l|grep libssl
ii libssl1.0.0 1.0.1-4ubuntu5.12 SSL shared libraries
root@VM-40-199-ubuntu:~# dpkg -s libssl1.0.0|grep ^Version
Version: 1.0.1-4ubuntu5.12
参考ubuntu官方关于此漏洞的说明
http://www.ubuntu.com/usn/usn-2165-1/

3)SuSE
使用OpenSSL 0.9.8a不存在安全问题.
4)用户自行编译的版本
这种情况下, 用户需要根据OpenSSL官方建议, 重新编译.
Affected users should upgrade to OpenSSL 1.0.1g. Users unable to immediately
upgrade can alternatively recompile OpenSSL with -DOPENSSL_NO_HEARTBEATS.

解决方案
云平台提供给开发商的虚拟机默认是安全的,如果用户不慎安装带漏洞的OpenSSL版本,需要自行升级,云平台的下载源已经提供了最新版本的安装包。
各OS升级方法方法如下:
1)SuSE 该机器上的OpenSSL不需要升级
2)CentOS原生版,6.2/6.3; 默认是安全的,如果安装有带漏洞版本,需要再升级一次到最新版本

yum install openssl

确认方法:
# rpm -q --changelog openssl-1.0.1e | grep CVE-2014-0160
- fix CVE-2014-0160 - information disclosure in TLS
3)Ubuntu12.4 默认是安全的, 如果安装有带漏洞的版本, ,需要再升级一次到最新版本
apt-get update
apt-get install libssl1.0.0
确认方法:
root@VM-40-199-ubuntu:~# dpkg -s libssl1.0.0|grep ^Version
Version: 1.0.1-4ubuntu5.12
4)如果用户是自行编译的OpenSSL,请参考OpenSSL官方公告的方法重新编译
Affected users should upgrade to OpenSSL 1.0.1g. Users unable to immediately
upgrade can alternatively recompile OpenSSL with -DOPENSSL_NO_HEARTBEATS.
解决方法二:

 yum search openssl

#返回

Updating:  
openssl                       x86_64                 1.0.1e-16.el6_5.7                   updates                 1.5 M  
Updating for dependencies:  
openssl-devel                 x86_64                 1.0.1e-16.el6_5.7                   updates                 1.2 M  

看起来版本还是比较新的,遂直接

yum update openssl -y

#然后重启nginx

/etc/init.d/nginx restart 

#测试漏洞已修复
本来想源码编译安装的,因为以上过程便已修复,就没编译,如果yum方法不行,尝试以下安装:

wget http://www.openssl.org/source/openssl-1.0.1g.tar.gz  
cd openssl-1.0.1g  
./config  
make && make install  
/etc/init.d/nginx restart #重启nginx 
点赞