第6章 認証

レルムに認証を設定する際に認識する必要がある機能は複数あります。多くの組織には、パスワードと OTP ポリシーが厳しいため、管理コンソールの設定で有効にすることができます。また、認証に異なる認証情報タイプを必要としない場合もあります。Kerberos 経由でログインするオプションを指定するか、さまざまな組み込み認証情報タイプを無効にすることもできます。本章では、これらのトピックをすべて説明します。

6.1. パスワードポリシー

作成された各レルムには、パスワードポリシーが関連付けられていません。ユーザーは、必要時にパスワードをセキュリティー保護していない限り、短期間と設定できます。シンプルな設定は、Red Hat Single Sign-On を開発または学習しても問題ありませんが、実稼働環境では受け入れられません。Red Hat Single Sign-On には、管理コンソールで有効化できるパスワードポリシーのセットがあります。

左側のメニュー項目 Authentication をクリックし、Password Policy タブに移動します。右側のドロップダウンリストボックスに、追加するポリシーを選択します。これにより、画面の表にポリシーが追加されます。ポリシーのパラメーターを選択します。Save ボタンをクリックして変更を保存します。

パスワードポリシー

password policy

ポリシーを保存した後、ユーザー登録と更新パスワードが必要なアクションにより、新しいポリシーが強制的に実行されます。ポリシーチェックに失敗するユーザーの例:

失敗したパスワードポリシー

failed password policy

パスワードポリシーを更新したら、すべてのユーザーに更新 パスワード アクションを設定する必要があります。自動トリガーは、今後の拡張機能としてスケジュールされます。

6.1.1. パスワードポリシータイプ

以下は、各ポリシータイプについて説明します。

ハッシュアルゴリズム
パスワードはクリアテキストとして保存されません。代わりに、保存または検証する前に、標準のハッシュアルゴリズムを使用してハッシュ化されます。サポートされる値は pbkdf2、pbkdf2-sha256 および pbkdf2-sha512 です。
ハッシュ化のハッシュ
この値は、パスワードが格納または検証される前にハッシュ化される回数を指定します。デフォルト値は 27,500 です。このハッシュは、ハッカーがパスワードデータベースにアクセスするというまれなケースで実行されます。データベースへのアクセスを取得したら、元に戻すためのユーザーパスワードを元に戻します。CPU の電源が向上するため、このパラメーターに推奨される値は毎年変わります。ハッシュの反復値が高くなると、ハッシュのために CPU 能力が多くなり、パフォーマンスに影響する可能性があります。パフォーマンスやパスワードストアを保護する上で、より重要な内容を重み付けする必要があります。パスワードストアを保護するには、よりコスト効率の高い方法です。
数字
パスワード文字列に必要な数字の数。
小文字の文字
パスワード文字列に必要な小文字の数。
大文字文字
パスワード文字列に必要な大文字の数。
特殊文字
パスワード文字列に必要な '?!#%$' などの特殊文字の数。
ユーザー名なし
これが設定されている場合、パスワードはユーザー名と同じにすることはできません。
正規表現
パスワードが一致する必要がある 1 つ以上の正規表現パターン (java.util.regex.Patternで定義) を定義します。
パスワードを失効
パスワードが有効な日数。日数が経過したら、パスワードを変更する必要があります。
最近使用されていない
このポリシーは、以前のパスワードの履歴を保存します。格納される古いパスワードの数は設定可能です。ユーザーがパスワードを変更すると、保存されたパスワードは使用できません。
パスワードのブラックリスト
このポリシーは、特定のパスワード (小文字に変換) がブラックリストファイルに含まれているかどうかを確認します。これは、非常に大きなファイルである可能性があります。パスワードブラックリストは、Unix 行を持つ UTF-8 プレーンテキストファイルで、行はすべてブラックリスト化されたパスワードを表します。大文字と小文字を区別しない比較を容易にするために、ブラックリスト内のパスワードはすべて小文字である必要があります。ブラックリストファイルのファイル名はパスワードポリシーの値として指定する必要があります (例: 10_million_password_list_top_1000000.txt)。ブラックリストファイルは、デフォルトで ${jboss.server.data.dir}/password-blacklists/ に対して解決されます。このパスは、keycloak.password.blacklists.path システムプロパティーまたは passwordBlacklist ポリシー SPI 設定の blacklistsPath プロパティーを使用してカスタマイズできます。