[PaaS のみ]{class="badge informative" title="Adobe Commerce on Cloud プロジェクト(Adobeが管理する PaaS インフラストラクチャ)およびオンプレミスプロジェクトにのみ適用されます。"}

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

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