为什么我得到不同的 openssl 版本?

CoC*_*onk 6 linux yum openssl centos6 heartbleed

我正在尝试检查我是否运行了最新的 OpenSSL 版本,我主要担心的是 Heartbleed 错误。

我尝试了 2 个命令:

  • 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

    ...


我有一些问题:

  1. 为什么我从这 2 个命令中得到不同的版本?
  2. 如何在不打开 443 端口的情况下检查 heartbleed 漏洞?

HBr*_*ijn 8

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
Run Code Online (Sandbox Code Playgroud)