Найдите, на каком участке растёт нагрузка
HTTP-флуд действует через запросы к веб-приложению. Даже небольшой поток к тяжёлому поиску, генерации отчёта или неудачно настроенному API может расходовать много ресурсов. Поэтому важны не только запросы в секунду, но и стоимость их обработки.
При сетевой перегрузке проблема может возникнуть раньше, чем запрос дойдёт до HTTP-фильтра. Если канал заполнен или соединения не устанавливаются, одних правил WAF и лимитов на маршруты недостаточно. Нужны данные и возможности провайдера сети.
| Что наблюдается | Что это помогает проверить |
|---|---|
| Растут время ответа и нагрузка приложения при доступном соединении | Дорогие маршруты, базу данных, внешние зависимости и поток HTTP-запросов. |
| Соединение не устанавливается, есть потери и рост сетевого трафика | Канал и сетевой уровень совместно с инфраструктурным провайдером. |
| Ошибки только у одного действия | Обработчик этого действия, лимит и зависимые сервисы. |
| Рост совпал с рекламой или публикацией | Легитимный пик и достаточность ресурсов; совпадение само по себе не исключает атаку. |
Соберите короткий срез до изменения правил
Сохраните время начала, несколько затронутых URL, ответы и показатели сервера. Сопоставьте запросы на входе защиты с теми, которые дошли до origin. Если видна только часть цепочки, укажите это ограничение вместо вывода о полном масштабе события.
Разделите статические ресурсы, динамические страницы и операции записи. Запрос изображения и создание отчёта могут иметь одинаковый вес в общем счётчике, но разную стоимость для приложения. Выделение дорогого маршрута часто полезнее общего запрета для всех посетителей.
- Частота и длительность запросов по маршрутам и методам.
- Доля ошибок и причины ограничений, особенно 429 и 5xx.
- Нагрузка приложения, базы и используемого канала, если эти данные доступны.
- Недавние изменения приложения, рекламы, кеша и защиты.
Подберите ограничение к нормальному сценарию
Лимит должен учитывать, сколько запросов нужно обычному посетителю и какие операции создают нагрузку. Общий IP может принадлежать офису или мобильной сети; слишком жёсткое ограничение по нему затронет разных людей. Подписанный браузер тоже не является доказательством личности.
RoboGuard позволяет сдерживать частоту в рамках поддерживаемых правил и сочетать ограничения с проверкой посетителя. Проверка браузера не заменяет жёсткий предел нагрузки: успешное прохождение проверки не делает ресурсы приложения неограниченными.
- Выберите подтверждённо проблемный маршрут и определите его нормальный сценарий.
- Проверьте доступную область лимита и поведение нескольких посетителей за одним IP.
- Примените ограничение через действующий процесс публикации и убедитесь, что новая версия действительно используется.
- Проверьте обычную операцию, число обращений к origin и ответы на превышение.
Используйте кеш и WAF по их назначению
Кеш может уменьшить повторное чтение подходящей публичной статики с origin. Он не делает безопасным кеширование личного кабинета и не помогает запросам, которые должны каждый раз выполняться приложением. Сначала проверьте, что нужные ресурсы действительно дают попадания в кеш.
WAF помогает с запросами, содержащими признаки атак на приложение, но большой поток допустимых по формату запросов может потребовать отдельных лимитов. При исчерпании канала подключайте инфраструктурного провайдера: прикладная защита RoboGuard не заменяет провайдерскую защиту сети.
Проверьте восстановление работы сайта
Пройдите основные действия обычного посетителя и наблюдайте их ошибки и задержку. Снижение нагрузки ценой недоступной формы покупки не является успешным результатом. Сохраняйте различие между отклонёнными запросами и доказанно вредной активностью.
Зафиксируйте причину изменения и способ вернуть предыдущую настройку. После прекращения всплеска оцените, нужны ли введённые ограничения в обычной работе. Не заявляйте защищённую мощность или доступность под любыми атаками на основании одного благополучного эпизода.