キャッシュのポイズニングを防止
2024年7月15日
作成対象:
- 経験者
- 管理者
- 開発者
ここでは、Microsoft Internet Information Server (IIS) Web サーバを使用する場合に、キャッシュ ポイズニングを防止する方法について説明します。 キャッシュポイズニング は、キャッシュコンテンツを変更して、同じサイトの異なるページを含める方法です。 例えば、無害なページ(ストアフロントのホームページなど)の代わりに HTTP 404 (見つかりません)エラーページを挿入し、サービス拒否(DoS)の可能性につながる可能性があります。 悪意のあるページの URL は、Varnish または Redis によってキャッシュされるので、名前は ページキャッシュポイズニング になります。
これらのタイプの攻撃は、web サーバーのログにエラーが記録されないので、検出が困難な場合があります。
このソリューションは、次のCommerce バージョンに適用されます。
- 2.0.10 以降
- 2.1.2 以降
このトピックは、経験豊富な 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
に設定すると、ヘッダーの値はそのまま残ります。
Enable_IIS_Rewrites
を 1
に設定した場合、要求が IIS Web サーバーに到達する前に、前のヘッダーの値を変更できないようにする必要があります。recommendation-more-help
386822bd-e32c-40a8-81c2-ed90ad1e198c