Как это выглядит со стороны сервера
- Резко растёт число запросов в журнале веб-сервера, причём часто к одним и тем же адресам — поиску, фильтрам, корзине.
- Нагрузка на процессор и базу данных упирается в предел, время ответа растёт до десятков секунд.
- Появляются ошибки 502 и 504: веб-сервер не дожидается ответа приложения.
- Канал при этом может быть загружен не сильно — это главное отличие от объёмных атак.
Разновидности
| Вид | Особенность |
|---|---|
| GET-флуд по тяжёлым страницам | Запросы к поиску и фильтрам с уникальными параметрами, которые не попадают в кэш |
| POST-флуд | Отправка форм: регистрация, обратная связь, корзина — каждая операция пишет в базу |
| Флуд по API | Запросы к методам, которые формируют отчёты или выполняют поиск |
| Медленные атаки | Мало запросов, но каждый держит соединение открытым, см. отдельную статью |
| Обход кэша | Случайные параметры в адресе, чтобы каждый запрос проходил до сервера |
Атака или наплыв посетителей
Распродажа, рассылка или упоминание в СМИ тоже дают всплеск. Отличить помогают признаки: при живом наплыве посетители загружают страницы целиком, со стилями и картинками, переходят по ссылкам и приходят из разных источников. Атакующие запросы обычно бьют в одни адреса, не загружают статику и идут с сетей хостингов или однотипных устройств.
Как защищаются
- Ставят фильтр перед сервером, чтобы отклонённые запросы не расходовали его ресурсы.
- Включают проверку браузера для подозрительных групп запросов.
- Ограничивают частоту запросов к тяжёлым разделам по сессии и отпечатку клиента.
- Кэшируют всё, что можно отдавать одинаково всем посетителям.
- Скрывают настоящий IP сервера, чтобы атаку нельзя было направить в обход.
Подробно о механизмах — на странице защиты от HTTP-флуда.
Вопросы и ответы
Можно ли отразить HTTP-флуд силами хостинга?
Сетевая защита хостинга обычно рассчитана на объёмные атаки уровня L3–L4 и не разбирает содержимое HTTP-запросов. Против флуда на прикладном уровне нужна фильтрация L7.
Сколько длится типичная атака?
От нескольких минут до нескольких суток. Многие атаки идут волнами: пауза — и новая волна с другими параметрами, чтобы проверить, как реагирует защита.