
緩和戦略として提案されているのは、ログジャムSSHに対する関連の攻撃は、次のようなものを使用してカスタムSSH Diffie-Hellmanグループを生成することです(以下はOpenSSH用です)。
ssh-keygen -G moduli-2048.candidates -b 2048
ssh-keygen -T moduli-2048 -f moduli-2048.candidates
続いて、システム全体のモジュライ ファイルを出力ファイル に置き換えますmoduli-2048
。(ssh-keygen -G
は、候補となる DH-GEX 素数を生成し、ssh-keygen -T
生成された候補の安全性をテストするために使用されます。)
これは、事前計算に適したよく知られたグループを使用するSSHサーバーでは明らかに合理的なことですが、カスタム SSH DH グループをクライアントのみのシステムに導入すると、セキュリティ上の利点はありますか?(つまり、SSH サーバーに接続するが、それ自体は SSH サーバーとして動作しないシステムです。)
私は主に Linux 上の OpenSSH に関する回答に興味がありますが、より一般的な回答もいただければ幸いです。
答え1
本当に必要ならそうすることもできますが、OpenSSHの2048ビットDHパラメータを再生成する手間はかかりません。もっと重要なことが必要です。SSHを安全にするために、弱い暗号を無効にするなど。
私がだろう2048 ビット未満の既存のものを削除します。
awk '$5 >= 2000' /etc/ssh/moduli > /etc/ssh/moduli.strong && \
mv /etc/ssh/moduli.strong /etc/ssh/moduli
気づいていないかもしれませんが、OpenSSH には、最大 8192 ビットまでの多数の事前生成モジュラスが付属しています。現在、1024 ビットの素数については確かに懸念がありますが、2048 ビットの素数は当面安全だと考えられています。そして、それは最終的には変わるでしょうが、来週になる可能性もありますが、私たちが年金受給者になってからずっと後になる可能性が高いでしょう...
man ページには次のような興味深い記述もありますssh-keygen
。
このファイルにはさまざまなビット長のモジュラスが含まれており、接続の両端が共通のモジュラスを共有することが重要です。
これは、既存のモジュラスを置き換えることに反対しているように見えますが、実際にそうする理由は示されていません。
答え2
答えは「いいえ」です。メリットはありません。:)
/etc/ssh/moduli
ファイルはサーバー側でのみ使用されます。
SSH クライアント側ではそのファイルについて心配する必要はありません。
SSH クライアントの実行をトレースし、そのファイルが開かれていないことを確認できます。
$ strace -e openat ssh user@localhost