如何在 Linux 服务器上安装有漏洞的 OpenSSL 版本?

如何在 Linux 服务器上安装有漏洞的 OpenSSL 版本?

我想在为团队网络安全挑战设置的服务器上编译并安装存在 Heartbleed 漏洞的 OpenSSL 版本(因为出于显而易见的原因,这些版本无法从 Ubuntu 的存储库中安装)。

我按照提供的说明(运行./config,然后makemake install)从源 OpenSSL 1.0.1f 下载并编译,并尝试运行公开的 Heartbleed POC来自 GitHub从我的电脑,然而脚本通知我没有收到心跳响应并且服务器可能不存在漏洞。

运行openssl version产生以下输出:OpenSSL 1.0.1f 2014 年 1 月 6 日。我当然安装了 SSL 证书,并且 SSL 访问在服务器上有效。

OpenSSL 已安装,可与 Apache 2.4.7 配合使用。

有人可以帮忙吗?

答案1

这里可能发生两件事:

  1. 简单的“./configure; make; make install”将默认将共享库放在 中/usr/local/lib。但是,系统安装的库将放在 中/usr/lib,它在库搜索路径中的位置较早。除非您删除系统安装的 OpenSSL 版本,否则将找不到易受攻击的版本。

  2. 即使您正在覆盖系统库,更改也不会生效,直到您重新启动 Apache。已删除的文件仍可访问(并占用磁盘空间),直到所有打开这些文件句柄的程序都关闭这些文件句柄为止。

答案2

正在使用什么服务器软件?

尽管 OpenSSL 二进制文件存在漏洞,但从 OS 包安装的 Web 服务器很可能正在使用不易受攻击的库版本。

运行易受攻击的监听器的最简单方法是openssl s_server- 如果您需要一个完整的 Web 服务器来抵御攻击,则您可能需要针对易受攻击的 OpenSSL 进行编译。

相关内容