16.16. サーバーサイドリクエストフォージェリー (SSRF) の軽減
サーバーサイドリクエストフォージェリー (SSRF) とは、攻撃者がサーバー (この場合は Red Hat build of Keycloak) を誘導して、意図しない宛先にリクエストを送信させるセキュリティー上の脆弱性です。Red Hat build of Keycloak では、このリスクは主に、JWKS URI など、サーバーからのリクエストをトリガーするクライアントフィールドに関連しています。
これらのフィールドが厳密に検証されていない場合、悪意のある管理者、侵害されたアカウント、または動的クライアント登録により、フィールドが内部ネットワークのリソースやループバックインターフェイス (例: http://localhost:8080/any) に向けて誘導される可能性があります。攻撃者はこれを利用して、Red Hat build of Keycloak サーバー自体から内部インフラストラクチャーを調査または攻撃することができます。
この脅威を軽減するために、Red Hat build of Keycloak は クライアントポリシー を使用したソリューションを提供しています。これには、トランスポートセキュリティーとワイルドカードに対する基本的な保護を提供する Secure Client URIs などのエグゼキューターが含まれますが、特に Secure Client URIs Pattern エグゼキューターの使用が効果的です。
16.16.1. Secure Client URIs Pattern Executor リンクのコピーリンクがクリップボードにコピーされました!
このエグゼキューターは、クライアント URI を パターンの許可リスト と照合することで、厳格なセキュリティーポリシーを適用します。URI が 1 つ以上の設定されたパターンにマッチしなかった場合、クライアントの作成または更新が拒否されます。
これは、JWKS URI だけでなく、rootUrl、adminUrl、redirectUris、webOrigins など、クライアントで使用可能なすべての URI フィールドを検証するために使用できます。
| 設定 | 説明 |
|---|---|
| Allowed URI Patterns | 正規表現のリスト。クライアント URI は、リスト内のパターンの少なくとも 1 つにマッチする場合に のみ 有効とみなされます。このリストが空または無効な場合、エグゼキューターは すべて の URI をブロックします。 |
| Client URI Fields to validate |
検証対象となる特定のクライアントフィールドのリスト (例: |