web-dev-qa-db-ja.com

ソルトミニオンに対するソルトマスターの認証

私はsaltを使い始めたばかりで、saltmasterがクライアントに対してどのように認証されているのか疑問に思っています。ミニオンを接続するとき、マスターはミニオンの公開鍵を受け入れる必要があるため、許可されていないミニオンは接続できないことを私は知っています。しかし、誰かがソルトマスターのふりをして、すべてのミニオンが間違ったサーバーに接続し、コードをうまく実行して攻撃者にフルアクセスを与えることを妨げるものは何ですか?

もちろん、ミニオンは特定のIPアドレスまたはホスト名に接続しますが、それを乗っ取るのは非常に簡単です...

2
Alexander

余分な努力がなければ、(二重に決定された)攻撃者が最初の鍵交換とその後のすべての接続中にman-in-the-middle攻撃を開始することを妨げるものは何もありません。これは、インターネットを介した鍵交換に固有のリスクと同じです。

マスターとミニオンの両方の指紋を確認できます。

マスターの場合:Sudo salt-key -F

ミニオンについて:Sudo salt-call --local key.finger

しかし、その場合、あなたと問題のマシンとの間の中間者攻撃には、(精巧な)(持続的な)人がいないことを信頼する必要があります。 ずっとカメです。

真の妄想は、オフラインでキー(マスターとすべてのミニオン)を事前に生成する必要があり、他のメンバーと一緒に、まだ発見されていない微妙な方法でCPUが何らかの形で危険にさらされていないことを期待します。

キーが後で一致しない場合、ミニオンがマスターへの接続を拒否することを確認できます。ソルトミニオンをシャットダウンし、バックアップ/etc/salt/pki/minion/minion_master.pub、それを変更してから、デバッグモードでsalt-minionを開始します:Sudo salt-minion -l debug

1
Dan Garthwaite