Keycloak のコンプライアンスを管理する

パスワード ポリシーを設定する

デフォルトでは、Keycloak にはパスワードに関するポリシーはありませんが、この ID プロバイダは、Keycloak 管理コンソールで使用できるさまざまなパスワード ポリシー(パスワードの有効期限、最小長、特殊文字など)を提供します。

パスワード ポリシーを設定するには、Keycloak 管理コンソールで次の手順を行います。

  1. ナビゲーション メニューで [認証] をクリックします。
  2. [パスワード ポリシー] タブをクリックします。
  3. [ポリシーを追加] リストで、適用するポリシーを選択します。
  4. 選択したポリシーに対応するポリシーの値を入力します。
  5. [保存] をクリックします。

ポリシーを保存すると、Keycloak は新しいユーザーにポリシーを適用し、既存のユーザーにパスワード更新アクションを設定して、次回ログイン時にパスワードを変更するようにします。

2 要素認証プロセスを構成する

Keycloak は、FIDO2/WebAuthn プロトコルを介して Yubikey を 2 要素認証(2FA)デバイスとして使用することをサポートしています。

2 要素認証プロセスの有効化

  1. Webauthn 登録必須アクションとして追加します。

    1. ローカル管理者の認証情報を使用して gdch レルムの管理ページを開きます。

    2. ナビゲーション メニューから [Authentication] ページを開き、[Required Actions] タブを開きます。

    3. [Webauthn Register] 項目を有効にします。

    keycloak-webauthn-register.png

  2. ブラウザ フローに Webauthn 認証を追加します。

    1. [フロー] タブに切り替え、ブラウザ フロー名に対応する [複製] ボタンを使用して、既存の ブラウザ フローを ブラウザ YubiKey フローとしてコピーします。

    2. ブラウザの YubiKey フローに切り替えます。

    3. [Browser Yubikey Browser - Conditional OTP] ステップを削除します。

    4. [ブラウザの YubiKey フォーム] ステップに対応する [ステップを追加] ボタンをクリックし、WebAuthn 認証システムを追加します。

    5. [WebAuthn Authenticator] 項目を [Required] に設定します。

    keycloak-yubikey-required.png

  3. [Browser Yubikey] フローに対応する [Bind flow] ボタンを使用し、[Browser Flow] を選択します。

    keycloak-yubikey-binding.png

  4. [保存] をクリックします。

Yubikey を登録する

  1. GDC コンソールを開いてログインします。

  2. gdch レルムで以前に作成したユーザーを使用して、パスワードを入力します。

  3. [登録] ボタンをクリックします。

    keycloak-yubikey-registration-1.png

  4. [USB セキュリティ キー] オプションを選択します。

    keycloak-yubikey-registration-2.png

  5. 挿入した Yubikey をタップします。

    keycloak-yubikey-registration-3.png

  6. 新しいセキュリティ キーの名前を入力します。

    yubikey-label.png

  7. 別のキーに切り替える場合や、このフローをもう一度試す場合は、ローカル管理者アカウントを使用して管理コンソールを開き、ユーザーの [認証情報] タブから YubiKey を削除します。

    yubikey-delete.png

YubiKey でログインする

  1. GDC コンソールからログアウトして、もう一度開きます。

  2. YubiKey を登録したユーザーを使用します。

  3. パスワードを入力したら、YubiKey デバイスを選択します。

    yubikey-login.png

  4. YubiKey デバイスをタップします。

    yubikey-login-select.png

ログイン試行回数のしきい値を設定する

Keycloak にはブルート フォース検出機能があり、ログイン失敗回数が指定されたしきい値を超えると、ユーザー アカウントを一時的に無効にできます。このしきい値は、アカウントへのログインを一時的または永続的にブロックするように構成できます。

ブルート フォース検出を設定するには、Keycloak 管理コンソールで次の操作を行います。

  1. ナビゲーション メニューで [Realm Settings] をクリックします。
  2. [セキュリティ対策] タブをクリックします。
  3. [ブルート フォース検出] タブをクリックします。
  4. [有効] をオンにします。
  5. フィールドに値を設定して、次のようなコンプライアンス要件を満たします。

    • ログイン失敗の最大回数
    • Wait Increment
    • クイック ログイン チェック
    • 最大待機時間
    • Failure Reset time

    keycloak_brute_force.png

GDC エアギャップ アプライアンスの監査ロギング システムに接続する

Keycloak で監査ロギングを有効にする

監査ロギングを有効にするには、Keycloak 管理コンソールを使用して次の手順を行います。

  1. ナビゲーション メニューで [イベント] をクリックします。
  2. [Config] タブをクリックします。
  3. [ログイン イベントの設定] セクションと [管理者イベントの設定] セクションで、[イベントを保存] 切り替えを [オン] に設定します。
  4. [有効期限] フィールドで、イベントを保存する期間を指定します。
  5. [保存されたタイプ] フィールドで、監査に重要と考えるさまざまなアクションを指定します。
  6. [保存] をクリックします。
  7. [ログイン イベント] タブをクリックすると、ユーザー アカウントの操作に関する監査ログが表示されます。
  8. [管理イベント] タブをクリックすると、管理コンソール内で管理者が行った操作に関する監査ログが表示されます。

Keycloak 監査ログを GDC エアギャップ アプライアンスに接続する

Keycloak には、監査ロギングを有効にするための組み込みのサービス プロバイダ インターフェース(SPI)が用意されています。監査ログのエクスポートは、監査ログの複製を Pod 内のファイルとして保存するように Keycloak で構成されています。デフォルトでは、ログはデータベースに保存されます。GDC のエアギャップ アプライアンスのロギング システムは、ボリューム マウントを使用してログを取得し、ログを自動的に解析します。

Keycloak のテーマを変更する

テーマは、Keycloak のさまざまな側面をカスタマイズするための 1 つ以上の型を提供します。使用可能なタイプは次のとおりです。

  • アカウント - アカウント管理
  • 管理者 - 管理コンソール
  • Email - Emails
  • ログイン - ログイン フォーム
  • Welcome - Welcome ページ

Keycloak のテーマを変更する手順は次のとおりです。

  1. Keycloak 管理コンソールにログインします。
  2. プルダウン リストからレルムを選択します。
  3. [Realm Settings] をクリックします。
  4. [テーマ] タブをクリックします。
  5. マスター管理コンソールのテーマを設定するには、マスター レルムの管理コンソールのテーマを設定します。
  6. 管理コンソールの変更内容を確認するには、ページを更新します。

ルート管理者アカウントの管理

Keycloak は、admin/admin という簡単なユーザー名とパスワードを持つ初期ルート管理者アカウントでブートストラップされます。このルート アカウントの保護とセキュリティを確保するには、ブートストラップが完了したらすぐに次の手動の手順を完了します。

  • root 管理者アカウントの安全なパスワードを設定する
  • ルート管理者アカウントの 2FA を設定する

認証情報をルート管理者アカウントにエスクローして、安全な場所に保管することをおすすめします。