我的托管服务提供商能否看到我的 SSL 私钥?

信息安全 加密 tls openssl 共享主机
2021-09-07 17:43:51

我正在尝试学习实现安全 Web 和电子邮件服务器的最佳方法。获得 SSL 证书是必须的,但私钥会发生什么?我已经看到您必须将它们存储在服务器上,但这是否意味着我的托管服务提供商可以访问它们?

如果我拥有硬件,我会简单地加密硬盘驱动器,但在这个云/共享/ VPS服务世界中,这似乎是不可能的。有解决方法吗?

3个回答

是的,您的托管服务提供商必须能够看到您的 SSL 私钥,如果他愿意的话。因为他的机器上运行的软件使用了 SSL 密钥。(这在托管虚拟机的情况下仍然成立——实际上,恶意主机可以简单地拍摄您正在运行的虚拟机的快照并在空闲时对其进行分析,而您不会知道。)

但请注意,出于同样的原因,托管服务提供商可以看到您的所有网站内容,即 SSL 保护的所有内容,因此可能泄露的私钥不会显着改变这里的情况。


如果您有自己的硬件,而托管服务提供商只是租用空间、电力和网络带宽,那么您可能希望针对提供商提供某种程度的隐私和安全性。提供商仍然可以物理访问您的硬件(它位于他的场所,而不是您的场所),但是侵入物理机器比制作 VM 快照需要更多的努力,更重要的是,如果不离开物理机器就很难做到痕迹。这实际上取决于邪恶的托管服务提供商在多大程度上打算谨慎行事

对于非常敏感的机器(例如证书颁发机构),您可以租用一个隔离的笼子,带有您拥有钥匙(不是供应商)的挂锁,以及可以不断将图片发送到您的远程控制设施的笼内安全摄像头。这样,您可以获得一些合理的保证,即提供商不会试图物理侵入您的机器。当然,这种设置往往很昂贵。

无论如何,提供者将能够看到它——就像服务器上的任何其他文件一样。你只能让他更难阅读。

使文件免受提供商完全访问托管云/共享/VPS 服务的服务器的唯一方法是加密该文件。但是,加密后,它将无法用于您的网络/邮件服务器。

您可以使用带有不可提取密钥的硬件安全模块 (HSM)。当服务器启动时,您将通过安全通道使用 pin 解锁密钥。提供者将看不到密钥或引脚(对此有商业解决方案)。

您的 Web 服务器将是 HSM 的客户端,而 HSM 将为它执行必要的签名或会话密钥解密操作。但是,当 HSM 解锁时,您的 ISP 仍然可以将您的 Web 服务器模拟到 HSM 并让它签名/解密,因此可以模拟您的 Web 服务器对您的客户端。

因此,您的 ISP 只能在 HSM 在线时伪造您的 Web 服务器。为了排除这种可能性,您必须拥有自己的机器,防止物理篡改和 ISP 的文件系统访问,然后,该机器上的私钥几乎与 HSM 一样好。