CSRF 対策フレームワーク

最終更新日: 2023-05-04
  • トピック:
  • Developing
    このトピックの詳細を表示
  • 作成対象:
  • Developer
注意

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

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

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

メモ

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

要件

依存関係

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

暗号鍵のレプリケーション

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

メモ

CSRF 対策フレームワークを使用するには、必要なディスパッチャー設定の変更を行ってください。

メモ

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

CSRF 攻撃とその対策について詳しくは、クロスサイトリクエストフォージェリに関する OWASP のページを参照してください。

このページ