我目前使用没有密码的服务器 SSL 证书,以允许 Apache 无人值守启动。
有迹象表明客户要求我们更安全地保护 SSL 证书。我还不确定他们的目的是什么,但目前我猜他们不希望磁盘上有未受保护的 SSL 证书。我想我无法避免将其以明文形式保存在 Apache 内存中,但我们假设这是可以接受的。
我想出了一个精心设计的系统,将密码保存在内部服务器(即不在前线 Web 服务器上)进程的内存中,然后使用 Apache SSLPassPhraseDialog 将其移交给前线服务器(http://httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslpassphrasedialog)。内部服务器在启动时必须输入密码,并且我们将拥有多个这样的服务器,以实现高可用性的负载平衡。
我的问题是:
- “大佬们”如何保护他们的 SSL 证书?他们只是强迫他们在服务器重启时输入密码短语,还是像我们其他人一样保持未加密状态?
- 我对开源的经验是,很有可能有人已经解决了我所面临的任何问题——这样的系统已经可用了吗?
- 从业务层面来看,我们是否只保留未加密的证书并在证书被盗时快速撤销证书?
答案1
让我们首先在分层 PKI 模型中回顾一下公钥基础设施基础知识。
- 公钥是一种加密器/锁定器,嵌入到证书颁发机构创建的证书中。
- 私钥是与公钥一起使用的解密器/解锁器。
- 公钥和证书没有保密要求。
- 私钥有保密要求
因此,您对 Apache 的关注点应该集中在私钥上,而不是公钥上。安全工程师保护私钥的典型方式是使用硬件安全模块。硬件安全模块 (HSM) 有多种形式,包括智能卡、PCIe 卡、PCI 卡、USB 加密狗、USB 棒、基于网络的 HSM 等。因此,这些可以涵盖大量预算和安全功能。
一些 HSM 已验证了安全实施,例如级别 1(通常是软件)、级别 2(物理)级别 3(防篡改)级别 4(防篡改和入侵响应)的 FIPS 140-2。
为了评估您的企业是否应该采取行动,我会考虑进行成本效益分析和风险评估,其中包括 ALE、ARO 和 SLE 计算。但是,如果您在网上做生意,最好聘请网络安全专家来评估您的所有基础设施,并制定一份漏洞和弱点的综合清单,以及一份您可以与管理层合作的优先补救计划。
答案2
我想说“大人物”会将 SSL 卸载到集群前端负载均衡器上,因为这就是我所做的,而且我离“大人物”还差得远。
我发现这些说明在 httpd.apache.org 上删除密码对话框,如果你用 Google 搜索过这个问题,你可能已经看到过,我想你已经看到过了。
撤销证书的问题在于,您只能听任签名 CA 尽快处理您的问题。如果您为证书支付了很多钱,我相信他们的服务非常积极。我不确定一些较小的批发商会如何。也许其他人可以插话。