> CentOS > CentOS故障 >

CentOS修复“OpenSSL Heartbleed漏洞”方法

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 install openssl 
#然后重启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
(责任编辑:IT)