OpenSSL 编译版本与安装版本不匹配?

Posted

技术标签:

【中文标题】OpenSSL 编译版本与安装版本不匹配?【英文标题】:OpenSSL compiled version not matching the installed version? 【发布时间】:2021-07-11 14:48:58 【问题描述】:

我想问你一些事情,它可能从以前开始就发生了,直到现在我才注意到。

几天前,我在 Debian 服务器上将 openssl 升级到了最新版本(1.1.1k)

我最近在服务器上安装了一个软件来检查漏洞,但它仍然提醒旧的 openssl 版本。

由于某种原因,当我运行“openssl version”命令时,它会显示以下信息:

OpenSSL 1.1.1k 2021 年 3 月 25 日(库:OpenSSL 1.1.1d 2019 年 9 月 10 日)

不知道是不是我编译的时候做错了什么。这是我正在使用的说明:

./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl shared zlib-dynamic

制作

进行安装

你以前有过类似的问题吗?你知道怎么解决吗?

谢谢。

[已编辑]

我已经安装了一个全新的 Debian 10 服务器,最小安装(网络)。我已经下载并编译了 zlib 和 openssl。再一次,如果我运行“/usr/local/ssl/bin/openssl version”,我会得到相同的结果: OpenSSL 1.1.1k 2021 年 3 月 25 日(库:OpenSSL 1.1.1d 2019 年 9 月 10 日)

[编辑2] 我已经安装了一个全新的虚拟服务器,只有 Debian 10,默认情况下没有安装任何软件包。我只用了openssl 1.1.1k,下载了还是一样的问题: (库:OpenSSL 1.1.1d 2019 年 9 月 10 日)openssl 1.1.1k

【问题讨论】:

【参考方案1】:

如果你运行,输出是什么:

openssl version

which openssl

?

这些命令将告诉您操作系统路径中的 openssl 版本。我认为openssl的编译要么没有成功运行,要么没有在正确的位置安装openssl。

你可以通过运行查看你的服务器中是否还有其他的openssl二进制文件:

find / -name openssl

作为根。如果有,您可以检查他们的版本,看看他们是否有您期望的版本。

作为一个额外的建议,我建议您下载预编译的包而不是直接在服务器中编译(对于生产服务器,这本身就是一个安全风险)。另外,编译和安装是否成功完成?这些通常有很长的输出,并且可能遗漏了一个错误。

【讨论】:

嗨,里卡多,感谢您的回答。 Openssl 版本给出了我在第一条消息中写的内容:OpenSSL 1.1.1k 25 Mar 2021 (Library: OpenSSL 1.1.1d 10 Sep 2019) 该命令没有显示任何信息。 find 列出了所有 /usr/local/ssl.. 条目,以及 untar 文件。我将再次编译它。我没有看到任何错误,但我会尝试更深入地检查它。 您好:重新阅读您的帖子,在我看来您可能遇到了检测漏洞的工具的问题。具体信息是什么,您使用的是什么工具?如果是外部漏洞扫描程序,它检测的是什么端口和 IP? “which”命令应该返回操作系统使用的 openssl 二进制文件的路径(无论路径中的内容是什么。 嗨,Ricardo,感谢您抽出宝贵时间回答。运行 openssl version 命令给出了相互矛盾的消息:OpenSSL 1.1.1k 25 Mar 2021 (Library: OpenSSL 1.1.1d 10 Sep 2019) 让我觉得这是另外一回事。

以上是关于OpenSSL 编译版本与安装版本不匹配?的主要内容,如果未能解决你的问题,请参考以下文章

测试不良版本的 openssl / php 安装

Tensorflow 安装失败,“模块的编译时版本 3.5 与运行时版本 3.6 不匹配”

ZLM-windows版本安装编译

Java 编译器级别与安装的 Java 项目方面的版本不匹配

[openssl]openssl特定版本安装

避坑指北CentOS 6源码编译安装Python3.7+