キャッシュのポイズニングを防止
ここでは、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-UrlX-Original-UrlIIS-wasurlrewrittenUnencoded-URLOrig-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