コンテンツにスキップ

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

2021年4月8日、CloudflareはURL正規化を発表しました。この機能は、HTTPリクエストURIパスを正規化することによってゾーンを保護します。

悪意のあるユーザーは、ファイアウォールシステムやオリジンシステムによって異なる解釈をされる特定のURIを作成することができます。受信URLの正規化を有効にすると、URIパスでフィルタリングされるすべてのルールは、URLを標準的な形式で受け取ることになり、これにより悪意のあるユーザーに対する追加の保護層が提供されます。

Cloudflareは、影響を受ける可能性のあるゾーンを除いて、すべてのCloudflareゾーンに対してURL正規化を段階的に有効にしました。影響を受けるゾーンは、すべてのファイアウォールルールを分析し、URL正規化技術を使用した場合に一致しなくなるHTTPフィールドのパターンを探すことによって特定しました。

これらのフィールドは以下の通りです:

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

Cloudflareは、これらの変更によって影響を受けるゾーンに対して自動的にURL正規化を有効にしませんでした。これは、既存のファイアウォールルールの動作に変更が生じるのを防ぐためです。

URL正規化が重要な理由

Cloudflareは、ゾーンのセキュリティ姿勢を強化するために、ルール > 設定受信URLの正規化を有効にすることを強く推奨します。これを行わないと、ゾーンが攻撃を受けるリスクが高まります。悪意のある者がルールが考慮していない方法で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正規化を有効にする

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

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


関連リソース