如何保护SSL证书(Apache / CentOS)

我目前使用没有密码短语的服务器SSL证书来允许Apache无人值守启动。

有客户的迹象要求我们更安全地保护SSL证书。 我不确定他们的目标是什么,但现在我想他们不希望在磁盘上存在不受保护的SSL证书。 我想我不能避免在Apache内存中明确表示,但让我们假设这是可以接受的。

我想出了一个精心devise的系统,在内部服务器上(即不在一线networking服务器上)保存进程内存的口令,并使用Apache SSLPassPhraseDialog( http )将其传递给前端服务器://httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslpassphrasedialog )。 内部服务器在启动时必须input密码,我们将有多个这样的服务器进行负载均衡以实现高可用性。

我的问题是:

  1. “大男孩”如何保护他们的SSL证书? 他们只是强迫他们的东西在服务器重新启动时input密码短语,还是像我们其他人那样保持密码不encryption?
  2. 我对开源的经验是,有人很有可能已经解决了我面对的任何问题 – 这样的系统已经可用了吗?
  3. 从业务水平的angular度来说,仅仅说我们保持证书不encryption,并且只是在被盗的情况下迅速撤销证书,是否合理呢?

让我们首先在一个分层的PKI模型中回顾公钥基础设施的基础知识。

  1. 公钥是一个encryption器/存储器,并embedded到由证书颁发机构创build的证书中。
  2. 私钥是与公钥一起使用的解密器/解锁器。
  3. 公钥和证书没有保密要求。
  4. 私钥有保密要求

因此,你对Apache的关心应该在私钥周围,而不是公钥。 安全工程师可能保护私钥的典型方式是使用硬件安全模块。 硬件安全模块(HSM)可以具有多种forms,包括智能卡,PCIe卡,PCI卡,USBencryption狗,USB棒,基于networking的HSM等等。 因此,这些可以涵盖大量的预算和安全能力。

有一些HSM在1级(软件一般)2物理(防篡改)3物理(防篡改和入侵响应)和4物理(防篡改,入侵响应和密钥归零)方面validation了FIPS 140-2等安全实现, 。

为了评估您的业务是否应该做一些事情,我会考虑进行成本效益分析和风险评估,包括ALE,ARO和SLE计算。 但是,如果您是通过networking进行业务的话,那么引入networking安全专家来评估您的所有基础架构,并提出一个综合的漏洞和弱点列表可能会更好,您可以使用优先级修复计划你的pipe理。

我想说的是,“大男孩”将SSL卸载到集群前端负载均衡器上,因为这就是我所做的,我不是靠近“大男孩”的地方。

我在httpd.apache.org上find了关于删除密码对话框的这些指示 ,如果你使用了这个问题,你可能会看到这个对话框。

撤销的问题是,你是由签名CA的摆布来快速处理你的问题。 如果你为你的证书付出很多,我相信他们的服务是非常积极的。 我不确定一些较小的批发商会如何。 也许别人可以join