Cloudflare автоматически обнаруживает и блокирует DDoS-атаки на уровнях L3, L4 и L7. Для активации достаточно подключить сайт к Cloudflare — базовая защита работает без настройки.
Уровни DDoS-защиты по планам
| Функция | Free | Pro | Business/Enterprise |
|---|---|---|---|
| L3/L4 DDoS | ✅ | ✅ | ✅ |
| L7 HTTP DDoS | ✅ Базовая | ✅ | ✅ Advanced |
| Managed Rules WAF | ❌ | ✅ | ✅ |
| Advanced DDoS Analytics | ❌ | ❌ | ✅ |
Security Level
Security → Security Level управляет тем, как aggressively Cloudflare проверяет посетителей:
| Уровень | Действие |
|---|---|
| Essentially Off | Только явно заблокированные IP |
| Low | Блок известных плохих IP |
| Medium | Стандартный (по умолчанию) ✅ |
| High | Агрессивная проверка CAPTCHA |
| I'm Under Attack! | 5-секундная JavaScript challenge для всех |
I'm Under Attack Mode
При активной атаке включите экстренный режим:
Security → Security Level → I'm Under Attack!
Каждый посетитель увидит 5-секундную страницу проверки Cloudflare. Боты не пройдут, реальные пользователи — пройдут.
Rate Limiting
Security → WAF → Rate Limiting Rules → Create. Ограничьте число запросов с одного IP:
# Пример: не более 100 запросов за 60 секунд
Matching rule: http.request.uri.path contains "/api/"
Rate: 100 requests per 60 seconds
Action: Block (или Challenge)
Managed Challenge, JS Challenge и CAPTCHA
Когда Cloudflare решает проверить посетителя, он показывает один из типов challenge. Они отличаются нагрузкой на пользователя и устойчивостью к ботам:
| Тип проверки | Что видит посетитель | Устойчивость к ботам |
|---|---|---|
| Managed Challenge | Чаще всего ничего — проверка в фоне | Высокая, адаптируется под угрозу |
| JS Challenge | Короткая страница-редирект (~5 секунд) | Средняя, требует исполнения JS |
| Legacy CAPTCHA | Визуальная головоломка | Средняя, раздражает пользователей |
| Block | Страница отказа в доступе | Максимальная, но без права на ошибку |
Managed Challenge — рекомендуемый вариант почти везде: Cloudflare сам выбирает степень проверки на основе репутации IP и поведения браузера.
Разбор сообщений об атаке
«This website is under a DDoS attack» на странице посетителя
Это интерстициальная страница, которую Cloudflare показывает автоматически при аномальном всплеске трафика, даже без ручного включения I'm Under Attack Mode. Она держится от нескольких минут до момента, пока трафик не вернётся к обычному уровню. Отключить её вручную нельзя — она часть автоматической защиты уровня сети.
Легитимные пользователи жалуются на блокировку
Частая причина — Security Level стоит на High или включён I'm Under Attack Mode дольше, чем нужно, либо правило Rate Limiting настроено слишком строго для общего NAT-адреса офиса или мобильного оператора, из-за которого много реальных пользователей выглядят как один IP с аномальной частотой запросов.
Проверка что защита работает
# Проверить заголовок, показывающий тип пройденной проверки
curl -I https://example.com/ | grep -i cf-mitigated
# Значения:
# cf-mitigated: challenge — посетитель прошёл challenge
# (заголовок отсутствует) — запрос обработан без дополнительной проверки
Когда встроенной защиты недостаточно
- Нужна защита на уровне приложения от медленных low-and-slow атак, которые не создают заметного всплеска трафика — здесь нужен WAF с точными правилами, а не только автоматический DDoS-слой.
- Атака идёт не по HTTP, а напрямую на IP сервера в обход Cloudflare — proxied-режим не защищает от этого, нужен Spectrum или смена реального IP с закрытием прямого доступа.
- Нужны SLA и гарантии времени реакции — базовая защита работает "best effort", формальные гарантии есть только в контрактах уровня Enterprise.
Security → Events показывает не только заблокированные, но и пропущенные после проверки запросы — по столбцу Action можно отфильтровать именно те, что попали под автоматическую DDoS-защиту, и увидеть, с каких стран или ASN шёл основной трафик атаки.
После включения I'm Under Attack Mode держите его максимум несколько часов: challenge проходит каждый уникальный посетитель, включая поисковых ботов, — долгое использование режима может временно снизить видимость сайта в поиске из-за невозможности обхода challenge краулером.
Managed Challenge и автоматическая DDoS-защита работают независимо от Bot Fight Mode — включение обоих одновременно не конфликтует и обычно даёт лучший результат, чем любой из инструментов по отдельности.
Для проверки соответствия текущей нагрузки норме сравнивайте графики Analytics → Traffic за последние 24 часа и за предыдущую неделю — резкий необъяснимый рост числа запросов с одного ASN обычно первый признак начинающейся атаки ещё до появления интерстициальной страницы.
Частые вопросы
Отключается ли I'm Under Attack Mode автоматически после завершения атаки, или его нужно выключать вручную?
Нет, режим не отключается сам: его включают и выключают только вручную через Security Level. Если оставить его активным после завершения атаки, каждый посетитель и каждый поисковый робот будет проходить проверку без необходимости, что создаёт лишние задержки и мешает обычной работе сайта. Возвращайте уровень на Medium сразу после того, как трафик стабилизируется.
Будет ли работать защита Cloudflare, если домен подключён в режиме DNS-only, без проксирования?
Базовая защита от объёмных атак на уровне сети работает даже без проксирования, потому что IP-адрес сервера всё равно виден в DNS. Но защита уровня приложения — Security Level, Rate Limiting, Managed Challenge — применяется только к трафику, который реально проходит через Cloudflare. Для полноценной защиты от HTTP-атак домен должен быть проксирован, то есть «облачко» включено.
Может ли агрессивная защита заблокировать легитимные API-запросы и вебхуки платёжных систем?
Да, при высоком уровне защиты или включённом экстренном режиме challenge может затронуть и автоматические запросы: вебхуки платёжных систем, интеграции и серверные API-клиенты не умеют проходить проверку браузера. Для таких адресов создают исключение правилом доступа по IP-адресу отправителя или по конкретному пути, чтобы защита не трогала служебный трафик, но продолжала проверять обычных посетителей.
Нужно ли дополнительно настраивать защиту на самом сервере, если домен уже под Cloudflare?
Полностью заменить защиту на сервере Cloudflare не может: он фильтрует внешний трафик до того, как тот дойдёт до вашего IP, но не защищает от атак, которые происходят уже внутри самого приложения или через прямое обращение к серверу в обход проксирования. Базовый файрвол и ограничение доступа на самом сервере остаются разумной дополнительной мерой.