![如何从源代码重新安装中间版本?](https://linux22.com/image/1405501/%E5%A6%82%E4%BD%95%E4%BB%8E%E6%BA%90%E4%BB%A3%E7%A0%81%E9%87%8D%E6%96%B0%E5%AE%89%E8%A3%85%E4%B8%AD%E9%97%B4%E7%89%88%E6%9C%AC%EF%BC%9F.png)
我正在尝试创建一个易受 Heartbleed 攻击的测试服务器。我安装了 apache24;问题有两个方面:
- FreeBSD 附带 OpenSSL 0.9.8(不易受攻击)
- 如果我使用端口安装,我将获得最新版本的 OpenSSL(不易受攻击)
我从 OpenSSL 站点获得了版本 1.0.1f(易受攻击)的 tar,但我不知道如何在我的 FreeBSD 虚拟机上安装它。
检查要求:
- 请告诉我如何卸载默认包含的版本(0.9.8)
- 请告诉我如何随后安装 OpenSSL 1.0.1f
答案1
有很多方法可以构建FreeBSD测试服务器易受攻击心血:
安装 FreeBSD 10.0
FreeBSD9.x 和 8.x 附带OpenSSL0.9.x. 另一方面,基础版本FreeBSD 10.0附带OpenSSL 1.0.1e。因此,获取 10.0 版本、安装它和一些软件包可能会更容易:您将在几小时甚至几分钟内拥有一个测试服务器。
安装自定义 OpenSSL和apache24 使用它
关于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 buildworld
和make installworld
(更多信息请点击此处)。
您可能需要清洁OpenSSL手动创建文件。