SSH Key Exchangeはパスワード認証よりも安全ですか?


9

リモートユーザーは、SSHを使用してインターネット経由で本社のいくつかのサービスに接続します。SSHパスワードは、LAN A / Dアカウントと同期されます。

ユーザーがパスワードを入力するよりも、CDや紙などを使用してSSHキーのコピーを自宅に持ってくる方が安全でしょうか?それとも両方必要ですか?

私の質問はおそらく次のように再定式化できます。SSHのパスワード認証プロトコルに脆弱性はありますか?

疑わしいのはこのメッセージです:

The authenticity of host 'xxx.xxx.xxx.xxx (xxx.xxx.xxx.xxx)' can't be established.
RSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:.
Are you sure you want to continue connecting (yes/no)?

回答:


22

表示されているメッセージは別の問題です。接続しているホストが実際に想定しているホストであることを確認するように求められます。サーバーから、を実行してフィンガープリントを取得できますssh-keygen -l -f /etc/ssh/ssh_host_rsa_key.pub。その後、初めてリモートで接続するときに、指紋が一致することを確認できます。

ここで実際に見られるホストキーは、中間者攻撃の問題に対処します。おそらくDNSが破壊されており、自分のマシンではなく、競合他社のマシンに接続しています。そのマシンは資格情報を収集し、接続を実サーバーに透過的に転送して、知らないうちに情報を盗みます。ホストキーが一致していることを確認することで、攻撃者が実際にサーバーの公開キーを盗んだ場合を除き、これが発生するのを防ぎます。

ただし、問題は残っています。どのキーが正しいかをどのようにして知るのですか?最初の接続後、公開鍵は~/.ssh/known_hostsファイルに保存されるため、その後の接続は問題ありません。ただし、初めて、帯域外でフィンガープリントを取得する方法が必要になるか、「TOFU」モデルの「最初に使用する」を使用します。

ただし、キーとパスワードの両方がこの攻撃によって盗まれる可能性があることを除いて、これはパスワードとキーには何の関係もありません-ある意味では、それはあなたが求めている脆弱性です。

パスワードがキーよりも悪い理由は(少なくとも)3つあります。

  1. 彼らは総当たりすることができます。ユーザーが選択する一般的な8文字のパスワードには、約30ビットの推測エントロピーがあります。sshの公開鍵と秘密鍵のペアは1024ビット以上です。sshキーを総当たりすることは事実上不可能ですが、自動化されたパスワード推測は常に発生します。
  2. 彼らはばかげていることができます。ユーザーは、制限が設けられていても、日常的にひどいパスワードを選択し、複数の場所でより難しいパスワードを使用する傾向があります。これは明らかに攻撃を容易にします。
  3. パスワードはリモートで盗まれる可能性があります。SSHを使用している場合、パスワードはネットワーク上で暗号化されますが、sshサーバーが侵害されたシステムですべてのパスワードをログに記録するシステムに置き換えられることは非常に一般的です。キーを使用すると、秘密キーはローカルシステムに残り、まったく送信されないため、クライアントマシンを実際に侵害することなく盗むことはできません。

さらに、sshキーは次のようなものと一緒に使用すると便利ssh-agentです。適度なセキュリティを維持しながら、毎回再認証することなく接続するという面倒な操作を行うことができます。

秘密鍵を盗むのに十分なアクセス権を持つユーザーが、ユーザーのパスワードもかなり簡単に盗む可能性があるため、両方を要求することには大きな利点はありません。これ以上のセキュリティが必要な場合は、RSA SecurIDやWiKIDなどの2要素認証システムを検討することを検討してください


すばらしい答えです。まさに私が探していたもの。ありがとう!
srmark 2010年

番号3に関して)すでに侵害されたサーバーにログインしている場合...なぜ誰かがあなたのパスワードを必要とするのですか?私が考えることができる唯一の理由は、どこでも同じパスワードを使用している場合です。
Sirex

Sirex-右; 彼らはあなたのパスワードを盗んで他のシステムで使用します。質問では、パスワードは「LAN A / D」として使用されることに注意してください。そのため、彼らはsshログインサーバーからパスワードを盗み、Windowsサーバーにもアクセスします。さらに、今、システムが危険にさらされるたびに、「大丈夫、誰もがもう一度パスワードを変更する」ファイアドリルを通過する必要があります。
mattdm 2010年

また、番号2に記載されているように、ユーザーどこでも同じパスワードを使用しています。はぁ。
mattdm 2010年

厄介なユーザーとダウン!:(
Sirex

1

あなたが本当に求めていることは、「他のものよりも1つの要素が優れている」ということです。トピックは多要素認証であり、実際にこのトピックを調べることをお勧めします。

通常、「要素」は、あなたが知っているもの(パスワード)、持っているもの(sshファイルまたはキースワイプカード)、またはあなたが知っているもの(指紋)です。

1つはそれ自体よりも優れているわけではありません。キーファイルでCDを失うことは、それが必要なすべての場合にパスワードを漏らすのと同じくらい悪いことです。安全な環境では、2要素認証が一般的です。


はい、あなたの言っていることが理解できます。ただし、この場合は、中間の人のようなものを使用してパスワード認証をハッキングできるかどうかを調べようとしています。
srmark 2010年

具体的な例としてのsshの場合、いいえ、パスワードを与えるセクションも暗号化されており、キーはセッション中に変更されます(30秒と思います)。ただし、これはパスワードとパスキーの関係ではありません
Sirex
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.