Я просто начинаю с солью, и я задаюсь вопросом, как saltmaster аутентифицируется против клиентов. Я знаю, что при соединении фаворита ведущее устройство должно принять открытый ключ фаворита, и поэтому никакие лишенные полномочий фавориты не могут соединиться. Но что мешает кому-то симулировать быть saltmaster, имейте всех фаворитов, соединяющихся с неправильным сервером и счастливо выполняющих код и предоставляющих полный доступ взломщику?
Конечно, фаворит соединяется с данным IP-адресом или именем хоста, но должно быть довольно легко угнать это...
Без дополнительных усилий ничто не помешает злоумышленнику (сомнительно определенному) инициировать атаку «злоумышленник посередине» во время первого обмена ключами и всех последующих соединений. Это тот же риск, который присущ любому обмену ключами через Интернет.
Вы можете проверить отпечатки пальцев как мастера, так и миньона.
На главном сервере: sudo salt-key -F
На миньоне : sudo salt-call --local key.finger
Но тогда вы должны быть уверены, что нет (тщательно продуманного) (устойчивого) человека в середине атаки между вами и рассматриваемой машиной, когда вы ssh в это. Это черепахи.
Истинно параноик должен предварительно сгенерировать ключи в автономном режиме (главный и все миньоны) и надеяться вместе с остальными из нас, что их ЦП каким-то образом не скомпрометирован способов, которые мы еще не обнаружили.
Вы можете проверить, что миньон действительно отказывается подключаться к мастеру, если позже ключ не совпадает. Выключите salt-minion, создайте резервную копию /etc/salt/pki/minion/minion_master.pub
, измените его и затем запустите salt-minion в режиме отладки: sudo salt-minion -l debug