如何保护configurationpipe理服务器

现在有许多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的各种秘密列表

  • git-crypt: https : //www.agwa.name/projects/git-crypt/
  • 通过: http : //www.zx2c4.com/projects/password-store/
  • Transcrypt: https : //github.com/elasticdog/transcrypt
  • Keyringer: https ://keyringer.pw/
  • git-secret: https : //github.com/sobolevn/git-secret