Skip to content

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

はじめに

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

Cloudflare Web Application Firewall(Cloudflare WAF)は、受信する Web および API リクエストを検査し、ルールセットと呼ばれるルールの集まりに基づいて望ましくないトラフィックを除外します。

このページでは、よくある攻撃からすぐに守るための、推奨される初期設定の手順を説明します。

WAF の概念、主な構成要素、役割の詳細は 概念 を参照してください。

始める前に

1. Cloudflare Managed Ruleset をデプロイする

Cloudflare Managed Ruleset は、Common Vulnerabilities and Exposures(CVE)と既知の攻撃ベクトルから保護します。シグネチャでよくある攻撃を識別し、誤検知を抑える設計です。ルールの変更は週次で WAF の変更履歴 に公開されます。注目度の高いゼロデイへの緊急リリースでは、いつでもルールが追加されることがあります。

  1. Cloudflare ダッシュボードで、セキュリティの Settings ページを開きます。

    Settings を開く ↗
  2. (任意)Web application exploits で絞り込みます。

  3. Cloudflare managed ruleset をオンにします。

既定の設定とルールセットのカスタマイズ

既定では、Cloudflare Managed Ruleset は一部のルールだけを有効にし、保護と誤検知のバランスを取る設計です。アプリケーションの技術スタックに合わせて、追加のルールを確認して有効にできます。

状況によっては、マネージドルールセットを有効にすると誤検知が起きることがあります。誤検知とは、正規のリクエストが WAF によって誤って緩和されることです。誤検知への対処は マネージドルールのトラブルシューティング を参照してください。

ペネトレーションテストツールで WAF を検証する場合は、次のルールセット設定ですべてのルールを有効にすることを推奨します。

  • ルールセットのアクション: Block
  • ルールセットのステータス: Enabled(ルールセット内のすべてのルールを有効にします)

ダッシュボードでの Cloudflare Managed Ruleset の設定については、Cloudflare Managed Ruleset を参照してください。

2. WAF attack score に基づくカスタムルールを作成する

WAF attack score は、Cloudflare のマネージドルールセットを補完する機械学習レイヤーです。SQL インジェクション(SQLi)、クロスサイトスクリプティング(XSS)、多くのリモートコード実行(RCE)攻撃に対する追加の保護を提供します。ルールの回避や、まだ知られていない攻撃の特定にも役立ちます。

Enterprise のお客様は、次の手順を行います。

  1. 担当チームに連絡し、WAF attack score へのアクセスを依頼します。

  2. 攻撃スコア フィールドを使って カスタムルールを作成 します。

    • 受信リクエストが一致する場合:

      フィールド 演算子
      WAF Attack Score less than 20
    • アクションを選択: Block

Business プランの場合は、上記と同様にカスタムルールを作成しますが、WAF Attack Score Class フィールドを使います。例: WAF Attack Score Class equals Attack

3. ボット保護を設定する

Bot Management を利用している Enterprise のお客様は、まず Security Settings でボット保護を設定します。カスタムルールを作らずに、基本的な保護を得られます。

  1. Cloudflare ダッシュボードで Security Settings ページを開き、Bot traffic で絞り込みます。

    Settings を開く ↗
  2. Definitely automatedLikely automatedVerified bots の設定を、要件に合わせて変更します。

  3. AI クローラーをブロックする場合は、Block AI bots をオンにします。

これらの組み込み設定は、新しいボットシグネチャに合わせて自動更新され、カスタムルールの上限には数えられません。詳細は Bot Management を参照してください。

より細かく制御するカスタムルールを作成する

任意です。しきい値を変えたい、ボットスコアとほかのフィールドを組み合わせたいなど、より細かく制御したい場合は、ボットスコア検証済みボット のフィールドを使って カスタムルールを作成 します。

  • 受信リクエストが一致する場合:

    フィールド 演算子 論理
    Bot Score less than 20 And
    Verified Bot equals Off
  • アクションを選択: Managed Challenge

このルールのしきい値は 20 です(設定の既定しきい値は 30)。スコア 20〜29 のトラフィックに対して、より厳しい保護になります。

悪意のあるボットに対する基本的な保護の、より包括的な例は 悪意のあるボットに Challenge を出す を参照してください。

式で使えるボット関連フィールドの詳細は、Bot Management の変数 を参照してください。

