使用可能なSSHキーテクノロジーと最小長さの制限
ssh-keygen
を使うと、ユーザーは768ビットという少ないビット数でRSA鍵を作成することができます。これは、特定の標準化グループ(米国のNISTなど)が推奨する鍵長を大きく下回るものです。GitLabをデプロイしている組織によっては、内部セキュリティポリシーを満たすため、あるいは規制遵守のために、最小限の鍵強度を強制する必要があります。
同様に、特定の標準化グループは古いDSAよりもRSA、ECDSA、ED25519、ECDSA_SK、ED25519_SKの使用を推奨しており、管理者は許可されるSSHキーアルゴリズムを制限する必要があるかもしれません。
GitLabでは、許可されるSSHキーテクノロジーを制限したり、各テクノロジーで最小のキー長を指定したりすることができます:
- 左のサイドバーで、Search を選択するか、次のページに進んでください。
- Admin Areaを選択します。
- 左サイドバーで、設定 > 一般を選択します。
-
可視性とアクセス制御] セクションを展開します:
鍵タイプに制限が課された場合、ユーザーはその要件を満たさない新しいSSH鍵をアップロードできません。制限を満たさない既存の鍵は無効化されますが削除はされず、ユーザーはその鍵を使用してコードをプルまたはプッシュすることはできません。
制限された鍵のユーザーには、プロフィールの SSH 鍵セクションにアイコンが表示されます:
このアイコンにカーソルを合わせると、その鍵がなぜ制限されているかがわかります。
デフォルト設定
デフォルトでは、GitLab.comとセルフマネージドでサポートされているキータイプの設定は以下のようになっています:
- RSA SSHキーが許可されています。
- DSA SSHキーは禁止されています(GitLab 11.0以降)。
- ECDSA SSHキーは許可されています。
- ED25519 SSH キーの使用が許可されています。
- ECDSA_SK SSHキーが使用できます(GitLab 14.8以降)。
- ED25519_SK SSHキーが使えます(GitLab 14.8以降)。
禁止または危殆化した鍵をブロック
- GitLab 15.1から
ssh_banned_key
というフラグで導入。デフォルトで有効。- GitLab 15.2で一般的に利用可能に。機能フラグ
ssh_banned_key
は削除されました。
ユーザーがGitLabアカウントに新しいSSHキーを追加しようとすると、そのキーは漏洩が確認されているSSHキーのリストと照合されます。ユーザーはこのリストからどのGitLabアカウントにも鍵を追加できません。この制限は設定できません。この制限が存在するのは、鍵ペアに関連付けられた秘密鍵が公開されており、その鍵ペアを使用してアカウントにアクセスできるためです。
鍵がこの制限によって許可されない場合は、代わりに新しいSSHキーペアを生成してください。