por*_*ast 8 linux ubuntu chef-infra
嗨,我正在场外使用厨师设置一组机器.如果其中一台机器被盗,攻击者可以通过拥有chef-validator.pem对我的厨师服务器或其他节点造成什么损害?他们还可以通过厨师获得哪些其他东西?谢谢!
Mar*_*nor 15
这是最近关于管理厨师"秘密"的Foodfight节目中讨论的项目之一.强烈推荐观看:
初始化新厨师客户端时,刀具引导操作会上传此密钥.拥有此密钥使客户能够针对您的厨师服务器进行注册.这实际上是它唯一的功能,一旦客户端启动并且不再需要运行验证密钥.
但它可能被滥用......正如@cbl所指出的,如果未经授权的第三方获得对此密钥的访问权限,他们可以创建新的客户端,可以查看正常客户可以看到的厨师服务器上的所有内容.理论上,它可以用于在您的厨师服务器上创建拒绝服务攻击,通过注册请求充斥它.
食品战斗小组推荐一个简单的解决方案.在所有节点上启用chef-client cookbook.它包含一个"delete_validation"配方,它将删除验证密钥并降低您的风险.
验证器密钥用于在Chef服务器上创建新客户端.
一旦攻击者掌握了它,他就可以假装自己是基础设施中的节点,并且可以访问任何节点所拥有的相同信息.
例如,如果您在未加密的数据包中有敏感信息,他就可以访问该信息.
基本上他可以从任何食谱中运行任何食谱,进行搜索(并且可以访问所有其他节点的属性),阅读数据包等.
在编写cookbook并填充服务器中的其他对象时请记住这一点.您还可以以某种方式监视厨师服务器是否存在任何可疑的客户端创建活动,如果您有任何理由认为验证者密钥已被盗,则撤销它并发布新密钥.
定期旋转密钥也许是一个好主意.
从Chef 12.2.0开始,不再需要验证密钥:
https://blog.chef.io/2015/04/16/validatorless-bootstraps/
您可以删除工作站上的验证密钥,然后knife将使用您的用户凭据创建节点和客户端.
还有一些其他很好的功能,因为无论你为run_list和环境提供什么,它也会在创建时应用于节点.不再依赖于chef-client要读取的first-boot.json文件,并且必须在node.save在引导过程结束时创建节点之前完成运行.
归档时间: |
|
查看次数: |
3330 次 |
最近记录: |