Безопасны ли условные обозначения в шаблонах солевых столбов?


Я недавно видел следующую конструкцию в соляном столбе в резьбе здесь

/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 %}
Затем этот столб был распределен в верхнем файле через Глобус * на все узлы кластера.

Вопрос:

Поскольку наш недооцененный шаблон содержит все закрытые ключи для всего нашего кластера, насколько это безопасно?

Я полагаю, что миньоны оценивают свои собственные формулы соли. Если они оценивают свои собственные столбы также, тогда им временно будут даны закрытые ключи для каждого узла в кластере!

Если бы я каким-то образом получил доступ к server2.example.com, смог бы я откопать несжатый шаблон?

Другой способ задать этот вопрос: где происходит оценка шаблона столба?

1 6

1 ответ:

Данные столба компилируются на Соляном Мастере, и словарь столба отправляется зашифрованным непосредственно каждому Соляному миньону. Так что нет никаких шансов, что каждый миньон получил полный файл столба.

Как говорится, зерна миньона можно подделать. Единственный Абсолют, который у вас есть, - это удостоверение личности миньона. Идентификатор миньона нельзя подделать, не вызвав отклонение аутентификации миньона.