Cloudflare は、次のような Web アプリケーションの攻撃から保護する、事前設定済みのマネージドルールセットを提供しています。
- ゼロデイ脆弱性
- Top-10 の攻撃手法
- 窃取・漏洩した認証情報の使用
- 機密データの抽出
マネージドルールセットは 定期的に更新 されます。各ルールには重大度に応じたデフォルトアクションがあります。特定のルールの動作は、複数のアクションから選んで調整できます。
マネージドルールセットのルールにはタグ(例: wordpress)が付いており、特定のグループを検索して一括設定できます。
ゾーンレベルでは、各 WAF マネージドルールセット は 1 回だけデプロイできます。アカウントレベルでは、各マネージドルールセットを複数回デプロイできます。同じルールセットを異なる設定で、アカウント内の Enterprise ゾーンの受信トラフィックの異なる範囲に適用できます。
たとえば、Cloudflare OWASP Core Ruleset を、異なる paranoia level(パラノイアレベル)と異なるアクション(PL3 は Managed Challenge、PL4 は Log)で複数回デプロイできます。paranoia level を上げると追加のルールが有効になります。これらのルールは誤検知を起こしやすくなります。
例: 2 つの異なる設定で OWASP をデプロイする
次の例では、次の execute ルール を使い、アカウントレベルで Cloudflare OWASP Core Ruleset を複数回デプロイします。
- 1 つ目の execute ルール: paranoia level 3(PL3)までの OWASP ルールを有効にし、アクションを Managed Challenge に設定します。
- 2 つ目の execute ルール: PL4 までの OWASP ルールを有効にし、アクションを Log に設定します。
この設定では、PL3 ルールを有効にして保護を強化します。ただしリクエストはブロックしません。paranoia level が高いほど誤検知が増えやすいためです。
2 つ目のルールは、ルールセット内で最も厳しい PL4 ルールの一致をログに記録します。ライブトラフィックには影響しません。PL4 ルールがどのトラフィックに影響するかを把握するために、この設定を使えます。
-
ダッシュボードの手順 に従って Cloudflare OWASP Core Ruleset をデプロイします。次の設定でルールセットの動作をカスタマイズします。
- OWASP Anomaly Score Threshold: Medium - 40 and higher
- OWASP Paranoia Level: PL3
- OWASP Action: Managed Challenge
-
Deploy を選択します。
-
OWASP ルールセットに対してデプロイ手順を繰り返します。ただし、ルールセットの設定は次のとおりにします。
- OWASP Anomaly Score Threshold: Medium - 40 and higher
- OWASP Paranoia Level: PL4
- OWASP Action: Log
設定が完了すると、Deployed managed rulesets の一覧に、Cloudflare OWASP Core Ruleset 向けの Execute ルールが 2 つ表示されます。
次の POST リクエストは、Create an account ruleset 操作で、アカウントレベルの http_request_firewall_managed フェーズ 向けの エントリポイントルールセット を作成します。ルールセットには、異なる設定で Cloudflare OWASP Core Ruleset を 2 回デプロイするルールが 2 つ含まれます。
Required API token permissions
At least one of the following token permissions is required:Account WAF WriteAccount Rulesets Write
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/rulesets" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"name": "My ruleset",
"description": "Entry point ruleset for WAF managed rulesets (account)",
"kind": "root",
"phase": "http_request_firewall_managed",
"rules": [
{
"action": "execute",
"action_parameters": {
"id": "4814384a9e5d4991b9815dcfc25d2f1f",
"overrides": {
"categories": [
{
"category": "paranoia-level-4",
"enabled": false
}
],
"rules": [
{
"id": "6179ae15870a4bb7b2d480d4843b323c",
"action": "managed_challenge"
}
]
}
},
"expression": "cf.zone.plan eq \"ENT\"",
"description": "Execute OWASP ruleset at PL3 with Managed Challenge action"
},
{
"action": "execute",
"action_parameters": {
"id": "4814384a9e5d4991b9815dcfc25d2f1f",
"overrides": {
"rules": [
{
"id": "6179ae15870a4bb7b2d480d4843b323c",
"action": "log"
}
]
}
},
"expression": "cf.zone.plan eq \"ENT\"",
"description": "Execute OWASP ruleset at PL4 with Log action"
}
]
}'マネージドルールセットの動作をカスタマイズするには、次のいずれかを行います。
- 例外を作成 して、特定の条件でマネージドルールセットまたはその一部のルールの実行をスキップします。
- オーバーライドを設定 して、ルールアクションを変更するか、マネージドルールセットの 1 つ以上のルールを無効にします。オーバーライドは、マネージドルールセット全体、特定のタグ、またはマネージドルールセット内の特定のルールに影響できます。
例外はオーバーライドより優先されます。