漏洞描述
OpenSSL软件存在“心脏出血”漏洞,该漏洞使攻击者能够从内存中读取多达64 KB的数据,造成信息泄露。
漏洞危害
可被用来获取敏感数据,包括会话Session、cookie、账号密码等。
1、查看源版本[root@localhost ~]# openssl version -a
OpenSSL 1.0.1e-fips 11 Feb 2013
2、下载 openssl-1.0.2k.tar.gz (以1.0.2k 版本为例)
更多版本可在OpenSSL网站上下载
https://www.openssl.org/source/
wget https://www.openssl.org/source/openssl-1.0.2k.tar.gz (国内连接速度较慢,建议用迅雷等下载工具下载后再传到服务器)
3、更新zlibyum install -y zlib
4、解压安装tar zxf openssl-1.0.2k.tar.gz
cd openssl-1.0.2k
#./config -fPIC --prefix=/usr/local/openssl/ enable-shared
./config shared zlib
make
make install
mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl /usr/include/openssl.bak
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
echo “/usr/local/openssl/lib” >> /etc/ld.so.conf
ldconfig -v
5、查看是否升级成功[root@localhost ~]# openssl version -a
解决 openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory错误问题
在Centos7上编译安装openssl后,运行openssl version出现如下错误:
openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
这是由于openssl库的位置不正确造成的。解决方法是在root用户下执行:ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
其它系统修复方案:
以下为各系统的修复方案供您参考:
第一步:
Debian/Ubuntu:# apt-get update!
# apt-get install openssl libssl1.0.0
Aliyun Linux及其他系统请手工将OpenSSL升级至1.0.1g版本
第二步:
修复完毕后,请重启WEB服务,Apache/Nginx/Httpd的重启?方式分别如下:# /etc/init.d/apache2 restart
# /etc/init.d/ngnix restart
# /etc/init.d/httpd restart
此外还需要重启其他与OpenSSL相关的服务。(可通过 lsof | grep libssl | awk '{print $1}'| sort | uniq 查看与OpenSSL库相关的服务)。