現在、有料プランの Cloudflare のお客様は、任意のホストまたは IP に対して Health Checks を設定できます。Zone Lockdown は、ドメイン、サブドメイン、または URL へのアクセスを許可する IP アドレス、CIDR 範囲、またはネットワークを 1 つ以上指定します。1 つのルールに複数の宛先を指定でき、IPv4 と IPv6 の両方に対応します。Zone Lockdown ルールに含まれない IP アドレスは、指定したリソースへのアクセスを拒否されます。
Zone Lockdown を使っていて、ヘルスチェックを通し続けたい場合は、WAF カスタムルール で Zone Lockdown をバイパスできます。
WAF カスタムルールで Zone Lockdown をバイパスするには、次の手順を実行します。
-
ダッシュボードでカスタムルールを作成する 手順に従います。
-
ユーザーエージェント にマッチするカスタムルールを作成します。
Cloudflare Health Checks のユーザーエージェントは次の形式です。
Mozilla/5.0 (compatible;Cloudflare-Healthchecks/1.0;+https://www.cloudflare.com/; healthcheck-id: XXX)のXXXは Health Check ID の先頭 16 文字に置き換わります。特定の Health Check を許可するには、ユーザーエージェントに Health Check ID の先頭 16 文字が含まれているかを確認します。
-
アクションを Skip に設定し、More components to skip の対象機能を Zone Lockdown にします。
この例では、ID {ruleset_id} のルールセットに、ユーザーエージェントに 1234567890abcdef を含む受信リクエストで Zone Lockdown をスキップする WAF カスタムルールを追加します。
curl "https://api.cloudflare.com/client/v4/{zone_id}/rulesets/{ruleset_id}/rules" \
--header "Authorization: Bearer <API_TOKEN>" \
--header "Content-Type: application/json" \
--data '{
"action": "skip",
"action_parameters": {
"products": [
"zoneLockdown"
]
},
"expression": "http.user_agent contains \"1234567890abcdef\"",
"description": "bypass zone lockdown - specific healthcheck"
}'