Правила ограничения скорости
Правила ограничения скорости позволяют задать лимиты скорости для запросов, соответствующих определённому выражению, и указать действие, которое нужно выполнить при достижении этих лимитов. Используйте такие правила, чтобы защитить свои сайты и API от злоупотреблений: например, оградить конечную точку входа от атак методом перебора или ограничить количество вызовов API, которые может выполнить один клиент за заданный промежуток времени.
В новая панель безопасности, правила ограничения скорости являются одним из доступных типов правила безопасности. Правила безопасности выполняют связанные с безопасностью действия над входящими запросами, которые соответствуют заданным фильтрам.
Некоторые клиенты с планом Enterprise могут создавать наборы правил ограничения скорости на уровне аккаунта, которые можно развернуть в нескольких зонах Enterprise.
Параметры правила
Как и другие правила, оцениваемые Cloudflare Ruleset Engine, правила ограничения скорости имеют следующие базовые параметры:
- Одна выражение который задаёт критерии сопоставления трафика с помощью Язык правил.
- Одна действие который определяет, что нужно выполнить при срабатывании правила и выполнении всех дополнительных условий. Для правил ограничения скорости запросов действие выполняется, когда частота запросов достигает заданного предела.
Помимо этих двух параметров, для правил ограничения скорости требуются следующие дополнительные параметры:
- Характеристики: Набор параметров, определяющих, как Cloudflare отслеживает скорость запросов для этого правила.
- Период: Период времени (в секундах), учитываемый при оценке скорости запросов.
- Запросы за период: Количество запросов за указанный период времени, которое приведёт к срабатыванию правила ограничения скорости.
- Длительность (или таймаут блокировки): как только скорость достигает заданного значения, правило ограничения скорости блокирует дальнейшие запросы на период времени, указанный в этом поле.
- Поведение действия: По умолчанию Cloudflare применяет действие правила в течение настроенного периода (или тайм-аута предотвращения), независимо от скорости запросов в этот период. Некоторые клиенты на тарифе Enterprise могут настроить правило так, чтобы ограничивать скорость запросов выше максимальной скорости, пропуская входящие запросы, когда скорость ниже настроенного лимита.
См. Параметры ограничения скорости подробнее об обязательных и необязательных параметрах.
См. Как Cloudflare определяет частоту запросов чтобы узнать, как Cloudflare использует перечисленные выше параметры при определении частоты входящих запросов.
Взаимодействие с другими функциями безопасности приложений
Если вы используете несколько функций безопасности приложений, таких как пользовательские правила, Managed Rules и Super Bot Fight Mode, важно понимать, как эти функции взаимодействуют между собой и в каком порядке они выполняются. См. Совместимость функций безопасности, где это описано подробнее.
Важные примечания
-
Правила ограничения скорости оцениваются по порядку, и некоторые действия, такие как Block остановит оценку остальных правил. Подробнее о действиях и их поведении см. Действия.
-
Правила ограничения скорости не гарантируют, что до вашего исходного сервера дойдёт строго определённое число запросов. Между обнаружением запроса и обновлением счётчиков скорости может возникать задержка длительностью до нескольких секунд. Из-за неё часть избыточных запросов может успеть дойти до источника ещё до того, как Cloudflare применит меру противодействия, например блокировку или проверку. Дополнительные сведения о работе счётчиков, включая их область действия в пределах дата-центра, см. в Расчёт частоты запросов.
-
Применение правил ограничения скорости к верифицированным ботам может повлиять на поисковую оптимизацию (SEO). Подробнее см. Улучшение SEO.
Доступность
| Возможность | Free | Pro | Business | Enterprise с app security | Enterprise с Advanced Rate Limiting |
|---|---|---|---|---|---|
| Доступные поля в выражении правила |
Путь, Проверенный бот | Host, URI, Path, Full URI, Query, Verified Bot | Host, URI, Path, Full URI, Query, Method, Source IP, User Agent, Verified Bot | Общие поля запроса, поля заголовков запроса, Verified Bot, поля Bot Management1 | Общие поля запроса, поля заголовков запроса, Verified Bot, поля Bot Management1, поля тела запроса2 |
| Исключение из кэша | Нет | Нет | Да | Да | Да |
| Характеристики для подсчёта | IP | IP | IP, IP with NAT support | IP, IP with NAT support | IP, IP with NAT support, Query, Host, Headers, Cookie, ASN, Country, Path, JA3/JA4 Fingerprint1, JSON field value2, Body2, Form input value2, Custom |
| Пользовательское выражение для подсчёта | Нет | Нет | Да | Да | Да |
| Доступные поля в выражении подсчёта |
N/A | N/A | Все поля выражений правил, Response code, Response headers | Все поля выражений правил, Response code, Response headers | Все поля выражений правил, Response code, Response headers |
| Модель подсчёта | Количество запросов | Количество запросов | Количество запросов | Количество запросов | Количество запросов, показатель сложности |
| Ограничение скорости запросов поведение действия |
Выполнять действие в течение периода блокировки | Выполнять действие в течение периода блокировки | Выполнять действие в течение периода блокировки | Выполнять действие в течение периода блокировки, Сдерживать запросы сверх лимита с действием блокировки | Выполнять действие в течение периода блокировки, Сдерживать запросы сверх лимита с действием блокировки |
| Периоды подсчёта | 10 с | Все поддерживаемые значения до 1 мин3 | Все поддерживаемые значения до 10 мин3 | Все поддерживаемые значения до 65,535 с3 | Все поддерживаемые значения до 65,535 с3 |
| Периоды тайм-аута смягчения | 10 с | Все поддерживаемые значения до 1 ч3 | Все поддерживаемые значения до 1 дня3 | Все поддерживаемые значения до 1 дня3 4 | Все поддерживаемые значения до 1 дня3 4 |
| Количество правил | 1 | 2 | 5 | 1005 | 100 |
Сноски
1: Доступно только клиентам с планом Enterprise, которые приобрели Bot Management.
2: Доступность зависит от вашего плана WAF.
3: Список поддерживаемых значений периода подсчёта или предотвращения в секундах:
10, 15, 20, 30, 40, 45, 60 (1 мин), 90, 120 (2 мин), 180 (3 мин), 240 (4 мин), 300 (5 мин), 480, 600 (10 мин), 900, 1200 (20 мин), 1800, 2400, 3600 (1 ч), 65535, 86400 (1 день).
Не все значения доступны на всех тарифных планах.
4: Клиенты на тарифном плане Enterprise могут задать собственный период тайм-аута предотвращения через API.
5: Клиентам на тарифном плане Enterprise необходимо включить в контракт защиту приложений, чтобы получить доступ к правилам ограничения скорости. Количество правил зависит от конкретных условий контракта.
Сноски
-
Доступно только клиентам с планом Enterprise, которые приобрели Bot Management. ↩ ↩2 ↩3
-
Доступность зависит от вашего тарифного плана WAF. ↩ ↩2 ↩3 ↩4
-
Поддерживаемые значения периода в секундах:
10, 15, 20, 30, 40, 45, 60 (1 мин), 90, 120 (2 мин), 180 (3 мин), 240 (4 мин), 300 (5 мин), 480, 600 (10 мин), 900, 1200 (20 мин), 1800, 2400, 3600 (1 ч), 65535, 86400 (1 день). ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8 -
Клиенты уровня Enterprise могут указать пользовательский период тайм-аута устранения угрозы через API. ↩ ↩2
-
Клиентам уровня Enterprise для доступа к правилам ограничения скорости необходимо, чтобы в их контракте была услуга application security. Количество правил зависит от конкретных условий контракта. ↩
Следующие шаги
См. следующие материалы:
- Создание правила ограничения скорости в панели управления для зоны
- Создание правила ограничения скорости через API для зоны
Примеры для Terraform см. в Настройка правил ограничения скорости с помощью Terraform.
Дополнительные материалы
-
Cloudflare Rate Limiting (предыдущая версия, больше не доступна): Документация по предыдущей версии правил ограничения скорости (тарификация на основе использования).