现在有许多configurationpipe理软件select(Chef,Puppet,CFEngine,Ansible …),它们提供了一个在中央服务器上的存储库和使用TCP / IP与服务器通信的客户端的体系结构。 这种架构要求整个networking的客户端能够与服务器进行通信,并将服务器暴露给威胁,因为这是攻击者非常有希望的目标。
据我所知,所提到的工具具有使用私钥密码术对configuration项进行签名的能力。 但是签名密钥是服务器的密钥,它们存储在服务器上。 如果configurationpipe理服务器受到威胁,整个networking可能被认为是受到威胁的。
有没有一种方法可以避免服务器受到损害的风险=整个networking受到影响?
我想到的是在将configuration上传到服务器之前通过个人私钥对服务进行签名。 每个pipe理员都有他自己的。
任何常见的configurationpipe理解决scheme是否提供这样的function,或者是否有不同的方法来缓解上述风险?
我想到的是在将configuration上传到服务器之前通过个人私钥对服务进行签名。 每个pipe理员都有他自己的。
这实际上是什么秘密静态风格的解决scheme(底部列出),但他们通常运行在主。 托马斯·A·利蒙切利基本上认为,是的,主人仍然是关于秘密的SPOF,但是如果你有权访问这个盒子来获得代码,那么你已经很漂亮了:你可以无论如何,请使用主人做任何你想做的事情。
但是,通过一些工具,您可以修改configurationpipe理代码,以便在每个使用无密码信任的GPG或类似工具的工具中解密这些秘密。
使用Puppet还有node_encrypt ,它基于代理证书进行encryption。 我确定其他工具也有类似的解决scheme。
丹尼尔·萨默菲尔德(Daniel Somerfield)对这个被称为“海龟一路下来”的非常好的演讲总结了不同的工具,并附有一个后续的示例代码和对不同方法的回顾 。
rest解决scheme的各种秘密列表