如何在 Linux 伺服器上安裝存在漏洞的 OpenSSL 版本?

如何在 Linux 伺服器上安裝存在漏洞的 OpenSSL 版本?

我想在我為團隊 Web 安全挑戰而設定的伺服器上編譯並安裝一個存在 Heartbleed 漏洞的 OpenSSL 版本(因為出於明顯的原因,這些版本無法從 Ubuntu 的儲存庫安裝)。

我使用提供的說明(運行./config、然後makemake install)從來源 OpenSSL 1.0.1f 下載並編譯,並嘗試執行公開可用的 Heartbleed POC來自 GitHub來自我的電腦,但是腳本通知我沒有收到心跳回應,伺服器可能不易受到攻擊。

運行openssl version會產生以下輸出:OpenSSL 1.0.1f 2014 年 1 月 6 日。我當然安裝了 SSL 證書,並且 SSL 存取可以在伺服器上運行。

安裝 OpenSSL 是為了與 Apache 2.4.7 一起使用。

有人可以幫忙嗎?

答案1

這裡可能發生了兩件事:

  1. 簡單的“./configure; make; make install”預設會將共用程式庫放置在/usr/local/lib.但是,系統安裝的庫將位於 中/usr/lib,它位於庫搜尋路徑的前面。除非您刪除系統安裝的 OpenSSL 版本,否則不會找到有漏洞的版本。

  2. 即使您覆寫了系統庫,在重新啟動 Apache 之前,變更也不會生效。已刪除的檔案仍然可以存取(並佔用磁碟空間),直到所有開啟檔案句柄的程式都關閉這些檔案句柄。

答案2

使用什麼伺服器軟體?

儘管 OpenSSL 二進位檔案容易受到攻擊,但從作業系統套件安裝的 Web 伺服器很可能使用不易受到攻擊的程式庫版本。

讓易受攻擊的偵聽器運行的最簡單方法是openssl s_server- 如果您需要一個完整的 Web 伺服器易受攻擊,您可能需要針對易受攻擊的 OpenSSL 進行編譯。

相關內容