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

我想在一个服务器上编译和安装一个Heartbleed容易受到攻击的OpenSSL版本,这个服务器是为团队networking安全挑战而设置的(因为这些无法从Ubuntu的仓库安装,原因很明显)。

我使用提供的说明(运行./config ,然后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一起工作。

谁能帮忙?

有两件事情可能在这里:

  1. 一个简单的“./configure; make; make install”默认将共享库放在/usr/local/lib 。 但是,系统安装的库将位于库searchpath的较早版本/usr/lib中。 除非您删除系统安装的OpenSSL版本,否则将无法find易受攻击的版本。

  2. 即使您正在覆盖系统库,在您重新启动Apache之前也不会提取更改。 删除的文件仍然可以访问(并占用磁盘上的空间),直到所有具有打开文件句柄的程序closures这些文件句柄。

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

尽pipeOpenSSL二进制文件易受攻击,但从OS软件包安装的Web服务器很可能使用了不易受攻击的库版本。

让一个容易受到攻击的监听程序运行的最简单的方法是openssl s_server – 如果你需要一个完整的web服务器容易受到攻击,你可能需要针对易受攻击的OpenSSL进行编译。