コンテンツにスキップ

ウェブキャッシュポイズニングを避ける

キャッシュポイズニング攻撃は、HTTPリクエストを使用して、オリジンウェブサーバーを騙し、クリーンなリクエストと同じキャッシュキーを持つ有害なリソースで応答させるものです。その結果、ポイズンされたリソースがキャッシュされ、他のユーザーに提供されます。

Cloudflareのようなコンテンツ配信ネットワーク(CDN)は、キャッシュキーを使用して新しいリクエストをキャッシュされたリソースと比較します。CDNは、その後、リソースをキャッシュから提供するか、オリジンウェブサーバーから直接リクエストするかを判断します。

キャッシュポイズニングについて学ぶ

キャッシュポイズニングに関連するリスクと脆弱性についての理解を深めるために、以下のリソースを参照してください:

本当に静的なファイルのみをキャッシュする

オリジンウェブサーバーのキャッシュ設定を見直し、ユーザー入力に依存しない静的なファイルをキャッシュしていることを確認してください。Cloudflareのキャッシュについて詳しく学ぶには、以下を参照してください:

HTTPヘッダーのデータを信頼しない

クライアント側の脆弱性は、クロスサイトスクリプティング(XSS)を含むHTTPヘッダーを通じて悪用されることがよくあります。一般的に、HTTPヘッダーのデータを信頼すべきではなく、そのために:

  • キャッシュキーの一部でない限り、HTTPヘッダーの値に依存しないでください。
  • キャッシュされたコンテンツでユーザーにHTTPヘッダーを返さないでください。

GETリクエストボディを信頼しない

CloudflareはGETリクエストボディの内容をキャッシュしますが、それはキャッシュキーには含まれません。GETリクエストボディは信頼できないものと見なすべきであり、レスポンスの内容を変更すべきではありません。GETボディがレスポンスの内容を変更できる場合は、キャッシュをバイパスするか、POSTリクエストを使用することを検討してください。

ウェブセキュリティ勧告を監視する

インターネットのセキュリティ脅威について情報を得るために、Cloudflareは定期的にウェブセキュリティ勧告を監視することを推奨しています。一般的な勧告には以下が含まれます: