我正在尝试检查我是否运行了最新的 OpenSSL 版本,我主要担心的是 heartbleed 漏洞。
我尝试了两个命令:
openssl version
yum info openssl
openssl version
输出OpenSSL 1.0.1e-fips 2013 年 2 月 11 日
yum info openssl
输出已安装的软件包
名称 :openssl
架构:x86_64
版本:1.0.1e
版本 :16.el6_5.14
...
我有一些问题:
- 为什么我从这两个命令得到了不同的版本?
- 如何在不开放443端口的情况下检查heartbleed漏洞?
答案1
RPM 包的名称与软件本身返回的版本根本不一样。
其中一个原因是 Red Hat 和 CentOS向后移植对最初发布的软件版本进行安全更新和错误修复。他们从上游软件包的最新版本(即 openssl 1.0.1h)中取出安全漏洞修复程序,并将该修复程序应用于分发的软件包的旧版本:即 openssl 1.0.1e。该政策是软件包名称中除了软件版本号之外还包含补丁级别字符串的原因。
openssl version
无论您的实际补丁级别如何,该命令的版本输出都保持不变 1.0.1e。
rpm -q --changelog openssl
显示软件包维护者在您当前安装的版本中包含了哪些更新。
最新版本显示:
* Mon Jun 02 2014 Tom Mraz <tmraz redhat.com> 1.0.1e-16.14
- fix CVE-2010-5298 - possible use of memory after free
- fix CVE-2014-0195 - buffer overflow via invalid DTLS fragment
- fix CVE-2014-0198 - possible NULL pointer dereference
- fix CVE-2014-0221 - DoS from invalid DTLS handshake packet
- fix CVE-2014-0224 - SSL/TLS MITM vulnerability
- fix CVE-2014-3470 - client-side DoS when using anonymous ECDH
* Mon Apr 07 2014 Tom Mraz <tmraz redhat.com> 1.0.1e-16.7
- fix CVE-2014-0160 - information disclosure in TLS heartbeat extension