如何在Linux服务器上安装易受攻击的OpenSSL版本?


9

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

我使用提供的说明(run ./config,then makemake install)从源OpenSSL 1.0.1f下载并进行了编译,并尝试从PC 运行来自GitHub的公开可用的Heartbleed POC ,但是该脚本使我不知所措,没有收到任何心跳响应,并且服务器可能不容易受到攻击。

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

已安装OpenSSL以与Apache 2.4.7一起使用。

有人可以帮忙吗?


3
通常,测试旧版本和Linux发行版的一种好方法是下载发行版的旧ISO映像,并可能使用它安装VM。并非所有软件包都可用,但是肯定会使用OpenSSL。
布鲁诺

如果您对Debian打包有点熟悉,那么下载当前的openssl源码包,删除CVE-2014-0160.patch并重新构建它应该相当容易。
Matt Nordhoff 2015年

Answers:


7

这里可能发生两件事:

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

  2. 即使您正在覆盖系统库,也要等到重启Apache后才能进行更改。删除的文件将保持可访问状态(并占用磁盘空间),直到所有具有打开的文件句柄的程序关闭这些文件句柄为止。


7

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

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

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


1
哇,我不知道s_server是一回事。我一直在使用s_client,并且完全应该有一个服务器选项也很有意义。
EEAA 2015年

1
@EEAA是的,疯狂的是在那里塞满了许多不同的子命令。
Shane Madden'3
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.