Freebsd

當我安裝了 openssl1.0.1 時,為什麼我的伺服器顯示 openssl 0.9.8?

  • February 22, 2015

我正在創建一個容易受到 heartbleed 錯誤影響的測試伺服器

我的伺服器在 FreeBSD VM 上執行 Apache 2.4。預設情況下,FreeBSD 似乎預設安裝了 OpenSSL 0.9.8。我試圖從埠解除安裝 OpenSSL,但由於我沒有通過埠安裝它(預設情況下),我無法以這種方式解除安裝它。

然後我試圖忽略它並從原始碼安裝 OpenSSL 1.0.1;但是當我重新啟動 apache 伺服器並使用curl --head 127.0.0.1“OpenSSL 0.9.8”檢查站點時顯示。

然後我嘗試重新安裝/重新配置 apache,但同樣的測試產生了“OpenSSL 0.9.8”。

所以,我嘗試像這樣替換預設的 OpenSSL:

  • 通過埠安裝更新的 OpenSSL(試圖替換預設版本)

  • 解除安裝埠安裝的 OpenSSL(試圖完全刪除預設的 OpenSSL)

  • 我的源安裝只剩下一個,我認為這必須改變它

  • 測試仍然產生“OpenSSL 0.9.8”(悲傷)

那麼,為什麼它仍然顯示“OpenSSL 0.9.8”?

我還想更改網站以使用 OpenSSL 1.0.1,因此有關此建議會有所幫助。

缺少的步驟是您必須告訴系統您要從埠使用OpenSSL,而不是來自基本系統的埠:

  • 從埠建構OpenSSL :
  • 創建/添加到您/etc/make.conf的以下行:
WITH_OPENSSL_PORT=yes
  • 然後重新安裝所有其他需要OpenSSL的模組( devel/apr1, www/apache24, …)
  • 您可以檢查apache24使用的OpenSSL庫(實際上是apache24 mod_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)

apache24 mod_ssl現在使用來自埠的OpenSSL庫。

引用自:https://serverfault.com/questions/589834