Nagios помещает дочернюю службу под родительский

В настоящее время существует множество вариантов программного обеспечения для управления конфигурацией (Chef, Puppet, CFEngine, Ansible ...), которые предлагают архитектуру с их репозиторием на центральный сервер и клиенты, взаимодействующие с сервером по TCP / IP. Такая архитектура требует, чтобы вся сеть клиентов могла связываться с сервером, и подвергает сервер угрозам, поскольку это очень многообещающая цель для любого злоумышленника.

Насколько я понимаю, упомянутые инструменты имеют возможность подписание элементов конфигурации с использованием криптографии с закрытым ключом. Однако ключи подписи являются ключами сервера, и они хранятся на сервере. Если сервер управления конфигурацией скомпрометирован, вся сеть может считаться скомпрометированной.

Есть ли способ избежать риска того, что уравнение скомпрометировано сервер = скомпрометирована вся сеть?

Что мне приходит в голову, так это подписать конфигурацию перед загрузкой на сервер с помощью личного закрытого ключа. У каждого администратора будет своя собственная.

Предлагают ли какие-либо общие решения для управления конфигурацией такую ​​функциональность или есть другой способ снизить упомянутый выше риск?

2
задан 28 April 2016 в 12:14
1 ответ

Мне приходит в голову подписать конфигурацию перед ее загрузкой на сервер личным закрытым ключом. У каждого администратора будет свое собственное.

По сути, это то, что делают такие решения в стиле "секреты в состоянии покоя" (список внизу), но обычно они работают на главном сервере. Томас А. Лимончелли в основном утверждает, что да, мастер по-прежнему является SPOF в отношении секретов, но если у вас есть root-доступ к этому ящику, чтобы получить коды в первую очередь, вы уже довольно набиты: вы можете просто в любом случае используйте мастер, чтобы делать все, что захотите.

Однако с помощью небольшого инструментария вы можете изменить свой код управления конфигурацией так, чтобы расшифровывать секреты во время каждого запуска инструмента с помощью доверенного GPG без пароля или аналогичного.

С Puppet есть также node_encrypt , который выполняет шифрование на основе сертификата агента. Я уверен, что есть аналогичные решения для других инструментов.

Дэниел Сомерфилд очень хорошо рассказал об этом под названием «Черепахи на всем пути вниз» , суммируя различные инструменты с последующим примером код и обзор различных методов .

Список различных секретных решений в состоянии покоя

0
ответ дан 3 December 2019 в 14:29

Теги

Похожие вопросы