Статьи

OWASP API Top 10: Unrestricted Resource Consumption — защита от DDoS, брутфорс-атак и перегрузки API через ограничение запросов

Когда ваш сервер превращается в осажденную крепость

Представьте: понедельник, 10 утра, пик продаж в вашем интернет-магазине. Внезапно сайт перестаёт открываться. Клиенты жалуются, заказы не оформляются, каждая минута простоя — это потерянные деньги.Причина — DDoS-атака, от которой не застрахован ни один онлайн-бизнес.

В 2025 году количество DDoS-атак выросло на 300%, а средний ущерб для малого бизнеса составляет от 50 000 до 500 000 рублей за один инцидент.При этом, согласно исследованиям «СОЛАР», в I квартале 2025 года число хакерских атак на ИТ-системы российских организаций выросло в 2,7 раза, причём 94% из них — это брутфорс-атаки (грубый перебор паролей).

Эти два типа атак — DDoS и брутфорс — являются самыми распространенными и опасными угрозами для API и веб-приложений.В рейтинге OWASP API Security Top 10 они объединены в категорию API4: Unrestricted Resource Consumption — неограниченное потребление ресурсов. Эта уязвимость возникает, когда API не ограничивает количество запросов от клиентов, позволяя злоумышленникам перегружать систему и сделать её недоступной для легитимных пользователей.

В этой статье мы подробно разберём, как работают DDoS и брутфорс-атаки, почему они так опасны для API, и главное — как эффективно защитить свои сервисы с помощью ограничения частоты запросов (rate limiting) и других методов.

Что такое DDoS-атака простыми словами

DDoS (Distributed Denial of Service) — это когда злоумышленники организуют «цифровую толпу» из тысяч зараженных компьютеров (ботнет) и направляют их на ваш сайт одновременно.

Представьте себе популярное кафе с одним входом. В него пытается одновременно войти тысяча человек. Они не делают заказов, не ведут себя агрессивно — они просто стоят в дверях, болтают и блокируют вход для настоящих посетителей. Кафе парализовано.

Как работает механизм DDoS-атаки:

1. Создание армии ботов — хакеры заражают тысячи устройств (компьютеры, смартфоны, умные холодильники и камеры) специальным вирусом

2. Команда к атаке — в нужный момент все зараженные устройства получают команду атаковать вашу цель

3. Массированный удар — тысячи устройств одновременно шлют запросы на ваш сайт

4. Перегрузка и отказ — сервер не справляется с нагрузкой и «падает»

Чем DDoS отличается от DoS

Вся суть — в одной букве «D», которая означает Distributed — «распределенный»:

- DoS-атака (Denial of Service) — это как один очень настойчивый хулиган, который непрерывно звонит в вашу дверь. Источник один. Заблокировал его — и проблема решена.

- DDoS-атака (Distributed Denial of Service) — это как цифровая блокада, когда виртуальный хор из тысяч захваченных устройств синхронно кричит на сервер, заглушая голоса реальных пользователей.

Проще говоря, DoS — это дуэль. DDoS — это сражение на несколько фронтов одновременно. Именно распределённый характер делает современные атаки такими мощными и сложными для отражения.

Что такое брутфорс-атака

Брутфорс (Brute Force) — это метод подбора пароля путем перебора возможных комбинаций.Злоумышленники используют специальное ПО для отправки сотен и тысяч запросов в секунду с разными комбинациями логинов и паролей, пытаясь получить доступ к системе.

Брутфорс-атака может быть направлена на:

- Панели администратора сайтов (WordPress и др.)

- Серверы (SSH, FTP)

- Учётные записи в социальных сетях, банковских и иных сервисах

- Корпоративные и частные сети

- Базы данных

- Почтовые сервисы

Особенность брутфорса в том, что он создает высокую нагрузку на сервер, поскольку каждая попытка входа требует обработки запроса и проверки учетных данных. Если количество таких попыток не ограничено, сервер может перегрузиться и стать недоступным для легитимных пользователей.

Почему DDoS и брутфорс опасны именно для бизнеса

Последствие
Реальный ущерб
Пример из практики
Прямые финансовые потери
20 000 – 200 000 руб/час простоя
Интернет-магазин электроники потерял 450 000 руб за 3 часа атаки в Черную пятницу
Ущерб репутации
-30% доверия клиентов
После атаки на сервис доставки еды 40% клиентов перешли к конкурентам
SEO-последствия
-20 позиций в поиске
Сайт услуг потерял позиции в Google после недельных перебоев
Расходы на восстановление
50 000 – 500 000 руб
Средняя стоимость экстренного подключения защиты и работы специалистов
По данным ispmanager, в мае 2022 года российский видеохостинг Rutube атаковала группировка Anonymous — убытки на восстановление инфраструктуры составили от 500 млн до 1 млрд рублей. Сервис не мог восстановить работу в течение 3 дней.За 2024 год число кибератак в России выросло на 45%, а ущерб исчисляется миллионами рублей.

