web-dev-qa-db-ja.com

パテの設定-警告するプロトコルとアルゴリズム

「PuTTY」を指定します。そうしないと、質問が広すぎると思います。

Sshサーバーにログオンするときに警告する必要のあるアルゴリズム(2016年3月現在)(つまり、もはや安全と見なされなくなったもの)とは...

PuTTYについては、構成の「SSH」セクションと「SSH-Kex」セクション、つまり暗号化暗号と鍵交換アルゴリズムについて説明したいと思います。 (そしてあなたが追加したいかもしれない他の関連する設定)

「SSH」「暗号化暗号選択ポリシー」の一般的な選択肢:

AES (SSH-2 only)
Blowfish
3DES
Arcfour (SSH-2 only)
DES

そしてSSHの場合-Kex(鍵交換)

Diffie-Hellman group exchange
Diffie-Hellman group 14
Diffie-Hellman group 1
RSA-based key exchange

PuTTYを使用すると、「ここの下に警告」設定を移動できますが、最近はどこに配置すればよいのか...ポインターを歓迎します!

単純な検索では十分ではありませんでした...そして、各回答に日付を付けて、それらが関連性についてのヒントを提供することを確認することもできます。可能]

3
Olivier Dulac

SSHでは、すべてのアルゴリズムクラス(暗号化、MAC、鍵交換、公開鍵認証)について、クライアントとサーバーがサポートされているアルゴリズムのリストを相互に送信します。クライアントリストは優先順位で並べられ、その優先順位は高く評価されます。プロトコルは、選択されたアルゴリズムが、対応するサーバーリストにも表示される各クライアントリストの最初になるように定義されています。

この点を思い出すのは、この「ここの下で警告する」オプションが本当に意味することを強調しているからです。これは、人間のユーザーが実際に使用したくないアルゴリズムがいくつかあることを意味しますが、何らかの理由で、サポートされているアルゴリズムのリストにそれらを含めました。では、人間のユーザーが警告を受けた場合、実際にはどうするのでしょうか。 「OK、わかりました」をクリックして接続を続行しますか?それとも彼は救済されますか?したがって、最初のケースではアルゴリズムは機能的にサポートされますが、2番目のケースではサポートされません。これらの条件下で警告ポップアップを表示することは本当に意味がありますか?ユーザーが接続を続行するか中止するかを決定する以外に警告について何もしない場合、警告は意味がありません。ユーザーが使用する準備ができていないすべてのアルゴリズムをリストから単に除外するほうが簡単で安全です。

この警告は、ユーザー(クライアント側)が、ある時点でサーバーの構成を変更できる場合に役立ちます。これは、誤って構成されたサーバーのインジケータとして機能し、ユーザーが後で修正する場合があります。


そうは言っても、いくつかのアルゴリズムが他のアルゴリズムよりも好ましい理由があります。順不同:

  • プロトコルバージョンはSSH2のみである必要があります。 SSH1には欠陥があり、通信しようとしているサーバーがSSH1のみをサポートしている場合は、非常に古いソフトウェアであり、修正されていない既知の脆弱性が存在するため、実際にはそのサーバーに接続する必要はありません。

  • DESは56ビットのキーを使用します(正式には64ビットですが、8ビットはプロセスで無視されるため、事実上56ビットです)。これは、少しの予算(数百万ではなく数千ドル)での攻撃者による徹底的な検索の範囲内であるため、本当にそれを避けたいです。

  • RC4には既知のバイアスがあります。 SSHは、RC4出力の最初の1536バイトを破棄するいくつかのバリアントをサポートできます。これにより、すべてではありませんが、最大のバイアスが取り除かれます。 SSHのコンテキストでのRC4バイアスの公開された実用的なエクスプロイトはまだありませんが、これはまだ心配であり、RC4を使用しないことをお勧めします。

  • Blowfishと3DESは64ビットのブロック暗号です。 SSHでは、それらはCBCモードで使用されます。つまり、暗号化した後で問題が発生し始めます。32 ブロック(各8バイト)、つまり約32ギガバイト。 1つの接続でギガバイトのデータをときどき転送する場合は、64ビットのブロック暗号を避け、AESなどの128ビットのブロック暗号に集中する必要があります。

  • 3DESはソフトウェアで遅いです。これは、高速ネットワーク(ギガビットイーサネット)または非常に低速なハードウェア(PCではない)の場合に問題になることがあります。

  • 選択できる場合は、CBCではなく、GCMやCTRなどの「最新の」暗号化モードを選択してください。モードは、ブロック暗号が使用される方法を記述します。

  • 鍵交換の場合、1024ビットのモジュラスを使用する「グループ1」を避けたい場合があります。 1024ビットの素数を法とするDiffie-Hellmanの破壊は、公開デモでは行われていません(現在の記録は 596-bitモジュラス です)が、人類が技術的に到達できる範囲内にあります(予測される予算は数十または数億ドル)。 「グループ14」は2048ビットのモジュラスであり、問​​題ありません。

  • 「Diffie-Hellmanグループ交換」は、サーバーが選択したパラメーターのDHであり、通常のサーバーは、少なくとも認証公開鍵の強度に一致するパラメーターを選択するよう注意します。したがって、サーバー(またはその管理者)が何も愚かでない限り、これは安全です。

  • RSAキー交換は、サーバー側で一時的なRSAキーペアを生成する必要があるため、非常にまれです。通常のサーバーはそれを行いません。


したがって、私のアドバイスは次のとおりです。AESではないすべての対称暗号を削除します。 DHグループ14と「DHグループ交換」のみを保持します。 「警告」の制限を気にしないでください。代わりに、接続の失敗を警告として使用します。正しいパラメータで特定のサーバーに接続できない場合は、何かがおかしいので一時停止して考える必要があります-強制アボートは、単純な警告ポップアップよりも考えさせる可能性が高くなります。特定のサーバーでAESがサポートされていないのは普通のことかもしれませんが、これには明示的な決定が必要であり、無視するのが簡単なポップアップではありません。

5
Thomas Pornin