始める
Cloudflare Web Application Firewall (Cloudflare WAF) は、受信するウェブおよびAPIリクエストをチェックし、ルールセットと呼ばれるルールのセットに基づいて不要なトラフィックをフィルタリングします。
このページでは、最も一般的な攻撃に対して即座に保護を得るためのWAFの設定に関する推奨初期ステップを案内します。
WAFの概念、主要コンポーネント、および役割についての詳細は、概念を参照してください。
-
Cloudflareアカウントを設定し、ドメインをCloudflareに追加していることを確認してください。
-
無料プランのユーザーは、Cloudflare Managed RulesetのサブセットであるCloudflare Free Managed Rulesetにアクセスできます。無料プランでは、デフォルトでFree Managed Rulesetが展開されており、このガイドでは特にカバーされていません。
無料プランの場合は、5. セキュリティダッシュボードでトラフィックを確認にスキップできます。
Cloudflare Managed Rulesetは、一般的な脆弱性および露出(CVE)や既知の攻撃ベクターから保護します。このルールセットは、署名を使用して一般的な攻撃を特定するように設計されており、偽陽性を低く抑えます。ルールの変更は、WAFの変更ログで毎週公開されます。Cloudflareは、高プロファイルのゼロデイ保護のための緊急リリース中にルールを追加することもあります。
- Cloudflareダッシュボード ↗にログインし、アカウントとドメインを選択します。
- セキュリティ > WAFに移動し、Managed rulesタブを選択します。
- Managed Rulesetsの下で、Cloudflare Managed Rulesetの横にあるDeployを選択します。
デフォルト設定とルールセットのカスタマイズ
デフォルトでは、Cloudflare Managed Rulesetはルールのサブセットのみを有効にし、保護と偽陽性のバランスを取るように設計されています。アプリケーションの技術スタックに基づいて、追加のルールを確認し、有効にすることができます。
特定の状況では、管理されたルールセットを有効にすると、いくつかの偽陽性が発生する可能性があります。偽陽性とは、WAFによって誤って軽減された正当なリクエストのことです。偽陽性に対処する方法については、偽陽性の処理を参照してください。
ペンテストツールに対してWAFをテストしている場合は、次のルールセット設定を使用してすべてのルールを有効にすることをお勧めします:
- ルールセットアクション: Block
- ルールセットステータス: Enabled(ルールセット内のすべてのルールを有効にします)
ダッシュボードでCloudflare Managed Rulesetを設定する方法についての詳細は、すべてのルールのフィールド値を設定を参照してください。
WAF攻撃スコアは、Cloudflareの管理されたルールセットを補完する機械学習層であり、SQLインジェクション(SQLi)、クロスサイトスクリプティング(XSS)、および多くのリモートコード実行(RCE)攻撃に対する追加の保護を提供します。これは、ルールのバイパスや潜在的に新しい未発見の攻撃を特定するのに役立ちます。
エンタープライズ顧客の場合は、次の手順を実行してください:
-
アカウントチームに連絡してWAF攻撃スコアへのアクセスを取得します。
-
攻撃スコアフィールドを使用してカスタムルールを作成します:
-
ドメイン > セキュリティ > WAFに移動し、カスタムルールタブを選択します。
-
次の設定でルールを作成します:
-
受信リクエストが一致する場合:
フィールド 演算子 値 攻撃スコア less than 20 -
アクションを選択: Block
-
-
ビジネスプランの場合は、上記のようにカスタムルールを作成しますが、WAF攻撃スコアクラスフィールドを代わりに使用します。たとえば、次のルール式を使用できます:WAF Attack Score Class equals Attack。
ボット管理にアクセスできる顧客は、ボットスコアを使用したカスタムルールを使用して自動化されたトラフィック(たとえば、オンラインコンテンツをスクレイピングするボットからのトラフィック)をブロックし、このトラフィックがアプリケーションに到達するのを防ぐことができます。
-
ドメイン > セキュリティ > WAFに移動し、カスタムルールタブを選択します。
-
ボットスコアおよび検証済みボットフィールドを使用してカスタムルールを作成します:
-
受信リクエストが一致する場合:
フィールド 演算子 値 ロジック ボットスコア less than 20And 検証済みボット equals Off -
アクションを選択: Managed Challenge
-
悪意のあるボットに対する基本的な保護のより包括的な例については、悪質なボットに挑戦を参照してください。
式で使用できるボット関連フィールドについての詳細は、ボット管理変数を参照してください。
Cloudflare Managed Rulesetと攻撃スコアおよびボットスコアに基づくルールを展開すると、偽陽性の可能性を制限しながら、実質的な保護を達成できます。
Cloudflare Managed Rulesetと攻撃スコアを設定した後、Cloudflare OWASP Core Rulesetを展開することもできます。この管理されたルールセットは、CloudflareのOWASP ModSecurity Core Rule Setの実装です。その攻撃カバレッジは、SQLiやXSSなどの一般的な攻撃ベクターを検出することで、Cloudflare Managed Rulesetと大きく重複しています。
- ドメイン > セキュリティ > WAFに移動し、Managed rulesタブを選択します。
- Managed Rulesetsの下で、Cloudflare OWASP Core Rulesetの横にあるDeployを選択します。
これにより、デフォルト設定でルールセットが展開されます:パラノイアレベル = PL1 およびスコア閾値 = Medium - 40以上。
ルールセットの設定
Cloudflare Managed Rulesetが署名ベースであるのに対し、Cloudflare OWASP Core Rulesetはスコアベースです。特定のパラノイアレベル(レベルは PL1 から PL4 まで変わり、PL1 が最低レベル)を選択し、より大きなルールグループを有効にします。また、設定されたアクションを実行するタイミングを決定するスコア閾値を選択します。低いパラノイアと高いスコア閾値は通常、偽陽性が少なくなります。OWASP Core Rulesetがどのように評価されるかの例については、OWASP評価の例を参照してください。
ニーズに応じてルールセットを設定するための戦略の1つを次のように選択します:
- 厳格な設定(パラノイアレベル = PL4、スコア閾値 = Low - 60以上)から始めます。良好な偽陽性/真陽性率を達成するまで、スコア閾値とパラノイアレベルを減少させます。
- あるいは、より許容的な設定(パラノイアレベル = PL1、スコア閾値 = High - 25以上)から始め、両方のパラメータを増加させて保護を調整し、偽陽性の数を低く保つようにします。
ダッシュボードでCloudflare OWASP Core Rulesetを設定する方法についての詳細は、すべてのルールのフィールド値を設定を参照してください。
WAF設定を設定した後、次のダッシュボードを使用して、現在の設定が受信トラフィックにどのように影響しているかを確認します:
- セキュリティ分析を使用して、WAFの軽減措置に影響されていないトラフィックを含むすべてのトラフィックを探索します。トラフィック検出によって提供されるすべてのデータは、このダッシュボードで利用可能です。
- セキュリティイベントを使用して、Cloudflareのセキュリティ製品によって軽減されているリクエストに関する詳細情報を取得します。
エンタープライズ顧客は、Cloudflare Logsを使用してHTTPリクエストおよびセキュリティイベントに関するデータを取得することもできます。
前のセクションの情報に基づいてWAFを設定した後、アプリケーションに対する可能な脅威に対して強力な基本保護が得られます。
特定のユースケースに対して追加の保護を得るための次の推奨事項を検討できます。
ホワイトリスト内のIPアドレスからのトラフィックのみを許可するカスタムルールを作成します。
特定の国からのトラフィックをブロックするカスタムルールを作成します。
ログインエンドポイントにレート制限を適用するレート制限ルールを作成します。
漏洩した認証情報のチェックを使用して、アプリケーションに対する認証情報の詰め込み攻撃を防ぎます。
WAFコンテンツスキャンを使用して、アプリケーションにアップロードされるコンテンツをスキャンし、悪意のあるコンテンツを検索します。
Cloudflare WAFは、SQLインジェクション攻撃などの新しいおよび既知のアプリケーション攻撃や悪用からAPIを保護します。API固有のセキュリティ製品は、APIの発見や認証管理など、APIに特有のリスクに対してこれらの保護を拡張します。
CloudflareのAPIセキュリティ機能についての詳細は、Cloudflare API Shieldを参照してください。