← Cloudflare Smart Shield / smart-shield / configuration / health-checks
Zone Lockdown
В настоящее время любой клиент Cloudflare с платным тарифом может настроить Health Checks для любого хоста или IP-адреса. Zone Lockdown задает список из одного или нескольких IP-адресов, диапазонов CIDR или сетей, которым разрешен доступ к домену, поддомену или URL. Это позволяет указывать несколько адресов назначения в одном правиле, а также использовать адреса IPv4 и IPv6. IP-адресам, не указанным в правиле Zone Lockdown, доступ к указанным ресурсам запрещен.
Клиенты, использующие zone lockdown и желающие, чтобы их проверки работоспособности продолжали проходить успешно, могут использовать Пользовательские правила WAF чтобы обойти zone lockdown.
Обход zone lockdown
Чтобы обойти zone lockdown с помощью пользовательского правила WAF:
-
Выполните шаги, чтобы создать пользовательское правило на панели управления.
-
Создайте пользовательское правило, соответствующее user-agent.
Cloudflare Health Checks используют user agent в следующем формате:
Mozilla/5.0 (compatible;Cloudflare-Healthchecks/1.0;+https://www.cloudflare.com/; healthcheck-id: XXX)гдеXXXзаменяется первыми 16 символами идентификатора Health Check.Чтобы разрешить конкретный Health Check, проверьте, содержит ли user agent первые 16 символов ID этого Health Check.
-
Задайте действие Пропустить и соответствующую функцию до Zone Lockdown в разделе Другие компоненты для пропуска.
Через API
В этом примере новое пользовательское правило WAF добавляется в набор правил с ID {ruleset_id} которое пропускает zone lockdown для входящих запросов с user-agent, содержащим 1234567890abcdef:
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"
}'