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

CAUTION
AEM 6.4 の拡張サポートは終了し、このドキュメントは更新されなくなりました。 詳細は、 技術サポート期間. サポートされているバージョンを見つける ここ.

Apache Sling Referrer Filter に加えて、Adobeは、この種の攻撃から保護する新しい CSRF 保護フレームワークも提供します。

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

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

要件 requirements

依存関係 dependencies

granite.jquery 依存関係を信頼する任意のコンポーネント は、CSRF 保護フレームワークのメリットを自動的に受けます。どのコンポーネントにも当てはまらない場合、このフレームワークを使用するには granite.csrf.standalone への依存関係を宣言する必要があります。

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

トークンを利用するには、デプロイメント内のすべてのインスタンスに /etc/keys/hmac バイナリをレプリケーションする必要があります。HMAC 鍵をすべてのインスタンスにコピーするには、鍵を格納するパッケージを作成し、パッケージマネージャーを使用してすべてのインスタンスにインストールする方法が便利です。

NOTE
CSRF 対策フレームワークを使用するには、必要なディスパッチャー設定の変更を行ってください。
NOTE
Web アプリケーションでマニフェストキャッシュを使用する場合、トークンがオフラインで CSRF トークンの生成を呼び出さないように、「*」をマニフェストに追加してください。詳しくは、こちらのリンクを参照してください。
CSRF 攻撃とその対策について詳しくは、クロスサイトリクエストフォージェリに関する OWASP のページを参照してください。
recommendation-more-help
2315f3f5-cb4a-4530-9999-30c8319c520e