16.3. 総当たり攻撃
総当たり攻撃は、複数回ログインを試みることで、ユーザーのパスワードを推測しようとします。Red Hat Single Sign-On には、総当たり検出機能があり、ログインの失敗数が指定のしきい値を超えると、ユーザーアカウントを一時的に無効にできます。
Red Hat Single Sign-On は、デフォルトで総当たり検出を無効にします。この機能を有効にして、総当たり攻撃から保護します。
手順
この保護を有効にするには、以下を実行します。
- メニューで Realm Settings をクリックします。
- Security Defenses タブをクリックします。
Brute Force Detection タブをクリックします。
総当たり攻撃の検出
Red Hat Single Sign-On は、攻撃の検出時に永続的なロックアウトおよび一時ロックアウトアクションをデプロイできます。永続的なロックアウトは、管理者が有効にするまでユーザーアカウントを無効にします。一時的なロックアウトは、特定の期間、ユーザーアカウントを無効にします。攻撃が続くと、アカウントが無効になる期間が長くなります。
ユーザーが一時的にロックされ、ログインを試みると、Red Hat Single Sign-On にデフォルトの Invalid username or password
エラーメッセージが表示されます。このメッセージは、アカウントが無効になっていることに攻撃者が気付かないようにするために、無効なユーザー名または無効なパスワードに対して表示されるメッセージと同じエラーメッセージです。
一般的なパラメーター
Name | 説明 | デフォルト |
---|---|---|
Max Login Failures | ログイン失敗の最大数。 | 30 回失敗 |
Quick Login Check Milliseconds | ログイン試行の最小時間。 | 1000 ミリ秒 |
Minimum Quick Login Wait | ログイン試行が Quick Login Check Milliseconds よりも短い場合にユーザーが無効になる最小時間。 | 1 分 |
永続的なロックアウトフロー
正常なログイン時
-
count
のリセット
-
ログインの失敗
-
count
のインクリメント count
が Max Login Failures を超える数の場合- ユーザーを完全に無効にする
それ以外の場合、この障害から最後の障害までの時間がQuick Login Check Milliseconds 未満の場合
- 最小クイックログイン待機のユーザーを一時的に無効にする
-
Red Hat Single Sign-On でユーザーを無効にすると、管理者がユーザーを有効にするまでログインできません。アカウントを有効にすると、カウント
がリセットされます。
一時的なロックアウトパラメーター
Name | 説明 | デフォルト |
---|---|---|
Wait Increment | ユーザーのログイン試行が Max Login Failures を超えると、ユーザーが一時的に無効になる時間に追加された時間。 | 1 分 |
Max Wait | ユーザーが一時的に無効になっている最大時間。 | 15 分 |
Failure Reset Time | 失敗数がリセットされる時間。最後にログインに失敗したタイミングからタイマーが実行されます。 | 12 時間 |
一時的なロックアウトアルゴリズム
正常なログイン時
-
count
のリセット
-
ログインの失敗
この障害から最後の障害までの時間がFailure Reset Time よりも長い場合
-
count
のリセット
-
-
count
のインクリメント -
Wait Increment * (
count
/ Max Login Failures) を使用してwait
を計算します。除算は、整数に丸められる整数除算です。 wait
時間が 0 で、この失敗から最後の失敗までの時間が Quick Login Check Milli Seconds よりも小さい場合は、代わりにwait
を Minimum Quick Login Wait に設定してください。-
wait
秒および Max Wait 秒の短い方のユーザーを一時的に無効にします。
-
一時的に無効にされたアカウントがログインに失敗した場合、カウントは増加しません。
Red Hat Single Sign-On の総当たり検出の欠点として、サーバーが DoS 攻撃に対して脆弱であることが挙げられます。DoS 攻撃を実装する場合に、攻撃者は知っているアカウントのパスワードを推測してログインを試み、最終的には Red Hat Single Sign-On によりアカウントが無効されるように試みることができます。
侵入防止ソフトウェア (IPS) の使用を検討してください。Red Hat Single Sign-On は、ログインの失敗とクライアント IP アドレスの失敗をすべてログに記録します。IPS を Red Hat Single Sign-On サーバーのログファイルにポイントでき、IPS はファイアウォールを変更して、IP アドレスからの接続をブロックします。
16.3.1. パスワードポリシー
複雑なパスワードポリシーで、ユーザーが強制的に複雑なパスワードを選択するようにします。詳細については、パスワードポリシー の章を参照してください。Red Hat Single Sign-On サーバーでワンタイムパスワードを使用するように設定することで、パスワードの推測を防ぎます。