Безопасны ли условные выражения в шаблонах столбов соляного стека?

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

/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, смог бы я откопать нескомпилированный шаблон?

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


person gepoch    schedule 10.04.2014    source источник


Ответы (1)


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

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

person Utah_Dave    schedule 11.04.2014
comment
Спасибо большое! Вы не знаете, есть ли это где-нибудь в документации для будущих потерянных душ? - person gepoch; 11.04.2014
comment
Да, прочтите блок подсказок в верхней части этой страницы в документах. docs.saltstack.com/en/latest/topics/targeting/globbing. html - person Utah_Dave; 06.05.2014