首页 文章

盐堆柱模板中的条件是否安全?

提问于
浏览
6

我最近在一个帖子的盐柱中看到了以下结构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 的访问权限,我是否可以挖掘未编译的模板?

提出这个问题的另一种方法是:支柱模板评估在哪里进行?

1 回答

  • 7

    支柱数据在Salt Master上编译,Pillar字典直接加密发送给每个Salt Minion . 因此,每个小兵都没有机会获得整个支柱文件 .

    话虽如此,Minion的谷物可能会被篡改 . 你唯一绝对的是仆从的身份 . 在不导致minion的身份验证被拒绝的情况下,不能篡改minion ID .

相关问题