Cloudflare Managed Ruleset と、攻撃スコアおよびボットスコアに基づくルールをデプロイすれば、十分な保護が得られ、誤検知の可能性も抑えられます。

4. (任意)Cloudflare OWASP Core Ruleset をデプロイする

Cloudflare Managed Ruleset と WAF attack score を設定したあと、Cloudflare OWASP Core Ruleset もデプロイできます。このマネージドルールセットは、OWASP ModSecurity Core Rule Set の Cloudflare 実装です。SQLi や XSS など、よくある攻撃ベクトルを検出するため、Cloudflare Managed Ruleset と攻撃の対象範囲が大きく重なります。

  1. Cloudflare ダッシュボードで、セキュリティの Settings ページを開きます。

    Settings を開く ↗
  2. (任意)Web application exploits で絞り込みます。

  3. OWASP Core をオンにします。
    これで Cloudflare OWASP Core Ruleset が既定設定でデプロイされます。paranoia level = PL1、スコアしきい値 = Medium - 40 and higher です。

ルールセットの設定

シグネチャベースの Cloudflare Managed Ruleset とは異なり、Cloudflare OWASP Core Ruleset はスコアベースです。paranoia level を選びます(PL1 から PL4 まであり、PL1 が最も低いレベルです)。レベルが上がるほど、有効になるルールの範囲が広がります。あわせてスコアしきい値を選びます。この値で、設定したアクションを実行するタイミングが決まります。paranoia level が低く、スコアしきい値が高いほど、誤検知は少なくなる傾向があります。OWASP Core Ruleset の評価例は OWASP の評価例 を参照してください。

要件に合わせて、次のいずれかの方針でルールセットを設定します。

  • 厳しい設定から始めます(paranoia level = PL4、スコアしきい値 = Low - 60 and higher)。受信トラフィックに対して誤検知と正しい検知のバランスがよくなるまで、スコアしきい値と paranoia level を下げます。
  • または、緩い設定から始めます(paranoia level = PL1、スコアしきい値 = High - 25 and higher)。誤検知を少なく保ちつつ、両方のパラメーターを上げて保護を調整します。

ダッシュボードでの Cloudflare OWASP Core Ruleset の設定については、ダッシュボードで設定する を参照してください。

5. セキュリティダッシュボードでトラフィックを確認する

WAF の設定が済んだら、次のダッシュボードで、現在の設定が受信トラフィックにどう影響しているかを確認します。

  • Security Analytics では、WAF の緩和対象外のトラフィックも含め、すべてのトラフィックを確認できます。このダッシュボードでは、トラフィック検出 が提供するデータがすべて使えます。
  • Security Events では、Cloudflare のセキュリティ製品が緩和しているリクエストの詳細を確認できます。

Enterprise のお客様は、Cloudflare Logs でも HTTP リクエストとセキュリティイベントのデータを取得できます。

6. (任意)次のステップ

前のセクションの内容で WAF を設定すれば、アプリケーションに対する脅威への基本的な保護は十分です。

特定の用途向けに、次の推奨事項で保護を追加できます。

特定の IP アドレスを許可リストに入れる

カスタムルールを作成し、許可リストの IP アドレスからのトラフィックのみを許可 します。

特定の国をブロックする

カスタムルールを作成し、特定の国からのトラフィックをブロック します。

レート制限を定義する

レート制限ルールを作成し、ログインエンドポイントにレート制限を適用 します。

クレデンシャルスタッフィング攻撃を防ぐ

漏洩認証情報の検出 を使い、アプリケーションへの クレデンシャルスタッフィング 攻撃を防ぎます。

アプリケーションへのマルウェアアップロードを防ぐ

WAF コンテンツスキャン を使い、アプリケーションへアップロードされるコンテンツをスキャンして、悪意のある内容を探します。

API のセキュリティを強化する

Cloudflare は、SQL インジェクションなど、新しい攻撃と既知の攻撃・エクスプロイトから API を保護します。API 向けのセキュリティ製品は、API の検出や認証管理など、API 特有のリスクにも保護を広げます。

Cloudflare の API セキュリティ機能の詳細は、Cloudflare API Shield を参照してください。

オリジンサーバーを保護する

攻撃者によるオリジンサーバーの発見や過負荷を防ぐ方法は、オリジンサーバーを保護する を参照してください。プロキシされた DNS、IP 許可リスト、Authenticated Origin Pulls を組み合わせた多層防御です。

役に立ちましたか?