我刚刚开始使用盐,我想知道saltmaster如何对客户进行身份validation。 我知道,当连接一个仆从时,主人必须接受仆从的公共钥匙,因此没有未经授权的仆人可以连接。 但是,是什么让一个人假装成为盐头人,让所有的奴才连接到错误的服务器上,并且愉快地执行代码并给予攻击者完全的访问权限?
当然,奴才连接到一个给定的IP地址或主机名,但它应该是相当容易劫持…
没有额外的努力,在第一次密钥交换和所有后续连接期间,没有任何东西可以阻止(可疑地确定的)攻击者发起中间人攻击。 这与互联网上任何重要交换所固有的风险是相同的。
你可以validation主人和仆人的指纹。
掌握: sudo salt-key -F
sudo salt-call --local key.finger : sudo salt-call --local key.finger
但是,你不得不相信,当你进入它的时候,在你和机器之间的中间攻击中,还没有一个(精心制作的)(持续的)人。 这是龟一路下来。
真正的偏执狂必须预先生成脱机密钥(主人和所有的仆从),并希望和我们其他人一样,他们的CPU不会以微妙的方式妥协,我们还没有发现。
如果密钥稍后不匹配,您可以validation该奴才拒绝连接到主人。 closuressalt- /etc/salt/pki/minion/minion_master.pub ,备份/etc/salt/pki/minion/minion_master.pub ,修改它,然后在debugging模式下启动salt- /etc/salt/pki/minion/minion_master.pub : sudo salt-minion -l debug