阻止Chef客户端访问服务器上的所有数据

时间:2013-11-14 14:51:48

标签: security chef

目前我正在开展一个项目,我们管理自己的验收和生产系统,但开发和测试系统由外部各方管理。我们必须假设他们在系统上具有完全root访问权限,因此可以访问Chef客户端私钥(client.pem)。

这使第三方可以访问我们的Chef服务器,我们还存储了我们的生产凭证。

我尝试将dev / tst系统放在不同的Chef环境中,并将凭据存储在环境中,而不是数据包中。但是,我发现Chef客户端可以更改自己的环境,因此将客户端切换到生产环境相对容易,从而可以访问这些凭据。

通过使用加密数据包和一些选择性密钥分发,我们可以设置一个方案,其中所有开发盒都有开发数据包的共享密钥,测试数据包的测试盒等。但是,这非常麻烦,容易出错。

是否有办法阻止经过身份验证的Chef客户端访问Chef服务器上的所有数据?

2 个答案:

答案 0 :(得分:2)

单独的厨师服务器是最简单的解决方案(如果您使用私人厨师,您可以创建多个组织,功能相同)。

话虽如此......存储属性中未加密的秘密只是一个坏主意。使用加密的数据库有帮助,但我认为最好的解决方案是使用chef-vault:

巧妙地使用厨师客户的公钥来加密数据,并确保只有授权的节点才能访问机密(密码,密钥,产品代码等)。

相关问题:

Chef chef-validator.pem security

答案 1 :(得分:0)

不幸的是,只有Enterprise Chef才能实现 - 商业版。