API4: Unrestricted Resource Consumption в OWASP API Top 10

В рейтинге OWASP API Security Top 10 уязвимость Unrestricted Resource Consumption (неограниченное потребление ресурсов) занимает четвёртое место. Она возникает, когда API не устанавливает лимиты на:

- Количество запросов — клиент может отправлять неограниченное число запросов за единицу времени

- Размер полезной нагрузки — клиент может отправлять чрезмерно большие объемы данных

- Количество одновременных соединений — клиент может открывать множество параллельных соединений

- Сложность операций — клиент может инициировать ресурсоемкие операции без ограничений

Эта уязвимость напрямую связана с DDoS и брутфорс-атаками, поскольку обе они эксплуатируют именно отсутствие ограничений на потребление ресурсов.

Как защитить API и веб-приложения: практические методы

1. Rate Limiting (ограничение частоты запросов)

Rate limiting — это основной метод защиты от DDoS и брутфорс-атак. Он позволяет ограничивать количество запросов от одного клиента (по IP-адресу, пользователю или другому идентификатору) за определенный промежуток времени.

Как работает rate limiting:

- Система отслеживает количество запросов от каждого клиента

- При превышении установленного лимита клиент получает ошибку (обычно 429 Too Many Requests или 503 Service Unavailable)

- Лимит может быть настроен для разных эндпоинтов по-разному (например, для `/login` — строже, чем для публичных страниц)

Пример настройки rate limiting в Nginx:
```nginx
 Определяем зону для хранения состояния клиентов
limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s;

 Применяем ограничение к конкретному location
location /api/ {
    limit_req zone=one burst=5 nodelay;
}
```
Здесь:
- `zone=one:10m` — имя зоны `one`, 10 МБ памяти для хранения состояния клиентов (~160 тысяч IP)

- `rate=10r/s` — разрешено 10 запросов в секунду на один IP

- `burst=5` — разрешает кратковременное превышение лимита на 5 запросов

Для защиты от брутфорса на форму входа можно установить более строгие ограничения:
```nginx
location /login {
    limit_req zone=login_limit burst=3 nodelay;
    limit_req_status 429;
}
```
В этом случае один IP не сможет отправить больше 3 запросов одновременно на `/login`.

2. Использование CDN и облачных сервисов защиты

Cloudflare — это первая линия обороны для 90% небольших проектов. Бесплатный тариф защищает от базовых атак до 10 Гбит/с.

Преимущества Cloudflare:

- Бесплатный базовый план с защитой от DDoS

- Настройка за 15 минут без технических знаний

- CDN ускоряет загрузку сайта на 40%

- Автоматическое обнаружение и блокировка атак

Другие популярные решения:

- Yandex Smart Web Security — облачная защита на основе ML-моделей и многолетнего опыта Яндекса. Защищает от DDoS-атак уровней L3, L4 и L7, брутфорса, СМС-бомбинга и атак нулевого дня.

- G-Core, DDoS-Guard — специализированные Anti-DDoS сервисы

- Variti — интеллектуальная платформа для круглосуточной защиты цифровой инфраструктуры

- Kaspersky DDoS Protection — защита с точностью определения ботов 99,99% и временем принятия решения менее 50 мс

3. Web Application Firewall (WAF)

WAF (Web Application Firewall) — это межсетевой экран уровня приложений, который анализирует HTTP-трафик и блокирует подозрительные запросы.

Функции WAF:

- Фильтрация трафика по сигнатурам известных атак

- Обнаружение аномалий в поведении пользователей

- Защита от SQL-инъекций, XSS и других веб-уязвимостей

- Блокировка сканирования уязвимостей

Yandex Smart Web Security, например, сочетает сигнатурный набор от экспертов и модели машинного обучения для защиты от попыток эксплуатации уязвимостей, включая уязвимости нулевого дня.

4. Настройка Firewall (iptables, UFW, MikroTik)

На уровне сетевой инфраструктуры можно настроить фаервол для ограничения доступа:

- Разрешайте только нужные порты

- Ограничьте доступ по IP-адресам (белые списки)

- Настройте защиту от SYN-флуда, UDP-флуда, ICMP-флуда

Для роутеров MikroTik важно:

- Закрыть дефолтные порты (SSH на 22, Winbox на 8291, API на 8728)

- Настроить RAW firewall (главная таблица для DDoS)

- Использовать динамические блокировки для автоматической блокировки атакующих IP

5. Fail2Ban и IPBan для автоматической блокировки

Fail2Ban — это инструмент для Linux, который анализирует логи и автоматически блокирует IP-адреса после нескольких неудачных попыток входа.

IPBan — аналог Fail2Ban для Windows. Он анализирует текстовые логи или журналы событий Windows, извлекает IP-адреса и после определенного количества неудачных обращений блокирует их в файерволе Windows.

Пример работы IPBan:

- Утилита анализирует логи веб-сервера на предмет повторяющихся нежелательных событий

- Извлекает из них IP-адреса

