Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

URL 正規化を有効にするために必要なファイアウォールルールの変更

最終更新 Markdown で表示Agent セットアップ

2021-04-08、Cloudflare は URL 正規化 を発表しました。これは HTTP リクエストの URI パスを正規化してゾーンを保護する機能です。

悪意のあるユーザーは、ファイアウォールシステムとオリジンシステムで異なる解釈をされるような URI を作成できます。Normalize incoming URLs を有効にすると、URI パスでフィルタリングするすべてのルールが正規形の URL を受け取ります。これにより、こうした悪意のあるユーザーに対する追加の保護層が得られます。

Cloudflare は、この変更の影響を受けるゾーンを除き、すべての Cloudflare ゾーンで URL 正規化を段階的に有効にしました。影響を受けるゾーンは、すべてのファイアウォールルールを分析し、URL 正規化手法を使うと一致しなくなる HTTP フィールドのパターンを探すことで特定しました。

対象フィールドは次のとおりです。

  • http.request.uri.path
  • http.request.full_uri
  • http.request.uri

Cloudflare は、既存のファイアウォールルールの動作が変わらないよう、これらの変更の影響を受けるゾーンでは URL 正規化を自動では有効にしませんでした。

URL 正規化が重要な理由

Rules > Overview > URL NormalizationNormalize incoming URLs を有効にし、ゾーンのセキュリティ体制を強化することを強くおすすめします。有効にしないと、攻撃が成功するリスクが高まります。悪意のある第三者が、ルールで想定していない形に URL を加工する可能性があります。

たとえば、http.request.uri.path contains "/login" のような式のファイアウォールルールは、攻撃者が l%6C としてエンコードすると回避される可能性があります。この場合、URL 正規化が無効だと、トラフィックはファイアウォールルールに一致しません。

詳細と追加の例は URL 正規化の仕組み を参照してください。


推奨手順

次の手順をおすすめします。

  1. URL 正規化の変更の影響を受けるファイアウォールルールを更新します。
  2. URL 正規化を有効にします。

これらの手順により、ゾーンのセキュリティ体制が強化されます。

1. ファイアウォールルールを確認して更新する

URL 正規化を有効にする前に、ゾーン上の影響を受けるファイアウォールルールを確認し、次のいずれかの対応を取ってください。

  • 正規化後に一致しなくなる部分を、これらのファイアウォールルールから削除します。たとえば、URL パス内の //../ を探すルールです。管理者は以前、限定的な URL 正規化を行うためにこうしたルールを作成していました。これらのルールは、安全に無効化してから削除できます。

  • これらのファイアウォールルールで、正規化されていない URI パスを持つ訪問者を特定したい場合は、元の(または生の)非正規化フィールドを使うように更新してください。対象フィールドは次のとおりです。

    • raw.http.request.uri.path
    • raw.http.request.full_uri
    • raw.http.request.uri

2. URL 正規化を有効にする

影響を受けるファイアウォールルールを更新したら、Rules > Overview > URL Normalization で URL 正規化を有効にします。

ダッシュボードで URL 正規化の設定にアクセスするには、Cloudflare ユーザーが Firewall ロール またはいずれかの Administrator ロールを持っている必要があります。


関連リソース

役に立ちましたか?