Chef:加密数据包,保护加密密钥

Kyl*_*yle 8 chef

当您使用 Chef 的加密数据包功能时,您如何将密钥部署到许多服务器?如果您将其放入菜谱,任何有权访问任何厨师服务器或客户端的人都可以提取密钥并可能解密任何数据包。

您如何确保密钥位于需要它的机器上,同时又不会被任何人窥探?

Tim*_*ter 8

不幸的是,您实际上无能为力,因为密钥需要以纯文本形式位于 Chef 节点上的某个位置。如果有人具有外壳或本地访问权限,那么他们可能会读取密钥。

为了稍微缓解一些事情,我将以下内容添加到我的基节点(即所有节点通用的一些配方或角色):

directory "/etc/chef/keys" do
  mode 0700
  owner "root"
  group "root"
end
Run Code Online (Sandbox Code Playgroud)

以及您拥有的任何密钥分发机制将密钥放在该位置。如果有人忘记将正确的权限放在密钥文件上,则权限和所有权会阻止读取密钥。

在我看来,加密数据包更多地是为了保护密钥材料不被源代码控制系统读取,而不是作为 Chef 节点本身的安全功能。