Когда ваш сервер превращается в осажденную крепость
Представьте: понедельник, 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) и других методов.
В 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-атаки:
1. Создание армии ботов — хакеры заражают тысячи устройств (компьютеры, смартфоны, умные холодильники и камеры) специальным вирусом
2. Команда к атаке — в нужный момент все зараженные устройства получают команду атаковать вашу цель
3. Массированный удар — тысячи устройств одновременно шлют запросы на ваш сайт
4. Перегрузка и отказ — сервер не справляется с нагрузкой и «падает»
Чем DDoS отличается от DoS
Вся суть — в одной букве «D», которая означает Distributed — «распределенный»:
- DoS-атака (Denial of Service) — это как один очень настойчивый хулиган, который непрерывно звонит в вашу дверь. Источник один. Заблокировал его — и проблема решена.
- DDoS-атака (Distributed Denial of Service) — это как цифровая блокада, когда виртуальный хор из тысяч захваченных устройств синхронно кричит на сервер, заглушая голоса реальных пользователей.
Проще говоря, DoS — это дуэль. DDoS — это сражение на несколько фронтов одновременно. Именно распределённый характер делает современные атаки такими мощными и сложными для отражения.
- DoS-атака (Denial of Service) — это как один очень настойчивый хулиган, который непрерывно звонит в вашу дверь. Источник один. Заблокировал его — и проблема решена.
- DDoS-атака (Distributed Denial of Service) — это как цифровая блокада, когда виртуальный хор из тысяч захваченных устройств синхронно кричит на сервер, заглушая голоса реальных пользователей.
Проще говоря, DoS — это дуэль. DDoS — это сражение на несколько фронтов одновременно. Именно распределённый характер делает современные атаки такими мощными и сложными для отражения.
Что такое брутфорс-атака
Брутфорс (Brute Force) — это метод подбора пароля путем перебора возможных комбинаций.Злоумышленники используют специальное ПО для отправки сотен и тысяч запросов в секунду с разными комбинациями логинов и паролей, пытаясь получить доступ к системе.
Брутфорс-атака может быть направлена на:
- Панели администратора сайтов (WordPress и др.)
- Серверы (SSH, FTP)
- Учётные записи в социальных сетях, банковских и иных сервисах
- Корпоративные и частные сети
- Базы данных
- Почтовые сервисы
Особенность брутфорса в том, что он создает высокую нагрузку на сервер, поскольку каждая попытка входа требует обработки запроса и проверки учетных данных. Если количество таких попыток не ограничено, сервер может перегрузиться и стать недоступным для легитимных пользователей.
Брутфорс-атака может быть направлена на:
- Панели администратора сайтов (WordPress и др.)
- Серверы (SSH, FTP)
- Учётные записи в социальных сетях, банковских и иных сервисах
- Корпоративные и частные сети
- Базы данных
- Почтовые сервисы
Особенность брутфорса в том, что он создает высокую нагрузку на сервер, поскольку каждая попытка входа требует обработки запроса и проверки учетных данных. Если количество таких попыток не ограничено, сервер может перегрузиться и стать недоступным для легитимных пользователей.
Почему DDoS и брутфорс опасны именно для бизнеса
По данным 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 и брутфорс-атаками, поскольку обе они эксплуатируют именно отсутствие ограничений на потребление ресурсов.
- Количество запросов — клиент может отправлять неограниченное число запросов за единицу времени
- Размер полезной нагрузки — клиент может отправлять чрезмерно большие объемы данных
- Количество одновременных соединений — клиент может открывать множество параллельных соединений
- Сложность операций — клиент может инициировать ресурсоемкие операции без ограничений
Эта уязвимость напрямую связана с DDoS и брутфорс-атаками, поскольку обе они эксплуатируют именно отсутствие ограничений на потребление ресурсов.
Как защитить API и веб-приложения: практические методы
1. Rate Limiting (ограничение частоты запросов)
Rate limiting — это основной метод защиты от DDoS и брутфорс-атак. Он позволяет ограничивать количество запросов от одного клиента (по IP-адресу, пользователю или другому идентификатору) за определенный промежуток времени.
Как работает rate limiting:
- Система отслеживает количество запросов от каждого клиента
- При превышении установленного лимита клиент получает ошибку (обычно 429 Too Many Requests или 503 Service Unavailable)
- Лимит может быть настроен для разных эндпоинтов по-разному (например, для `/login` — строже, чем для публичных страниц)
Пример настройки rate limiting в Nginx:
Как работает 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 запросов
Для защиты от брутфорса на форму входа можно установить более строгие ограничения:
- `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 мс
Преимущества 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, например, сочетает сигнатурный набор от экспертов и модели машинного обучения для защиты от попыток эксплуатации уязвимостей, включая уязвимости нулевого дня.
Функции 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
- Разрешайте только нужные порты
- Ограничьте доступ по 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-адреса
- После определенного количества неудачных обращений блокирует их на заданное время
IPBan — аналог Fail2Ban для Windows. Он анализирует текстовые логи или журналы событий Windows, извлекает IP-адреса и после определенного количества неудачных обращений блокирует их в файерволе Windows.
Пример работы IPBan:
- Утилита анализирует логи веб-сервера на предмет повторяющихся нежелательных событий
- Извлекает из них IP-адреса
- После определенного количества неудачных обращений блокирует их на заданное время
6. CAPTCHA и JS Challenge
Для защиты от автоматизированных запросов используются:
- reCAPTCHA — стандартное решение для форм авторизации, регистрации и других POST-методов
- JS Challenge — проверка, выполняет ли клиент JavaScript (боты часто не умеют его выполнять)
- Yandex Smart Captcha — нативная интеграция с Yandex Smart Web Security
- reCAPTCHA — стандартное решение для форм авторизации, регистрации и других POST-методов
- JS Challenge — проверка, выполняет ли клиент JavaScript (боты часто не умеют его выполнять)
- Yandex Smart Captcha — нативная интеграция с Yandex Smart Web Security
7. Многофакторная аутентификация (2FA)
Внедрение двухфакторной аутентификации значительно повышает защиту от брутфорс-атак. Даже если злоумышленник подберет пароль, без второго фактора он не сможет получить доступ.
Инструменты для 2FA:
- Google Authenticator
- Яндекс.Ключ
- Multifactor
- Check Point
Инструменты для 2FA:
- Google Authenticator
- Яндекс.Ключ
- Multifactor
- Check Point
8. Использование сложных паролей и SSH-ключей
Для защиты серверов от брутфорса рекомендуется:
- Отключить вход по паролю и использовать SSH-ключи
- Использовать сложные пароли максимальной длины
- Сменить стандартные порты (например, SSH с 22 на 2222)
- Отключить вход по паролю и использовать SSH-ключи
- Использовать сложные пароли максимальной длины
- Сменить стандартные порты (например, SSH с 22 на 2222)
9. Мониторинг нагрузки и аномалий
Регулярный мониторинг позволяет быстро обнаружить атаку и отреагировать на неё:
- Отслеживайте количество одновременных соединений
- Анализируйте загрузку CPU и сетевого интерфейса
- Настройте оповещения при аномальной активности
- Отслеживайте количество одновременных соединений
- Анализируйте загрузку CPU и сетевого интерфейса
- Настройте оповещения при аномальной активности
10. Комбинирование методов защиты
Наиболее эффективна многоуровневая защита, сочетающая несколько методов:
```
Клиент → CDN/Cloudflare (фильтрация трафика) → WAF (анализ запросов) →
Rate Limiting (ограничение частоты) → Fail2Ban/IPBan (блокировка нарушителей) →
Сервер (логирование и мониторинг)
```
Nginx хорошо работает в связке с Fail2Ban:
- Nginx логирует превышение лимитов (limit_req_status 503 или 429)
- Fail2Ban сканирует логи и автоматически блокирует IP через iptables
```
Клиент → 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 запросов в минуту)
- Ресурсоемкие операции — низкие лимиты с очередями
- Публичные GET-запросы — более высокие лимиты
- Эндпоинты аутентификации (`/login`, `/register`) — строгие лимиты (3–5 запросов в минуту)
- Ресурсоемкие операции — низкие лимиты с очередями
2. Ограничение по пользователю, а не только по IP
Для API, где пользователи аутентифицируются, лимиты лучше привязывать к идентификатору пользователя (user ID или API key), а не только к IP-адресу. Это защищает от ситуаций, когда несколько пользователей используют один IP (например, корпоративный шлюз).
3. Использование заголовков для обратной связи
При превышении лимита возвращайте заголовки:
- `X-RateLimit-Limit` — максимальное количество запросов
- `X-RateLimit-Remaining` — оставшееся количество запросов
- `X-RateLimit-Reset` — время сброса лимита
Это позволяет клиентам адаптировать своё поведение и уменьшает количество ошибок.
- `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 — и постепенно усиливайте защиту по мере роста вашего проекта.
Помните: каждый час простоя вашего сервиса — это потерянные деньги и клиенты. Не дайте злоумышленникам шанса.
Ключевые выводы:
1. Rate limiting — это основа защиты. Ограничение частоты запросов — самый эффективный и доступный метод предотвращения DDoS и брутфорс-атак.
2. Используйте многоуровневую защиту. Сочетайте CDN, WAF, файрвол, Fail2Ban и rate limiting для комплексной защиты.
3. Настраивайте лимиты под разные сценарии. Для эндпоинтов аутентификации устанавливайте более строгие ограничения, чем для публичных страниц.
4. Внедряйте многофакторную аутентификацию. 2FA — надёжная защита от брутфорса даже при компрометации пароля.
5. Мониторьте и анализируйте. Регулярно отслеживайте аномалии в трафике и нагрузке, чтобы быстро реагировать на атаки.
6. Обучайте команду. Более 80% кибератак в России происходят из-за человеческого фактора.Сотрудники должны знать основы информационной безопасности.
Хорошая новость: защититься можно даже с минимальным бюджетом, если знать правильные инструменты и методы.Начните с базовых настроек — Cloudflare, rate limiting в Nginx и Fail2Ban — и постепенно усиливайте защиту по мере роста вашего проекта.
Помните: каждый час простоя вашего сервиса — это потерянные деньги и клиенты. Не дайте злоумышленникам шанса.