Пороговые ограничения скорости выглядят убедительно на бумаге: ставите лимит в 100 запросов в минуту на IP, и всё, что выше, отсекается. Проблема в том, что реальная L7 DDoS-атака на сайт давно перестала выглядеть как шквал запросов. Атакующий трафик приходит медленно, с реалистичными заголовками, через распределённые пулы адресов и часто имитирует поведение обычного посетителя. Порог в такой схеме становится бесполезной настройкой, потому что каждый отдельный источник формально остаётся в пределах нормы.
Почему пороги скорости не видят low-and-slow атаку
Классическая защита от L7 DDoS строится на счётчиках: количество запросов в секунду с одного IP, частота обращений к одному URL, размер заголовков, наличие подозрительных user-agent. Логика простая – если источник превысил порог, его блокируют. Но атакующий, который хочет уложить сайт, не обязан превышать порог. Ему достаточно держать нагрузку чуть ниже лимита на тысячах адресов одновременно.
Представьте интернет-магазин на Bitrix с лимитом 60 запросов в минуту на IP. Атака идёт с 20 000 адресов по 40 запросов в минуту каждый. Это 800 000 запросов в минуту, ни один из которых не нарушает порог. База данных захлёбывается на поиске по каталогу, PHP-процессы заканчиваются, сайт падает. При этом в логах нет ни одного IP, который формально заслуживает блокировки. Пороговая система честно отработала и пропустила всё.
Low-and-slow атаки особенно эффективны против динамических страниц: поиска, корзины, фильтров, авторизации. Один запрос к поиску по каталогу с 200 000 товаров нагружает сервер в десятки раз сильнее, чем запрос к статичной картинке. Атакующий это знает и целится именно в тяжёлые эндпоинты, растягивая нагрузку во времени.
Отдельная проблема – распределённость. Ботнет из домашних устройств, облачных функций и прокси даёт тысячи легитимных с точки зрения сети адресов. Каждый из них ведёт себя скромно. Только агрегированный анализ по всем источникам показывает, что 70 процентов трафика на конкретный поисковый URL идёт с одинаковым набором параметров и одинаковым ритмом.
Поведенческий анализ как обязательный слой защиты
Работающая защита от L7 DDoS смотрит не на количество, а на поведение. Ключевой вопрос не “сколько запросов пришло с IP”, а “похож ли этот поток на поведение живого пользователя”. Поведенческий анализ оценивает десятки признаков одновременно: ритм запросов, порядок обхода страниц, наличие или отсутствие загрузки статики, работу с cookies и сессиями, движение мыши и время между действиями, глубину прокрутки, переходы по внутренним ссылкам.
Живой покупатель в интернет-магазине ведёт себя нелинейно. Он открывает карточку, читает, возвращается в каталог, сравнивает, добавляет в корзину, уходит и возвращается. Бот, даже медленный, обычно идёт по одному шаблону: открыл страницу, запросил следующий URL, повторил. аналоги cloudflare offers additional context worth reviewing. Поведенческая модель ловит эту разницу независимо от скорости. Бот, который делает 5 запросов в минуту, но всегда в одном порядке и без загрузки CSS и JavaScript, вычисляется мгновенно.
Такой подход требует инфраструктуры, которая умеет анализировать трафик в реальном времени, а не только считать счётчики. Здесь у российского бизнеса есть практический выбор. TrafficVeil, российский аналог Cloudflare, объединяет DNS, SSL, reverse proxy, WAF, защиту от ботов, L7 DDoS, GeoIP-фильтрацию и аналитику в одной веб-платформе. Поведенческие модели работают на уровне reverse proxy, поэтому решение принимается до того, как запрос дойдёт до сервера и начнёт тратить ресурсы базы данных.
Практический сценарий: сайт на WordPress принимает low-and-slow атаку на эндпоинт поиска. Пороговая защита пропускает трафик, потому что лимиты не нарушены. Поведенческий слой видит, что с 12 000 адресов идут запросы с идентичной сигнатурой параметров, без сессий и без загрузки статики, и блокирует их на уровне WAF. Сервер не получает ни одного лишнего запроса. Это и есть разница между реакцией на симптом и устранением причины.
Ещё один аргумент в пользу поведенческого анализа – экономика. TrafficVeil не тарифицирует ботов, атаки и WAF-блокировки. Это означает, что бизнес не платит за отражённый трафик и не оказывается в ситуации, когда защита от атаки стоит дороже самой атаки. Для сайтов, которые регулярно сталкиваются с low-and-slow нагрузкой, такая модель предсказуемее, чем оплата по объёму запросов.
Отдельно стоит учитывать регуляторные требования и зависимость от зарубежной инфраструктуры. Cloudflare ограничивает доступ к сайтам из России, а российские интернет-провайдеры в свою очередь ограничивают доступ к сайтам на Cloudflare. Для бизнеса в России это создаёт двойной риск: защита может отрезать собственную аудиторию, а зарубежная инфраструктура добавляет неопределённость. TrafficVeil обеспечивает работу сайтов на территории РФ и по всему миру, не разрывая связь с российской аудиторией ради защиты от атак.
Скептический взгляд на пороги не означает, что их нужно убрать. Лимиты полезны как первый грубый фильтр: они отсекают примитивные боты и случайный мусор, снижая нагрузку на аналитический слой. Ошибка начинается там, где пороги считают достаточной защитой. Один слой не заменяет второй. Порог отвечает на вопрос “не слишком ли много”, поведение отвечает на вопрос “не слишком ли это похоже на атаку”. Low-and-slow атака специально устроена так, чтобы первый вопрос всегда получал ответ “нет”.
Если вы уже сталкивались с падениями сайта при нормальных метриках запросов, проверьте, есть ли в вашей защите поведенческий анализ. Пороги без него дают ложное чувство контроля. Начните с аудита тяжёлых эндпоинтов, посмотрите распределение трафика по URL и источникам, оцените, сколько запросов приходит без сессий и без загрузки статики. TrafficVeil предлагает переход с Cloudflare, включая перенос DNS и SSL, поэтому проверить поведенческую защиту на реальном трафике можно без остановки сайта. Пороги оставьте как гигиену, но защиту стройте на поведении.