如何从源代码重新安装中间版本?

如何从源代码重新安装中间版本?

我正在尝试创建一个易受 Heartbleed 攻击的测试服务器。我安装了 apache24;问题有两个方面:
- FreeBSD 附带 OpenSSL 0.9.8(不易受攻击)
- 如果我使用端口安装,我将获得最新版本的 OpenSSL(不易受攻击)

我从 OpenSSL 站点获得了版本 1.0.1f(易受攻击)的 tar,但我不知道如何在我的 FreeBSD 虚拟机上安装它。

检查要求:
- 请告诉我如何卸载默认包含的版本(0.9.8)
- 请告诉我如何随后安装 OpenSSL 1.0.1f

答案1

有很多方法可以构建FreeBSD测试服务器易受攻击心血

  1. 安装 FreeBSD 10.0

    FreeBSD9.x 和 8.x 附带OpenSSL0.9.x. 另一方面,基础版本FreeBSD 10.0附带OpenSSL 1.0.1e。因此,获取 10.0 版本、安装它和一些软件包可能会更容易:您将在几小时甚至几分钟内拥有一个测试服务器。

  2. 安装自定义 OpenSSLapache24 使用它

    关于FreeBSD< 10.0,删除默认包含的版本没有任何意义OpenSSL从基础系统,因为你只需要让你的Apache24 的安装指向您的私人 openssl-1.0.1f 安装。

    • 从以下位置获取 OpenSSL 1.0.1f(或更早版本)源代码官方的OpenSSL地点

    • 确保已经perl安装,因为它需要构建OpenSSL

    • 建立自定义OpenSSL/usr/local(按照 ports 的方式安装):

      # sh ./config --prefix=/usr/local
      # make
      # make install
      

    意识到这是一个自定义安装,没有任何包管理工具的跟踪或日志。

    • 创建/添加/etc/make.conf以下行:

      WITH_OPENSSL_PORTS=yes
      
    • 然后安装或重新安装其他模块(devel/apr1,,www/apache24...)

    • 您可以检查由使用Apache24 的(事实上​​ apache24mod_ssl模块):

      # ldd /usr/local/libexec/apache24/mod_ssl.so |grep ssl 
      /usr/local/libexec/apache24/mod_ssl.so:
              libssl.so.8 => /usr/local/lib/libssl.so.8 (0x801634000)
      

      apache24mod_ssl现在使用自定义OpenSSL来自 的 库/usr/local


正如 (2) 中所述:这对于制作易受攻击的 FreeBSD 测试系统来说不是必需的,而且这是一项极其耗时的任务,特别是对于不熟悉该过程的人来说。

  • 删除默认设置OpenSSL从基础系统(不必要)

    真正去除OpenSSL从基础系统,你需要重建它,你将失去开放SSH凯尔伯罗斯(可能还有其他一些)。这是一个非常漫长的过程,你应该遵循官方程序小心。

    • 获取系统源(从安装或通过颠覆)
    • 使用以下行创建您的/etc/src.conf(了解更多:man src.conf):

      WITHOUT_OPENSSL=yes
      
    • 重建基础系统(如果源与当前系统版本不同步,则可能需要重建内核),简而言之:make buildworldmake installworld更多信息请点击此处)。

    您可能需要清洁OpenSSL手动创建文件。

相关内容