Совместная работа функций безопасности
Cloudflare применяет к каждому входящему запросу несколько функций безопасности. Каждая функция выполняется на определённом этапе, и порядок определяет, какая из них сработает первой. Понимание этого порядка помогает избегать конфликтов и снижать число ложных срабатываний.
Порядок выполнения
Функции безопасности Cloudflare, работающие на Ruleset Engine выполняются в фиксированной последовательности фаз. Поступивший запрос проходит фазы по порядку. Если правило выполняет терминирующее действие (например, Block или Managed Challenge), обработка запроса останавливается, и он не достигает последующих фаз.
Фазы обработки запроса, связанные с безопасностью, в порядке выполнения:
| Имя фазы | Продукт |
|---|---|
ddos_l7 |
HTTP DDoS Attack Protection |
http_request_firewall_custom |
Пользовательские правила |
http_ratelimit |
Правила rate limiting |
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 ничего включать и настраивать не нужно.
Пользовательские правила
Пользовательские правила — это правила, которые определяете вы. Они выполняются в фазе http_request_firewall_custom и поддерживают такие действия, как Block, Managed Challenge, Skip и Log. Вы можете ссылаться на оценка ботов (bot score) (поля), WAF attack score (поля), а также все стандартные поля запроса в ваших выражениях.
Правила rate limiting
Правила rate limiting ограничивают или блокируют трафик, превышающий заданную частоту запросов. Они выполняются в фазе 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. Вы можете настроить отдельные действия для Определённо автоматизированный, Likely automated и Верифицированные боты трафика. Вы можете пропустить SBFM для отдельных запросов с помощью Skip (действие) в пользовательских правилах.
Bot Management
Bot Management — это дополнение для плана Enterprise. Оно вычисляет оценку бота в диапазоне от 1 в 99 для каждого запроса. Более низкие значения указывают на более автоматизированный трафик. Пользовательские правила пишутся с использованием cf.bot_management.score , чтобы выполнять действия на основе этой оценки. Дополнительную информацию см. в Переменные Bot Management.
Ключевые правила взаимодействия
Эти правила определяют, как функции безопасности взаимодействуют друг с другом:
- Завершающие действия останавливают процесс оценки запроса. Если правило блокирует запрос или выдаёт челлендж, последующие фазы для этого запроса Cloudflare не выполняет.
- Пользовательские правила выполняются до SBFM. Терминальное действие в пользовательских правилах не даёт Super Bot Fight Mode обработать запрос.
- Действия skip обходят последующие фазы. Вы можете использовать Skip (действие) в пользовательских правилах для обхода правил rate limiting (
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 в разделе Security > Settings , чтобы выдавать челлендж по шаблонам известных ботов.
- Включите 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-инъекции и межсайтовый скриптинг.
- Создавайте пользовательские правила с Skip , чтобы пропускать легитимный автоматизированный трафик, пока SBFM блокирует плохих ботов во всех остальных местах. Используйте следующую конфигурацию правила:
- Настройте выражение правила на соответствие IP-адресам или user agent вашего платёжного провайдера.
- Установите действие Skip, и выберите Super Bot Fight Mode.
API и сайт уровня Enterprise (план Enterprise)
Наибольшую гибкость даёт план Enterprise с дополнением Bot Management.
- Защита от DDoS работает автоматически.
- Bot Management формирует bot score для каждого запроса.
- Создавайте пользовательские правила, ссылающиеся на
cf.bot_management.score, чтобы задать собственные пороги. Например, блокируйте запросы с оценкой бота ниже 30 для путей сайта, разрешая любые оценки на путях API, которыми пользуются аутентифицированные партнёры. - Используйте правила rate limiting для сдерживания злоупотребляющего трафика.
- Разверните Managed Rules для защиты от известных уязвимостей.
Устранение конфликтов
Если функции безопасности мешают легитимному трафику, используйте следующие шаги для выявления и решения проблемы.
Определение функции, заблокировавшей запрос
Используйте Security Events , чтобы определить функцию, заблокировавшую запрос:
-
В панели управления Cloudflare перейдите в Analytics .
Перейдите в Analytics ↗ -
Выберите События вкладку.
-
Найдите заблокированный запрос в журнале.
-
Проверьте Сервис, чтобы определить, какой продукт выполнил действие. Это поле подсказывает, какую функцию нужно скорректировать.
Устранение ложных срабатываний Bot Fight Mode
Bot Fight Mode не поддерживает исключения. У вас есть два варианта:
- Полностью отключите Bot Fight Mode в разделе Security > Settings.
- Перейдите на тариф с Super Bot Fight Mode, который поддерживает правила skip.
Подробнее см. Обработка ложных срабатываний Bot Fight Mode и Super Bot Fight Mode.
Устранение ложных срабатываний Super Bot Fight Mode
Создайте пользовательское правило с Skip (действие), чтобы обойти SBFM для затронутого трафика:
-
В панели управления Cloudflare перейдите в Правила безопасности .
Перейдите в Правила безопасности ↗ -
Выберите Create rule > Пользовательские правила.
-
Задайте выражение, соответствующее легитимному трафику (например, определённому диапазону IP или агенту пользователя).
-
Установите действие Skip и выберите Super Bot Fight Mode.
Подробнее см. Обработка ложных срабатываний Bot Fight Mode и Super Bot Fight Mode.
Устранение ложных срабатываний Managed Rules
Если управляемое правило блокирует легитимный трафик:
- Создайте Исключение WAF чтобы пропускать отдельные правила или наборы правил для соответствующих запросов.
- Отключайте отдельные правила управляемого набора, если они не применимы к вашему приложению.
Подробное руководство см. в Устранение неполадок управляемых правил.