升级OpenSSL修复高危漏洞Heartbleed

升级OpenSSL修复高危漏洞Heartbleed

背景:

         OpenSSL全称为Secure Socket Layer,是Netscape所研发,利用数据加密(Encryption)作技术保障在Internet上数据传输的安全。可确保数据在网络上的传输不会被窃听及截取。

         当然,OpenSSL是一个强大的密码库,我们在使用SSL协议的时候不一定非得采用OpenSSL,不过目前基本上都是用的OpenSSL,因为它更安全,使用起来也更简单。

         在近期互联网安全协议OpenSSL v1.0.1到1.0.1f的密码算法库中发现了一个非常严重bug(CVE-2014-0160),该bug允许攻击者读取存在bug的系统的64k处 理内存,暴露加密流量的密钥,用户的名字和密码,以及访问的内容。这个漏洞被称之为heartbleed,心脏流血。

         据solidot 在April 7报道,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之后的版本都收到影响。如果你的允许的系统有如上集中,建议将补丁修复到1.0.1g或以上版本。

 

修复建议:

1、  如果有使用OpenSSL 1.0.1到OpenSSL1.0.1f的版本建议升级到OpenSSL1.0.1g或最新的OpenSSL1.0.1h。

2、  使用DEPENSSL_NO_HEARTBEATS参数重新编译低版本的OpenSSL以禁用Heartbleed模块。

3、  删除OpenSSL组件。

 

升级OpenSSL修复Heartbleed漏洞

         由于我们现在用的基本上都是RHEL 5.8或OEL5.8,其OpenSSL的版本为OpenSSL0.9.8e,是不存在该漏洞的,不过有些新上的项目可能会涉及到,当然他们对于修复这个漏洞的方法都是一样。




1、  查看操作系统版本及OpenSSL版本

root@namenode1:~# uname  -a
Linux namenode1.quanshi.com 3.2.0-23-generic #36-Ubuntu SMP Tue Apr 10 20:39:51 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
root@namenode1:~# openssl version
OpenSSL 1.0.1 14 Mar 2012

2、  下载最新的openssl-1.0.1h.tar.gz源码包

3、  解压缩编译安装

root@namenode1:~# tar zxf openssl-1.0.1h.tar.gz
root@namenode1:~# cd openssl-1.0.1h
root@namenode1:~# ./config shared zlib
root@namenode1:~# make
root@namenode1:~# make install

4、  将新编译的openssl替换系统老版本的

root@namenode1:~# rm -rf /usr/bin/openssl  
root@namenode1:~# rm -rf /usr/include/openssl/  
root@namenode1:~# ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl  
root@namenode1:~# ln -s /usr/local/ssl/include/openssl/ /usr/include/openssl

 5、  配置文件搜索路径

root@namenode1:~# echo "/usr/local/ssl/lib/" >> /etc/ld.so.conf
root@namenode1:~# ldconfig -v |grep openssl  
                    libgnutls-openssl.so.27 -> libgnutls-openssl.so.27.0.0

6、  查看安装完成后的最新版本

root@namenode1:~# openssl version -a
OpenSSL 1.0.1h 5 Jun 2014
built on: Thu May  7 12:33:22 CST 2015
platform: linux-x86_64
options:  bn(64,64) rc4(16x,int) des(idx,cisc,16,int) idea(int) blowfish(idx) 
compiler: gcc -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -Wa,--noexecstack -m64 -DL_ENDIAN -DTERMIO -O3 -Wall -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM
OPENSSLDIR: "/usr/local/ssl"


你可能感兴趣的:(OpenSSL,heartbleed,漏洞修复)