OpenSSH:弱い(<2048ビット)RSAキーを禁止する方法

OpenSSH:弱い(<2048ビット)RSAキーを禁止する方法

OpenSSHサーバーに弱い(例えば<2048ビット)RSAキー?わかりましたPubkeyAccetedAlgorithms以下を含む特定のキータイプを禁止できます。rsa-sha2、全体的に。

答え1

ランタイム構成は可能ではありませんが、SSH_RSA_MINIMUM_MODULUS_SIZE次のコンパイル時定義を変更できます。sshkey.hそして再コンパイルしてください:

#define SSH_RSA_MINIMUM_MODULUS_SIZE    1024

到着

#define SSH_RSA_MINIMUM_MODULUS_SIZE    2048

それ以外の場合は、短いキーをインストールしないでください。authorized_keys少なくともエンコードされたキーの長さを実際のキーの長さの指標として受け入れる場合は、ユーザーファイルからその長さより短いキーを検索できます。

2048 ビット RSA キーのエンコード長は 372 文字なので、次の内容が短いキーと一致する可能性があります。

grep -E 'ssh-rsa [a-zA-Z0-9+/=]{,371}( |$)' file...

答え2

これRequiredRSASizeオプションが追加されましたオープンSSH 9.1、2022年10月4日に投稿:

  • ssh(1), sshd(8): 必須RSASizeディレクティブを追加して、最小RSAキーの長さを設定します。 sshd(8) のユーザー認証およびホスト認証の場合、この長さ未満のキーは無視されます。

    サーバーが提供するRSAキーがこの制限を下回ると、SSHプロトコルに失敗したキー交換を再試行する機能がないため、ssh(1)は接続を終了します。

関連情報