Совместимость функций безопасности
Cloudflare применяет к каждому входящему запросу несколько функций безопасности. Каждая функция выполняется на определённом этапе, и порядок этапов определяет, какая функция сработает первой. Понимание этого порядка помогает избежать конфликтов и снизить количество ложных срабатываний.
Порядок выполнения
Функции безопасности Cloudflare, работающие на основе Ruleset Engine выполняются в фиксированной последовательности фаз. При поступлении запроса он проходит через каждую фазу по порядку. Если правило выполняет завершающее действие (например, Block или Managed Challenge), запрос останавливается и не достигает последующих фаз.
Фазы обработки запроса, связанные с безопасностью, в порядке выполнения:
| Название фазы | Продукт |
|---|---|
ddos_l7 |
HTTP DDoS Attack Protection |
http_request_firewall_custom |
Custom rules |
http_ratelimit |
Правила ограничения скорости |
http_request_firewall_managed |
Managed Rules |
http_request_sbfm |
Super Bot Fight Mode |
В рамках каждой фазы наборы правил на уровне аккаунта выполняются раньше наборов правил на уровне зоны.
Ruleset Engine используется во многих продуктах Cloudflare, помимо безопасности. См. Список фаз полный список фаз запроса и ответа.
Функции вне Ruleset Engine
Следующие функции безопасности не основаны на Ruleset Engine и оцениваются независимо:
- IP Access Rules
- Zone Lockdown
- User Agent Blocking
- Browser Integrity Check
- Hotlink Protection
- Security Level
Поскольку эти функции работают независимо друг от друга, они не следуют порядку фаз, описанному выше.
Обзор функций безопасности
Защита от DDoS
Защита от DDoS всегда включена для всех тарифных планов Cloudflare. L7 HTTP DDoS Attack Protection обнаруживает и устраняет DDoS-атаки на уровне приложений. L3/4 Network-layer DDoS Attack Protection обрабатывает атаки на сетевом уровне. Для работы защиты от DDoS-атак не нужно ничего включать или настраивать.
Custom rules
Custom rules это правила, которые вы определяете. Они выполняются в http_request_firewall_custom фаза и поддерживает такие действия, как Block, Managed Challenge, Пропустить, а также Log. Вы можете сослаться на Bot Score поля, WAF attack score поля и все стандартные поля запроса в своих выражениях.
Правила ограничения скорости
Правила ограничения скорости ограничивают или блокируют трафик, превышающий заданную частоту запросов. Они выполняются в http_ratelimit фаза, после пользовательских правил.
Managed Rules
Managed Rules это предварительно настроенные наборы правил, поддерживаемые Cloudflare. К ним относится Cloudflare Managed Ruleset и OWASP Core Ruleset. Они выполняются в http_request_firewall_managed фазы.
Bot Fight Mode
Bot Fight Mode доступен на тарифе Free. Это простой переключатель, включающий или выключающий проверку трафика, соответствующего шаблонам известных ботов. Настроить его поведение или пропустить его с помощью пользовательских правил нельзя.
Super Bot Fight Mode
Super Bot Fight Mode (SBFM) доступен на планах Pro, Business и Enterprise (без дополнения Bot Management). Он работает в http_request_sbfm фаза и предоставляет больше контроля, чем режим Bot Fight Mode. Вы можете настроить отдельные действия для Definitely automated, Likely automated, а также Проверенные боты трафика. Вы можете пропустить SBFM для отдельных запросов с помощью Пропустить действие в пользовательских правилах.
Bot Management
Bot Management является дополнением Enterprise. Она формирует bot score в диапазоне от 1 к 99 для каждого запроса. Более низкие оценки указывают на более автоматизированный трафик. Пользовательские правила пишутся с помощью cf.bot_management.score поле, чтобы принимать меры на основе этой оценки. Подробнее см. Переменные Bot Management.
Ключевые правила взаимодействия
Эти правила определяют, как функции безопасности взаимодействуют между собой:
- Завершающие действия останавливают процесс оценки запроса. Если правило блокирует запрос или выдает проверку, Cloudflare не обрабатывает для этого запроса последующие фазы.
- Пользовательские правила выполняются до SBFM. Завершающее действие в пользовательских правилах не позволяет Super Bot Fight Mode оценивать запрос.
- Действия пропуска обходят последующие фазы. Вы можете использовать Пропустить действие в пользовательских правилах, чтобы обходить правила ограничения частоты запросов (
http_ratelimit), Super Bot Fight Mode (http_request_sbfm), и Managed Rules (http_request_firewall_managed). - Bot Fight Mode нельзя пропустить. Поскольку Bot Fight Mode не входит в Ruleset Engine, пользовательские правила не могут пропускать его. Если вам нужно исключить трафик из защиты от ботов, перейдите на тариф с Super Bot Fight Mode или Bot Management.
- Показатели Bot Management доступны в пользовательских правилах. Клиенты с тарифом Enterprise, использующие Bot Management, могут использовать
cf.bot_management.scoreв выражениях пользовательских правил, чтобы задать собственные пороговые значения для пути, user agent или любого другого свойства запроса.
Типичные сценарии
Сайт малого бизнеса (план Free)
План Free включает защиту от DDoS и Bot Fight Mode.
- Защита от DDoS работает автоматически для каждого запроса.
- Включите Bot Fight Mode в разделе Безопасность > Настройки чтобы запрашивать проверку для известных шаблонов ботов.
- Включите Block AI Bots чтобы запретить AI-краулерам сканировать ваш контент.
Поскольку режим Bot Fight Mode нельзя пропустить или настроить, создать исключения для отдельных ботов невозможно. Если Bot Fight Mode вызывает ложные срабатывания для легитимного автоматизированного трафика (например, для сервисов мониторинга или платёжных систем), рассмотрите переход на план Pro или Business, включающий Super Bot Fight Mode.
Сайт электронной коммерции (план Pro или Business)
План Pro или Business добавляет Super Bot Fight Mode, пользовательские правила и Managed Rules.
- Защита от DDoS работает автоматически.
- Включите Super Bot Fight Mode чтобы блокировать автоматизированный и предположительно автоматизированный трафик.
- Развернуть Managed Rules для защиты от известных уязвимостей, таких как SQL-инъекции и межсайтовый скриптинг.
- Создание пользовательских правил с Пропустить действие, чтобы разрешить легитимный автоматизированный трафик, пока SBFM блокирует плохих ботов везде за его пределами. Используйте следующую конфигурацию правила:
- Задайте выражение правила для соответствия IP-адресам или user agent вашего платёжного процессора.
- Задайте действие Пропустить, и выберите Super Bot Fight Mode.
Enterprise API и веб-сайт (тарифный план Enterprise)
Наибольшую гибкость обеспечивает тарифный план Enterprise с дополнением Bot Management.
- Защита от DDoS работает автоматически.
- Bot Management формирует показатель бота для каждого запроса.
- Создание пользовательских правил, которые ссылаются на
cf.bot_management.scoreчтобы задать собственные пороговые значения. Например, вы можете блокировать запросы с Bot Score ниже 30 для путей сайта, при этом разрешая любые значения для путей API, которые используют аутентифицированные партнёры. - Используйте правила ограничения скорости, чтобы ограничивать вредоносные паттерны трафика.
- Разверните Managed Rules для защиты от известных уязвимостей.
Устранение неполадок с конфликтами
Если функции безопасности мешают легитимному трафику, выполните следующие шаги, чтобы выявить и устранить проблему.
Определение функции, заблокировавшей запрос
Используйте Security Events чтобы определить, какая функция заблокировала запрос:
-
На панели управления Cloudflare перейдите к разделу Аналитика страницу.
Перейдите в Аналитика ↗ -
Выберите События на вкладке.
-
Найдите заблокированный запрос в журнале.
-
Проверьте Сервис поле, чтобы определить, какой продукт выполнил действие. Это поле показывает, какую функцию нужно настроить.
Устранение ложных срабатываний Bot Fight Mode
Bot Fight Mode не поддерживает исключения. У вас есть два варианта:
- Полностью отключите Bot Fight Mode в разделе Безопасность > Настройки.
- Перейдите на план с Super Bot Fight Mode, который поддерживает правила пропуска.
Подробнее см. в Обработка ложных срабатываний в Bot Fight Mode или Super Bot Fight Mode.
Устранение ложных срабатываний Super Bot Fight Mode
Создайте пользовательское правило с Пропустить действие, чтобы обойти SBFM для затронутого трафика:
-
На панели управления Cloudflare перейдите к разделу Правила безопасности страницу.
Перейдите в Правила безопасности ↗ -
Выберите Создать правило > Custom rules.
-
Задайте выражение, соответствующее легитимному трафику (например, определённому диапазону IP-адресов или user agent).
-
Задайте действие Пропустить и выберите Super Bot Fight Mode.
Подробнее см. в Обработка ложных срабатываний в Bot Fight Mode или Super Bot Fight Mode.
Устранение ложных срабатываний Managed Rules
Если управляемое правило блокирует легитимный трафик:
- Создайте исключение WAF чтобы пропускать отдельные правила или наборы правил для совпадающих запросов.
- Если отдельные правила в управляемом наборе правил не применимы к вашему приложению, отключите их.
Подробное руководство см. в Устранение неполадок управляемых правил.