ドキュメントCommerce設定ガイド

PaaS のみ

キャッシュのポイズニングを防止

2024年7月15日
  • トピック:
  • 設定
  • キャッシュ

作成対象:

  • 経験者
  • 管理者
  • 開発者

ここでは、Microsoft Internet Information Server (IIS) Web サーバを使用する場合に、キャッシュ ポイズニングを防止する方法について説明します。 キャッシュポイズニング は、キャッシュコンテンツを変更して、同じサイトの異なるページを含める方法です。 例えば、無害なページ(ストアフロントのホームページなど)の代わりに HTTP 404 (見つかりません)エラーページを挿入し、サービス拒否(DoS)の可能性につながる可能性があります。 悪意のあるページの URL は、Varnish または Redis によってキャッシュされるので、名前は ページキャッシュポイズニング になります。

これらのタイプの攻撃は、web サーバーのログにエラーが記録されないので、検出が困難な場合があります。

このソリューションは、次のCommerce バージョンに適用されます。

  • 2.0.10 以降
  • 2.1.2 以降
INFO
このトピックは、経験豊富な IIS 管理者を対象としています。

説明

この問題は、URL の書き換えが IIS サーバーで有効になっており、リクエストが Varnish または Redis キャッシュサービスに到達する前に、次の HTTP ヘッダーのいずれかが変更された場合に発生します。

  • X-Rewrite-Url
  • X-Original-Url
  • IIS-wasurlrewritten
  • Unencoded-URL
  • Orig-path-info

これらのヘッダーが変更されると、結果として生成される URL とコンテンツがキャッシュされるので、潜在的な脆弱性が発生します。

解決策

Enable_IIS_Rewrites の IIS サーバー設定に基づいて、上記のすべてのヘッダーの値を削除するオプションを提供します。

  • Enable_IIS_Rewrites を 0 に設定すると、ヘッダーの値が削除されます。
  • Enable_IIS_Rewrites を 1 に設定すると、ヘッダーの値はそのまま残ります。
WARNING
Enable_IIS_Rewrites を 1 に設定した場合、要求が IIS Web サーバーに到達する前に、前のヘッダーの値を変更できないようにする必要があります。
recommendation-more-help
386822bd-e32c-40a8-81c2-ed90ad1e198c