- После определенного количества неудачных обращений блокирует их на заданное время

6. CAPTCHA и JS Challenge

Для защиты от автоматизированных запросов используются:

- reCAPTCHA — стандартное решение для форм авторизации, регистрации и других POST-методов

- JS Challenge — проверка, выполняет ли клиент JavaScript (боты часто не умеют его выполнять)

- Yandex Smart Captcha — нативная интеграция с Yandex Smart Web Security

7. Многофакторная аутентификация (2FA)

Внедрение двухфакторной аутентификации значительно повышает защиту от брутфорс-атак. Даже если злоумышленник подберет пароль, без второго фактора он не сможет получить доступ.

Инструменты для 2FA:

- Google Authenticator

- Яндекс.Ключ

- Multifactor

- Check Point

8. Использование сложных паролей и SSH-ключей

Для защиты серверов от брутфорса рекомендуется:

- Отключить вход по паролю и использовать SSH-ключи

- Использовать сложные пароли максимальной длины

- Сменить стандартные порты (например, SSH с 22 на 2222)

9. Мониторинг нагрузки и аномалий

Регулярный мониторинг позволяет быстро обнаружить атаку и отреагировать на неё:

- Отслеживайте количество одновременных соединений

- Анализируйте загрузку CPU и сетевого интерфейса

- Настройте оповещения при аномальной активности

10. Комбинирование методов защиты

Наиболее эффективна многоуровневая защита, сочетающая несколько методов:

```
Клиент → CDN/Cloudflare (фильтрация трафика) → WAF (анализ запросов) →

Rate Limiting (ограничение частоты) → Fail2Ban/IPBan (блокировка нарушителей) →

Сервер (логирование и мониторинг)
```

Nginx хорошо работает в связке с Fail2Ban:

- Nginx логирует превышение лимитов (limit_req_status 503 или 429)

- Fail2Ban сканирует логи и автоматически блокирует IP через iptables

Как защитить API от неограниченного потребления ресурсов

Для API-эндпоинтов особенно важно настроить гранулярные ограничения:

1. Ограничение на уровне отдельных энд поинтов

Разные эндпоинты требуют разных лимитов:

- Публичные GET-запросы — более высокие лимиты

- Эндпоинты аутентификации (`/login`, `/register`) — строгие лимиты (3–5 запросов в минуту)

- Ресурсоемкие операции — низкие лимиты с очередями

2. Ограничение по пользователю, а не только по IP

Для API, где пользователи аутентифицируются, лимиты лучше привязывать к идентификатору пользователя (user ID или API key), а не только к IP-адресу. Это защищает от ситуаций, когда несколько пользователей используют один IP (например, корпоративный шлюз).

3. Использование заголовков для обратной связи

При превышении лимита возвращайте заголовки:

- `X-RateLimit-Limit` — максимальное количество запросов

- `X-RateLimit-Remaining` — оставшееся количество запросов

- `X-RateLimit-Reset` — время сброса лимита

Это позволяет клиентам адаптировать своё поведение и уменьшает количество ошибок.

4. Ограничение размера полезной нагрузки

Устанавливайте лимиты на размер тела запроса (например, через `client_max_body_size` в Nginx). Это защищает от атак, связанных с отправкой чрезмерно больших объёмов данных.

Заключение

DDoS и брутфорс-атаки — это не просто технические неудобства, а серьезная угроза для бизнеса, способная привести к финансовым потерям, репутационному ущербу и потере клиентов. В рейтинге OWASP API Security Top 10 они объединены в категорию Unrestricted Resource Consumption, и каждая организация, предоставляющая API или веб-сервисы, обязана принимать меры для защиты от этих угроз.

Ключевые выводы:

1. Rate limiting — это основа защиты. Ограничение частоты запросов — самый эффективный и доступный метод предотвращения DDoS и брутфорс-атак.

2. Используйте многоуровневую защиту. Сочетайте CDN, WAF, файрвол, Fail2Ban и rate limiting для комплексной защиты.

3. Настраивайте лимиты под разные сценарии. Для эндпоинтов аутентификации устанавливайте более строгие ограничения, чем для публичных страниц.

4. Внедряйте многофакторную аутентификацию. 2FA — надёжная защита от брутфорса даже при компрометации пароля.

5. Мониторьте и анализируйте. Регулярно отслеживайте аномалии в трафике и нагрузке, чтобы быстро реагировать на атаки.

6. Обучайте команду. Более 80% кибератак в России происходят из-за человеческого фактора.Сотрудники должны знать основы информационной безопасности.

Хорошая новость: защититься можно даже с минимальным бюджетом, если знать правильные инструменты и методы.Начните с базовых настроек — Cloudflare, rate limiting в Nginx и Fail2Ban — и постепенно усиливайте защиту по мере роста вашего проекта.

Помните: каждый час простоя вашего сервиса — это потерянные деньги и клиенты. Не дайте злоумышленникам шанса.
2026-08-19 19:08