Patching OpenSSL for the Heartbleed Vulnerability
来源:互联网 发布:数据库的基本结构 编辑:程序博客网 时间:2024/05/23 11:16
CentOS
Check to see what your current OpenSSL version is:
openssl version -a
OpenSSL 1.0.1e-fips 11 Feb 2013
built on: Wed Jan 8 18:40:59 UTC 2014
platform: linux-x86_64
options: bn(64,64) md2(int) rc4(16x,int) des(idx,cisc,16,int) idea(int) blowfish(idx)
compiler: gcc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DKRB5_MIT -m64 -DL_ENDIAN -DTERMIO -Wall -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -Wa,--noexecstack -DPURIFY -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: "/etc/pki/tls"
engines: dynamic
Pay attention to the built on: line. Versions built before April 7th are vulnerable.
To update OpenSSL from the repositories, run:
yum -y install openssl
After updating, run openssl version -a again to confirm the newer build:
openssl version -a
OpenSSL 1.0.1e-fips 11 Feb 2013
built on: Tue Apr 8 02:39:29 UTC 2014
Be sure to manually restart any services that use OpenSSL.
Check to see what your current OpenSSL version is:
openssl version -a
OpenSSL 1.0.1e-fips 11 Feb 2013
built on: Wed Jan 8 18:40:59 UTC 2014
platform: linux-x86_64
options: bn(64,64) md2(int) rc4(16x,int) des(idx,cisc,16,int) idea(int) blowfish(idx)
compiler: gcc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DKRB5_MIT -m64 -DL_ENDIAN -DTERMIO -Wall -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -Wa,--noexecstack -DPURIFY -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: "/etc/pki/tls"
engines: dynamic
Pay attention to the built on: line. Versions built before April 7th are vulnerable.
To update OpenSSL from the repositories, run:
yum -y install openssl
After updating, run openssl version -a again to confirm the newer build:
openssl version -a
OpenSSL 1.0.1e-fips 11 Feb 2013
built on: Tue Apr 8 02:39:29 UTC 2014
Be sure to manually restart any services that use OpenSSL.
solution:
我们建议所有的 RHEL6 OpenSSL 用户升级 openssl 到 openssl-1.0.1e-16.el6_5.7 以上的版本。请参照errata (RHSA-2014:0376)
需要注册系统到 Red Hat Network 或者(Satellites),通过 yum 命令升级:
yum update openssl
使用 libssl.so 库文件的进程需要被重启(请注意不要与libssl3.so弄混)。rpm 或者 repoquery 命令可以查看哪些包需要 libssl 作为依赖。注意,在 32位系统和64为系统上,使用的查询命令是不同的。用 rpm --provides 命令查看 openssl 包包含哪些库文件。
# rpm -q --provides openssl | grep libssl
libssl.so.10 libssl.so.10(OPENSSL_1.0.1) libssl.so.10(OPENSSL_1.0.1_EC) libssl.so.10(libssl.so.10)
# rpm -q --provides openssl | grep libssl
libssl.so.10()(64bit) libssl.so.10(OPENSSL_1.0.1)(64bit) libssl.so.10(OPENSSL_1.0.1_EC)(64bit) libssl.so.10(libssl.so.10)(64bit)
rpm --whatrequires 可以查看哪些包需要 libssl 库作为依赖:
# rpm -q --whatrequires 'libssl.so.10'
或者64位用下面的命令。
# rpm -q --whatrequires 'libssl.so.10()(64bit)'
repoquery --whatrequires 命令可以查看哪些 yum 仓库中的包会需要 libssl 作为依赖(这些包可能被安装,也可能没有被安装):
# repoquery --whatrequires libssl
除了上面的命令之外,还可以使用 lsof 或者用 grep 命令逐个查询 /proc 目录下的进程,用来确定哪些进程需要重启。这些方法可以查到第三方的软件(非系统自带软件)
的进程时候使用 libssl 库。例如:
# lsof | grep libssl.so | grep '\<DEL\>'
httpd 15950 root DEL REG 253,0 394415 /usr/lib64/libssl.so.1.0.1e
httpd 21863 apache DEL REG 253,0 394415 /usr/lib64/libssl.so.1.0.1e
# grep libssl.so /proc/*/maps | grep '(deleted)$' | cut -d/ -f3 | sort -u | xargs -r -- ps u
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 15950 0.0 1.6 354632 8280 ? Ss Mar26 0:32 /usr/sbin/httpd
apache 21863 0.0 1.2 354768 6064 ? S Apr06 0:00 /usr/sbin/httpd
此外,如果允许的话,重启系统会保证所有的进程都被重启。
这个漏洞影响 OpenSSL 的 libssl 库文件, libssl 是实现 TLS/SSL 和 DTLS 协议的基础库。OpenSSH 不使用这些协议,因此不使用 libssl.
OpenSSH 使用的是 OpenSSL 的加密算法实现,使用的是 libcrypto 库文件。
link:https://www.linode.com/docs/security/patching-openssl-for-the-heartbleed-vulnerability
需要注册系统到 Red Hat Network 或者(Satellites),通过 yum 命令升级:
yum update openssl
使用 libssl.so 库文件的进程需要被重启(请注意不要与libssl3.so弄混)。rpm 或者 repoquery 命令可以查看哪些包需要 libssl 作为依赖。注意,在 32位系统和64为系统上,使用的查询命令是不同的。用 rpm --provides 命令查看 openssl 包包含哪些库文件。
# rpm -q --provides openssl | grep libssl
libssl.so.10 libssl.so.10(OPENSSL_1.0.1) libssl.so.10(OPENSSL_1.0.1_EC) libssl.so.10(libssl.so.10)
# rpm -q --provides openssl | grep libssl
libssl.so.10()(64bit) libssl.so.10(OPENSSL_1.0.1)(64bit) libssl.so.10(OPENSSL_1.0.1_EC)(64bit) libssl.so.10(libssl.so.10)(64bit)
rpm --whatrequires 可以查看哪些包需要 libssl 库作为依赖:
# rpm -q --whatrequires 'libssl.so.10'
或者64位用下面的命令。
# rpm -q --whatrequires 'libssl.so.10()(64bit)'
repoquery --whatrequires 命令可以查看哪些 yum 仓库中的包会需要 libssl 作为依赖(这些包可能被安装,也可能没有被安装):
# repoquery --whatrequires libssl
除了上面的命令之外,还可以使用 lsof 或者用 grep 命令逐个查询 /proc 目录下的进程,用来确定哪些进程需要重启。这些方法可以查到第三方的软件(非系统自带软件)
的进程时候使用 libssl 库。例如:
# lsof | grep libssl.so | grep '\<DEL\>'
httpd 15950 root DEL REG 253,0 394415 /usr/lib64/libssl.so.1.0.1e
httpd 21863 apache DEL REG 253,0 394415 /usr/lib64/libssl.so.1.0.1e
# grep libssl.so /proc/*/maps | grep '(deleted)$' | cut -d/ -f3 | sort -u | xargs -r -- ps u
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 15950 0.0 1.6 354632 8280 ? Ss Mar26 0:32 /usr/sbin/httpd
apache 21863 0.0 1.2 354768 6064 ? S Apr06 0:00 /usr/sbin/httpd
此外,如果允许的话,重启系统会保证所有的进程都被重启。
这个漏洞影响 OpenSSL 的 libssl 库文件, libssl 是实现 TLS/SSL 和 DTLS 协议的基础库。OpenSSH 不使用这些协议,因此不使用 libssl.
OpenSSH 使用的是 OpenSSL 的加密算法实现,使用的是 libcrypto 库文件。
link:https://www.linode.com/docs/security/patching-openssl-for-the-heartbleed-vulnerability
https://access.redhat.com/zh_CN/node/785513
0 0
- Patching OpenSSL for the Heartbleed Vulnerability
- 关于OpenSSL heartbleed漏洞
- openssl heartbleed高危漏洞
- OpenSSL Heartbleed 漏洞
- OpenSSL Heartbleed检测工具
- Exploit for the FreeBSD protosw vulnerability
- OpenSSL相关的漏洞--heartbleed
- OpenSSL“Heartbleed”的漏洞exp
- 浅谈OpenSSL的Heartbleed漏洞
- 【OpenSSL】heartbleed漏洞源码分析
- The Heartbleed Bug
- The Heartbleed Bug
- The free vulnerability scanner for small organizations or individual use
- OpenSSL "heartbleed" 的安全漏洞
- openssl "Heartbleed"心脏流血漏洞升级方法
- OpenSSL “Heartbleed”心脏流血漏洞升级方法
- OpenSSL 的 Heartbleed 漏洞代码探究
- OpenSSl HeartBleed 漏洞分析及验证
- POJ 3667 Hotel(线段树区间合并)
- Python编码声明与乱码
- css3教程
- jni/../../Classes/AppDelegate.cpp:102: error: undefined reference to 'TestController::TestController
- ubuntu完美搭建git服务器
- Patching OpenSSL for the Heartbleed Vulnerability
- c++ primer(第五版)笔记 第六章 函数(2)
- WIN32 API写一个窗口
- 装饰模式
- 你访问的花生壳动态域名不在线
- hdu 4974 数学杂题/证明
- Nginx开启Gzip压缩大幅提高页面加载速度
- 几个集合类的比较
- [POJ 1308]Is It A Tree?(并查集判断图是否为一棵有根树)