正如标题中所述,我有一个关于安全地从Azure KeyVault中安全地检索秘密的一般性问题。
目前我的大部分秘密都储存在库伯奈特斯的秘密里。由于秘密只有base64编码,恶意用户甚至管理员都有可能使用镜头之类的工具来读取秘密。
为了增强我的应用程序的安全性,我想使用一个更安全的存储,比如Azure KeyVault来保存我的机密、证书等等。
目前,我正在考虑两个可用的版本。
不知何故,我不信任使用CSI驱动程序的方法,原因如下:如果某个恶意用户由于任何原因能够连接到我的容器,他/她将能够从CSI驱动程序生成的“文件”中读取值。
假设一个连接到容器中,这应该是非常简单的。尽管在我的应用程序包中安装了一个恶意包,但是可以读取这些数据.
另一方面,在我看来,只有在内存中才有秘密似乎更安全一些,因为攻击者必须有机会读取内存(我希望有一些东西可以防止此类操作),而且必须知道准确的内存位置才能找到数据。
任何建议、想法或澄清都将受到高度赞赏。
发布于 2022-01-19 16:55:16
CSI和KeyVault一起是对您现在正在运行的解决方案的一个明确的安全升级。我们总是和顾客一起使用它。这是一种被广泛采用的方法,我认为它现在也是k8s默认的机密。
如果你沿着集装箱最佳做法走,你应该走得很好。还有一些很好的步骤,比如容器内没有外壳(划痕),将左边的安全性转移到构建阶段(代码扫描,图像扫描,构建自己的映像)。
另一个好步骤是使用像Falco这样的运行时安全性。
您可以通过另外限制对某些IP的API的访问来添加另一个安全层,或者更好地使用私有集群。这也与KeyVault并驾齐驱,使其成为私有,并限制对它的访问。
我认为没有100%安全的解决方案,但是我提到的所有事情都大大减少了攻击场景。
https://stackoverflow.com/questions/70771222
复制相似问题