将证书安全地存储在Web应用程序和docker环境中

时间:2017-10-27 20:14:12

标签: asp.net ssl

这是关于证书(如X509)保留的最佳策略和技术的一般性问题。

在开发环境中,我使用将.pfx文件保存在项目文件夹中。 但在实际情况中,这当然不是一种拉长的方式。

如何安全地存储这些文件?假设有许多docker容器,并在其上运行asp net WEB Api应用程序。

这些应用程序必须安全地共享私钥和/或证书文件。

1 个答案:

答案 0 :(得分:0)

首先,您不必担心保证证书安全,但您确实需要担心保持密钥安全。

其次,你应该意识到PKCS#12 / PFX格式的缺点,我在这里记录了其中的一些:http://unmitigatedrisk.com/?p=543

至于如何保护私钥安全,如果您已经使用文件而不是将密钥保存在CryptoAPI托管商店中,那么您需要确保“密码”确实是一个可靠的加密密钥,而不是某些密钥。随机字符串。

接下来,您应该将PFX移动到一个文件夹,可能名为“keys”,您可以更改ACL。您希望所有者能够读取和写入,以及您的应用程序运行的用户能够阅读。在linux中,这看起来像:

chown root:keys和chmod 640

在Windows中,它看起来像: icacls“c:\ keys”/ grant root:(OI)(CI)F / T. icacls“c:\ keys”/ grant app:(OI)(CI)R / T

理想情况下,访问密钥的代码部分以其自己的用户身份运行。

这就是你如何保护“密码”的问题,答案很大程度上是“它的乌龟一直在下降”,但看看Hashicorp Vault。您可以(也可能应该)将PFX存储在那里。