如何管理 Web 服务器 SSL 私钥保护(密码与无密码)?

chm*_*eee 18 security password private-key

我们在我公司的安全组中讨论了以下管理 SSL 私钥的选项中哪个更糟糕。

Web 服务器需要访问私钥以进行加密操作。应保护此文件免遭未经授权的访问。同时,服务器应该自动启动,无需人工干预(如果它足够安全)。

我们正在讨论三个选项:

  1. 使用文件系统权限保护密钥。

  2. 使用受密码保护的密钥并在每次重新启动时手动输入密钥。

  3. 使用受密码保护的密钥并将密钥存储在文件系统中以自动重启。

我们的担忧如下:

  1. 使用选项 1,重新启动是自动的,但妥协可以复制私钥,并且由于不受保护,可用于解密通信或冒充我们的服务器。

  2. 选项 2 似乎更安全,但它需要人工干预,如果它发生在非工作时间,系统管理员会担心。此外,密码应该与多个系统管理员共享,并且您知道共享的秘密不再是秘密。

  3. 选项 3 是前两个选项中最好的,但是如果有人可以访问密钥,也可以访问密码 :(,所以它看起来一点也不安全。

您如何管理服务器私钥的安全性?还有其他(更安全)的选择吗?

Bre*_*nt 10

选项 1 是我认为公认的标准。

但是,如果您真的想要额外的安全性,为什么不设置一个安全服务器(不在您的 DMZ 中)来监控您的网络服务器,如果 apache 宕机,它可以自动远程登录,并重新启动 apache,提供密码。

所以密码保存在一台计算机上,但与运行 apache 的密码不同,而不是在您的 DMZ 中。您可以获得使用密码短语的额外安全性,并保持自动重启的能力。


bri*_*zil 5

如果有人对服务器有足够的访问权限来读取密钥,那么他们很可能也有足够的访问权限来附加调试器并从内存中获取密钥。

除非您真的喜欢在半夜醒来输入密码,否则请选择选项 1。当您有许多服务器时,您希望在出现故障时自动重启,而选项 2 不允许这样做。