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

我试图检查是否运行最新的OpenSSL版本,我主要关心的是心跳错误。

我试了2个命令:

我有一些问题:

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

RPM软件包的名称与软件本身的版本不一样。

其中一个原因是Red Hat和CentOS将软件版本的安全更新和错误修复交付给最初发货。 他们对最新版本的上游软件包(如openssl 1.0.1h)中的安全漏洞进行了修复,并且将修复程序应用于较早版本的软件包(即openssl 1.0.1e)。 除了软件版本号之外,该策略是软件包名称中的补丁级别string的原因。

无论您的实际修补程序级别如何, 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