如何检查使用 openssl 生成的证书是否容易受到 heartbleed 攻击

如何检查使用 openssl 生成的证书是否容易受到 heartbleed 攻击

我知道您可以在命令行“openssl version”中输入以下内容来显示您正在使用的 openssl 版本。

不久前,我创建了一个证书和一个密钥,其名称类似于 server.cer 和 server.key。

我遇到的问题是,我不确定它们是使用哪个版本的 openssl 创建的。有没有命令可以用来查找它们是使用哪个版本的 openssl 创建的?证书和密钥是否存储了此信息。

我正在尝试确认他们是否容易受到 openssl heartbleed 安全问题的影响。

答案1

证书不会受到 Heartbleed 攻击,否则将受到攻击。证书只是证书。过去曾出现过加密问题,特别是与所选 RNG 相关的问题,这会导致创建弱密钥(从而产生易受攻击的证书),但 Heartbleed 不是这种类型的漏洞。

无论创建密钥/证书对的 OpenSSL 版本是什么,甚至如果该密钥/证书对是在使用易受攻击的 OpenSSL 版本向公众提供 TLS 服务的服务器上使用,该密钥/证书对都可能因 heartbleed 而受到损害。

如果它没有被这样使用,它就不可能受到心脏出血漏洞的损害,即使它是在当时运行有漏洞的 OpenSSL 版本的服务器上创建的。

(现在,生活变得比你想象的更复杂了:如果您在服务器上创建了密钥/证书对(或密钥/CSR 对)该服务器当时运行的是存在漏洞的 OpenSSL 版本您通过一种易受攻击的方法连接到该服务器(例如 OpenVPN,但不是 OpenSSH)您将创建的密钥文件的内容暴露给连接流,例如通过 cat 该文件或通过连接复制它,然后证书可能已被泄露。但这仍然不是证书因此,无法通过检查证书(或任何其他方式,据我所知)检测到。

相关内容