SSH パスワード認証がセキュリティ上のリスクとなるのはなぜですか?

SSH パスワード認証がセキュリティ上のリスクとなるのはなぜですか?

OpenSSH 構成のガイドのほとんどでは、パスワード認証を無効にしてキーベースの認証を使用するようにアドバイスしています。しかし、私の意見では、パスワード認証には、キーなしでどこからでも接続できるという大きな利点があります。常に強力なパスワードを使用して使用する場合、これはセキュリティ リスクにはなりません。それとも、リスクになるのでしょうか?

答え1

パスワードベースまたはキーベースの認証にはそれぞれ長所と短所があります。

例えば、キーベースの認証は少ないパスワード認証よりも安全です。他の場合には、パスワードベースのほうが安全性が低くなります。ある場合には、どちらか一方がより便利で、他の場合には、より不便です。

結局のところ、鍵ベースの認証を行うと、しなければならないパスフレーズでキーを保護します。ssh-agent を実行しない限り (ssh-agent を使用すると、パスフレーズを毎回入力する必要がなくなります)、利便性の面では何のメリットもありません。セキュリティは議論の余地があります。攻撃ベクトルはサーバーから、あなた、またはあなたのアカウント、またはあなたの個人用マシンに移行しました (...) - これらは、破られやすい場合とそうでない場合があります。

これを決定するときは、固定観念にとらわれずに考えてください。セキュリティの面で利益が得られるか損失が出るかは、環境の残りの部分やその他の対策によって決まります。

編集: ああ、ホームサーバーについて話しているのを今知りました。私も同じ状況でした。「パスワード」か「キーが入ったUSBスティック」を常に持っていました。私は前者を選びましたしかしSSH リスニング ポートを 22 以外のポートに変更しました。これにより、ネットワーク範囲全体をブルート フォース攻撃する下手なスクリプト キディをすべて阻止できます。

答え2

~/.ssh/authorized_keysSSH キーを使用すると、パスワード ログインと比べて 1 つのユニークな機能があります。許可されるコマンドを指定できます。これは、サーバー上のファイルを変更することで実行できます。

例えば、

command="/usr/local/bin/your_backup_script.sh", ssh-rsa auiosfSAFfAFDFJL1234214DFAfDFa...

特定のキーを持つコマンド「/usr/local/bin/your_backup_script.sh」のみを許可します。

キーに許可されるホストを指定することもできます。

from="yourclient,yourotherclient", ssh-rsa auiosfSAFfAFDFJL1234214DFAfDFa...

あるいは、2つを組み合わせることもできます。

from="yourbackupserver", command="/usr/local/bin/your_backup_script.sh", ssh-rsa auiosfSAFfAFDFJL1234214DFAfDFa...

キーを使用すると、特定のアカウントのパスワードを明かすことなく、あるユーザー (たとえば、コンサルタント) にサーバーへの一時的なアクセスを許可することもできます。コンサルタントが仕事を終えたら、一時的なキーを削除できます。

答え3

ネットワーク内からのパスワード認証のみを許可することで、両方の長所を活かすことができます。 の末尾に以下を追加しますsshd_config

PasswordAuthentication no
Match Address 10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
    PasswordAuthentication yes

答え4

SSH キーは、パスワードに対する中間者攻撃を防ぎます。

キーを使用してログインしようとすると、サーバーは公開キーに基づいてチャレンジを作成し、それをクライアントに送信します。クライアントはそれを復号化し、送信する適切な応答を作成します。

あなたの秘密鍵はサーバーに送信されることはなく、傍受している人は、その単一のセッションを傍受する以外は何もできません。

パスワードがあれば、あなたの資格情報を入手することができます。


私の解決策は、USB キーの暗号化されたパーティションに適切な形式のポータブル SSH キーを用意することです。これにより、紛失した場合にキーを簡単に取り戻すことができます。
アクセスできるサーバーを制限し
ながらも、持ち歩くことができます。

マウントソフトウェアのインストールは面倒ですが(truecrypt)

関連情報