ウェブキャッシュポイズニングを避ける
キャッシュポイズニング攻撃は、HTTPリクエストを使用して、オリジンウェブサーバーを騙し、クリーンなリクエストと同じキャッシュキーを持つ有害なリソースで応答させるものです。その結果、ポイズンされたリソースがキャッシュされ、他のユーザーに提供されます。
Cloudflareのようなコンテンツ配信ネットワーク(CDN)は、キャッシュキーを使用して新しいリクエストをキャッシュされたリソースと比較します。CDNは、その後、リソースをキャッシュから提供するか、オリジンウェブサーバーから直接リクエストするかを判断します。
キャッシュポイズニングに関連するリスクと脆弱性についての理解を深めるために、以下のリソースを参照してください:
オリジンウェブサーバーのキャッシュ設定を見直し、ユーザー入力に依存しない静的なファイルをキャッシュしていることを確認してください。Cloudflareのキャッシュについて詳しく学ぶには、以下を参照してください:
クライアント側の脆弱性は、クロスサイトスクリプティング(XSS)を含むHTTPヘッダーを通じて悪用されることがよくあります。一般的に、HTTPヘッダーのデータを信頼すべきではなく、そのために:
- キャッシュキーの一部でない限り、HTTPヘッダーの値に依存しないでください。
- キャッシュされたコンテンツでユーザーにHTTPヘッダーを返さないでください。
CloudflareはGETリクエストボディの内容をキャッシュしますが、それはキャッシュキーには含まれません。GETリクエストボディは信頼できないものと見なすべきであり、レスポンスの内容を変更すべきではありません。GETボディがレスポンスの内容を変更できる場合は、キャッシュをバイパスするか、POSTリクエストを使用することを検討してください。
インターネットのセキュリティ脅威について情報を得るために、Cloudflareは定期的にウェブセキュリティ勧告を監視することを推奨しています。一般的な勧告には以下が含まれます: