Назад | Перейти на главную страницу

Аутентификация солеварни против соляных миньонов

Я только начинаю работать с солью, и мне интересно, как солеварня проходит проверку подлинности в отношении клиентов. Я знаю, что при подключении миньона мастер должен принять открытый ключ миньона, и поэтому неавторизованные миньоны не могут подключиться. Но что мешает кому-то притвориться солитером, если все миньоны подключаются не к тому серверу, с радостью выполняют код и предоставляют полный доступ злоумышленнику?

Конечно, миньон подключается к заданному IP-адресу или имени хоста, но это должно быть довольно легко захватить ...

Без дополнительных усилий ничто не помешает злоумышленнику (сомнительно определенному) инициировать атаку «человек посередине» во время первого обмена ключами и всех последующих соединений. Это тот же риск, который присущ любому обмену ключами через Интернет.

Вы можете проверить отпечатки пальцев как мастера, так и миньона.

На хозяине: sudo salt-key -F

По миньону: sudo salt-call --local key.finger

Но тогда вам придется поверить, что нет также (тщательно продуманного) (устойчивого) человека в середине атаки между вами и рассматриваемой машиной, когда вы используете ssh. Это черепахи до самого конца.

Настоящему параноику придется предварительно сгенерировать ключи в автономном режиме (главный и все миньоны) и надеяться вместе с остальными из нас, что их ЦП каким-то образом не скомпрометирован тонкими способами, которые мы еще не обнаружили.

Вы можете убедиться, что миньон отказывается подключаться к мастеру, если позже ключ не совпадает. Отключение соли-миньона, бэкап /etc/salt/pki/minion/minion_master.pub, измените его, а затем запустите salt-minion в режиме отладки: sudo salt-minion -l debug