用于SSLCertificateFile和SSLCertificateKeyFile指令的Apache mod_ssl文档指出,强烈建议不要在同一文件中存储私钥和SSL证书。
现在,显然应该保护私钥文件的安全,但是假设是这种情况,将证书存储在同一文件中是否有特定的风险?我很想知道为什么支持这种行为,但是强烈建议不要进行解释。
用于SSLCertificateFile和SSLCertificateKeyFile指令的Apache mod_ssl文档指出,强烈建议不要在同一文件中存储私钥和SSL证书。
现在,显然应该保护私钥文件的安全,但是假设是这种情况,将证书存储在同一文件中是否有特定的风险?我很想知道为什么支持这种行为,但是强烈建议不要进行解释。
Answers:
SSL证书文件是一个锁。
SSL证书密钥文件是其密钥。
将两者存储在一起相当于在前门上的锁上轻按了您的钥匙。
如果攻击者破坏了单个文件,则他们拥有成功模拟网站所需的一切(证书和私钥)。
如果您的SSL密钥上没有密码短语(许多Web服务器没有密码短语,以使其在崩溃时自动启动),则尤其如此。
分离文件所要防御的是一个Apache错误,该错误导致Apache将其内容SSLCertificateFile
(应该公开可用的内容)转储到Web客户端。
(据我所知,不存在这样的错误,或者曾经存在过,但是Apache是一个大型,复杂的软件。这完全有可能。)
如果Apache转储了该文件,并且其中包含的所有文件都是SSL证书(锁),那么就没有问题:无论如何,每个人向服务器发出SSL请求时,都会获得该证书的副本。
如果文件中也包含密钥,那么您就失去了安全性的机会-您的整个加密模型都被破坏了,您需要更改密钥。