Security

saltmaster 對 salt minions 的身份驗證

  • December 20, 2016

我剛剛開始使用 salt,我想知道 saltmaster 是如何針對客戶端進行身份驗證的。我知道當連接一個僕從時,主人必須接受僕從的公鑰,因此沒有未經授權的僕從可以連接。但是,是什麼阻止了某人假裝自己是 saltmaster,讓所有奴才連接到錯誤的伺服器並愉快地執行程式碼並為攻擊者提供完全訪問權限?

當然,minion 連接到給定的 IP 地址或主機名,但劫持它應該很容易……

如果沒有額外的努力,沒有什麼可以阻止(可疑的)攻擊者在第一次密鑰交換和所有後續連接期間發起中間人攻擊。這與網際網路上的任何密鑰交換所固有的風險相同。

您可以驗證master和minion的指紋。

在主人:sudo salt-key -F

在奴才上:sudo salt-call --local key.finger

但是你必須相信當你 ssh 進入它時,在你和有問題的機器之間的中間攻擊中也沒有一個(精心設計的)(持續的)人。一路下來都是烏龜。

真正的偏執狂必須離線預生成密鑰(master 和所有 minion),並希望他們的 CPU 不會以我們尚未發現的微妙方式受到損害。

如果密鑰後來不匹配,您可以驗證 minion 確實拒絕連接到 master。關閉 salt-minion,備份/etc/salt/pki/minion/minion_master.pub,修改它,然後在調試模式下啟動 salt-minion:sudo salt-minion -l debug

引用自:https://serverfault.com/questions/652476