【发布时间】:2014-04-10 22:38:30
【问题描述】:
我最近在一个线程here的盐柱中看到了以下构造
/srv/pillar/ssh.sls:
ssh_certs:
{% if grains['fqdn'] == 'server1.example.com' %}
dsa: |
-----BEGIN DSA PRIVATE KEY-----
{# key text goes here with consistant indentation... #}
-----END DSA PRIVATE KEY-----
ecdsa: |
-----BEGIN ECDSA PRIVATE KEY-----
{# key text goes here with consistant indentation... #}
-----END ECDSA PRIVATE KEY-----
rsa: |
-----BEGIN RSA PRIVATE KEY-----
{# key text goes here with consistant indentation... #}
-----END RSA PRIVATE KEY-----
{% elif grains['fqdn'] == 'server2.example.com' %}
# same as above but with different key texts of course....
{% endif %}
该支柱随后通过* glob 在顶层文件中分发到集群中的所有节点。
问题:
由于我们未评估的模板包含整个集群的所有私钥,这有多安全?
我相信奴才会评估自己的盐配方。如果他们也评估自己的支柱,那么他们将暂时获得集群中每个节点的私钥!
如果我以某种方式获得了server2.example.com 的访问权限,我是否能够挖掘出未编译的模板?
问这个问题的另一种方法是:支柱模板评估在哪里进行?
【问题讨论】:
标签: salt-stack