CSRF 対策フレームワーク the-csrf-protection-framework

アドビでは、Apache Sling リファラーフィルター以外にも、この種の攻撃を防ぐための新しい CSRF 対策フレームワークを用意しています。

このフレームワークでは、トークンを利用して、クライアントのリクエストが正当なものであることを保証します。トークンは、フォームがクライアントに送信されるときに生成され、フォームがサーバーに返されるときに検証されます。

NOTE
パブリッシュインスタンスでは、匿名ユーザーのトークンはありません。

要件 requirements

依存関係 dependencies

granite.jquery の依存関係を使用するコンポーネントは、CSRF 対策フレームワークのメリットを自動的に活用できます。いずれかのコンポーネントがこのメリットを活用できない場合は、フレームワークを使用する前に granite.csrf.standalone に対して依存関係を宣言する必要があります。

暗号鍵のレプリケーション replicating-crypto-keys

トークンを利用するには、デプロイメント内のすべてのインスタンスに HMAC バイナリをレプリケートする必要があります。詳しくは、HMAC キーのレプリケーションを参照してください。

NOTE
CSRF 対策フレームワークを使用するには、必要なDispatcher 設定の変更を行ってください。
NOTE
Web アプリケーションでマニフェストキャッシュを使用する場合、トークンがオフラインで CSRF トークンの生成を呼び出さないように、「*」をマニフェストに追加してください。詳しくは、こちらのリンクを参照してください。

CSRF 攻撃とその対策について詳しくは、[クロスサイトリクエストフォージェリに関する OWASP のページ](https://owasp.org/www-community/attacks/csrf)を参照してください。

recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2