Как API-атаки убивают сайт — и почему обычные защиты не помогают
Наткнулся на разбор о том, как сегодня атакуют API — не через уязвимости, а через ресурсы. И понял: это уже не про «хакеров», а про то, как система может быть убита изнутри, даже если всё выглядит чисто.
О чём речь и почему это важно для сайта
Речь не о взломе, а о том, как сайт может упасть, потому что кто-то просто слишком часто пользуется его функциями. Например, кто-то выкачал весь каталог товаров через API — и это выглядело как обычный запрос. Ни вредоносного кода, ни ошибок — только нагрузка. Сайт замедлился, пользователи ушли. А в логах — чисто.
Я считаю, что это важно, потому что обычные системы защиты (WAF, антивирусы) тут бессильны. Они смотрят на отдельные запросы. А здесь — атака в поведении. И если у вас сайт на WordPress с внешним API, у вас тоже может быть такая же точка входа.
Как это устроено — что тут вообще происходит
Суть в том, что злоумышленник не ломает систему — он её использует. Он проходит авторизацию, использует документированные методы, отправляет корректные параметры. Никаких инъекций, никаких подозрительных строк. Но делает это в таких объёмах, что сервер не справляется.
Это как если бы кто-то в магазине одновременно проверял цену на все товары — не чтобы купить, а чтобы собрать данные. И в результате касса не справляется с реальными покупателями. Такой сценарий сейчас — не редкость.
Как понять, что это касается вашего сайта
Я это проверяю так: смотрю на логи API-запросов. Не на отдельные строки, а на паттерны. Например, если один IP за минуту сделал 500 обращений к методу "получить цену", а это не похоже на поведение пользователя — это тревога.
Если у сайта есть API (даже если он не документирован), если есть форма с автозаполнением, если каталог доступен через REST — это потенциальная цель. И не обязательно, чтобы это было веб-приложение: даже WordPress с плагинами может быть уязвим.
Что с этим делать — что я делаю в таких случаях
Первое — не просто убрать запросы. Это не решит проблему. Нужно понять, откуда они пришли. Я смотрю на источники: IP, User-Agent, поведение. Если один источник делает много запросов — блокирую, но не сразу.
Затем ввожу динамические лимиты: не фиксированные, а скользящие окна. Это позволяет пропускать всплески, но блокировать систематическое использование. И проверяю, не устарел ли код — вдруг там есть уязвимость, которую можно эксплуатировать через API.
Что здесь даёт поддержка — как мы закрываем эту угрозу
Мы не просто чистим после инцидента. Мы настраиваем систему, которая видит аномалии в поведении — не по одному запросу, а по паттерну. Мониторинг каждые несколько минут, 24/7 — это не просто слово. Это то, что у нас в системе. Мы видим, когда нагрузка на API резко выросла, и реагируем до того, как сайт упадёт.
Почистить мало — надо закрыть причину, иначе вернётся. Заражают не «хакеры, выбравшие вас», а боты, массово сканирующие уязвимости. И если вы не закроете точку входа, следующий раз будет не с ценами, а с чем-то посерьёзнее.
Приглашаю на бесплатный аудит безопасности — проверим, как ваш сайт выдерживает нагрузку, и покажем, где может быть дыра.