Apache-2.2

為什麼將 Apache SSL 證書和私鑰儲存在單獨的文件中?

  • April 24, 2018

SSLCertificateFileSSLCertificateKeyFile指令的 Apache mod_ssl 文件指出,“強烈建議”將私鑰和 SSL 證書儲存在同一個文件中。

現在顯然私鑰文件應該保持安全,但假設是這種情況,將證書儲存在同一個文件中是否存在任何特定風險?我很想知道為什麼這種行為受到支持,但又不加解釋地強烈勸阻。

SSL 證書文件是一把鎖。

SSL 證書密鑰文件是它的密鑰。

將兩者儲存在一起相當於將鑰匙貼在前門的鎖上。

如果攻擊者破壞了單個文件,他們將擁有成功模擬您的網站所需的一切(證書和私鑰)。

如果您的 SSL 密鑰上沒有密碼(許多 Web 伺服器沒有,以允許它們在發生崩潰時自動啟動),則尤其如此。


您通過分離文件來防禦的是一個 Apache 錯誤,該錯誤導致它將SSLCertificateFile(應該公開可用的)內容轉儲到 Web 客戶端。

(據我所知,不存在或曾經存在過這樣的錯誤,但 Apache 是一個龐大而復雜的軟體。這完全有可能。)

如果 Apache 轉儲此文件並且它包含的只是 SSL 證書(鎖),則沒有問題:每個人在向伺服器發出 SSL 請求時都會獲得該證書的副本。

如果該文件也包含密鑰,那麼您就失去了任何安全機會 - 您的整個加密模型已被破壞,您需要更改密鑰。

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