15.8. CSRF 攻撃
クロスサイトリクエストフォージェリー (CSRF) 攻撃は、Web サイトがすでに認証されているユーザーからの HTTP 要求を使用します。cookie ベースの認証を使用するサイトはすべて CSRF 攻撃に対して脆弱です。これらの攻撃は、投稿されたフォームまたはクエリーパラメーターに対して状態クッキーを照合することで軽減されます。
OAuth 2.0 ログイン仕様では、状態 cookie を使用し、伝送された状態 state パラメーターと照合する必要があります。Red Hat build of Keycloak は仕様のこの部分を完全に実装しているため、すべてのログインが保護されます。
Red Hat build of Keycloak 管理コンソールは、バックエンドの Red Hat build of Keycloak 管理 REST API への REST 呼び出しを行う JavaScript/HTML5 アプリケーションです。これらの呼び出しにはすべての Bearer トークン認証が必要であり、JavaScript Ajax 呼び出しで構成されているため、CSRF は不可能です。管理 REST API を、CORS のオリジンを検証するよう設定できます。
Red Hat build of Keycloak のアカウントコンソールは、CSRF に対して脆弱になる可能性があります。CSRF 攻撃を防ぐために、Red Hat build of Keycloak は状態クッキーを設定し、このクッキーの値を、アクションリンク内の非表示フォームフィールドまたはクエリーパラメーターに組み込みます。Red Hat build of Keycloak は、クエリー/フォームパラメーターを状態 Cookie と照合して、同じユーザーが呼び出しを行ったことを確認します。