11

私はネットワークセキュリティの専門家ではないので、この質問があまり賢くない場合はご容赦ください:)。sshを使用して一部のマシンへのログインを自動化しています。現在、を使用してホストキーの警告を回避していますStrictHostKeyChecking no
私は誰かがサーバーになりすますことができることを素朴に理解しており、その場合は彼のパスワードを失うリスクがあります。ただし、公開鍵/秘密鍵ベースの認証(を使用PasswordAuthentication no)のみを使用している場合でも、侵入者は害を及ぼす可能性がありますか?

つまり、基本的にssh -o "StrictHostKeyChecking no" -o "PasswordAuthentication no"

1)侵入者は私の秘密鍵を解読できますか?

2)他にセキュリティ上の脅威はありますか?

よろしく、

JP

4

2 に答える 2

14

実際、公開鍵認証方式はMITM攻撃を防ぎます。私の知る限り、これは偶然の一致であり、設計によるものではありません。本格的なMITM攻撃は不可能ですが、攻撃者はサーバーになりすますことができます。クライアントから送信されたコマンドとデータを受信し、クライアントに任意の応答を返します。したがって、結局、サーバーホストキーのチェックを無効にするのは良い考えではないかもしれません。

以下は、公開鍵認証を使用した場合に本格的なMITM攻撃を実行できない理由の説明です。私のブログ投稿http://www.gremwell.com/ssh-mitm-public-key-authenticationには、いくつかの詳細が含まれています。

MITM攻撃中に、攻撃者はクライアントとサーバーの間に自分自身を挿入し、2つの別々のSSH接続を確立します。各接続には、独自の暗号化キーとセッションIDのセットがあります。

公開鍵方式を使用して認証するために、クライアントは秘密鍵を使用して一連のデータ(セッションIDを含む)に署名し、その署名をサーバーに送信します。サーバーは署名を検証し、署名が無効な場合は認証の試行を拒否することが期待されます。上で説明したように、サーバーとクライアントは、セッションIDがどうあるべきかについて完全に異なる考えを持っています。これは、MITM攻撃を受けたクライアントによって生成された署名をサーバーが受け入れる方法がないことを意味します。

上記のように、セッションIDは、クライアント-MITM接続とMITM-サーバー接続で異なることが保証されています。これらは、Diffie-Hellmanと個別に、または各接続でネゴシエートされた共有シークレットから計算されます。これは、攻撃者が2つのセッションを同じセッションIDを持つように調整できないことを意味します。

于 2010-12-26T10:01:09.610 に答える
2
  1. いいえ。または少なくとも...直接ではありません。秘密鍵を送信することは決してないので、は安全になります。これは、MITM攻撃を実行している人がコマンドを実行したり、取得した出力を読み取ったりできないことを意味するものではありません。

  2. はい、他にもリスクがあります。MITM攻撃を実行している人がデータを正しいサーバーに転送した場合、アクセスしようとしたマシンで秘密鍵を使用してコマンドを実行できる可能性があります。

于 2010-12-25T06:50:34.327 に答える