Защита сайта от DDoS: что реально работает
DDoS перестал быть проблемой только крупных площадок. Заказать атаку на 10 000 запросов в секунду стоит меньше, чем ужин в ресторане, а мотивом бывает обычная конкуренция в сезон. Разберём, какие меры дают реальный эффект, а какие создают иллюзию защиты.
Три уровня атак — три разных ответа
Объёмные атаки (L3/L4) забивают канал мусорным трафиком: UDP-флуд, отражённые запросы через открытые DNS-резолверы. Здесь помогает только внешняя фильтрация — ваш сервер физически не получит легитимные пакеты, если канал забит. Атаки на протокол исчерпывают ресурсы соединений: SYN-флуд, медленные запросы Slowloris. Прикладные атаки (L7) выглядят как обычные HTTP-запросы, но бьют по самому тяжёлому: поиск по каталогу, фильтры, генерация PDF. Именно L7 сложнее всего отличить от настоящих пользователей.
Что не работает
- Просто увеличить мощность сервера. Атака масштабируется дешевле, чем ваша инфраструктура.
- Блокировка IP руками. Ботнет из десятков тысяч адресов исчерпает ваше терпение раньше, чем свой пул.
- Блокировка по странам как единственная мера. Половина трафика идёт с арендованных VPS внутри страны.
- Капча на всех страницах. Конверсия падает сильнее, чем от самой атаки.
Что работает: фильтрация на периметре
Базовый рабочий контур — сервис защиты перед сайтом, который принимает трафик на себя, отсеивает мусор и передаёт вам чистый поток. Ключевой момент, который упускают: после подключения нужно закрыть прямой доступ к реальному IP сервера, разрешив входящие только с подсетей фильтра. Иначе атакующий находит исходный адрес через историю DNS или почтовые заголовки и бьёт в обход защиты. Мы всегда проверяем это при настройке инфраструктуры.
Что работает: правильная архитектура приложения
Устойчивость к L7 закладывается в коде. Кэширование страниц на уровне веб-сервера снимает 90% нагрузки: отдать готовый HTML в тысячу раз дешевле, чем собрать его из базы. Ограничение частоты запросов на тяжёлые эндпоинты — поиск, авторизация, формы — отсекает автоматизированный флуд. Тяжёлые операции выносятся в фоновые очереди. Хорошая подборка практик по производительности фронтенда и кэшированию есть на web.dev — многое из этого напрямую повышает и устойчивость к атакам.
Лимиты, которые стоит выставить сегодня
- Rate limit на форму авторизации: не более 5 попыток в минуту с адреса.
- Ограничение на размер тела запроса — отсекает часть атак на загрузку.
- Таймауты на медленные заголовки и тело запроса — прямое противодействие Slowloris.
- Лимит одновременных соединений с одного IP.
- Кэш страниц каталога и главной хотя бы на 60 секунд для неавторизованных.
Сколько это стоит
Базовая защита в составе тарифа хостинга или CDN — от нуля до нескольких тысяч рублей в месяц, и её хватает против атак «на сдачу». Специализированная фильтрация с гарантией по объёму — от 15 000 до 100 000 рублей в месяц в зависимости от полосы и уровня. Сравните с потерями: интернет-магазин со средним оборотом 3 млн рублей в месяц теряет около 100 000 рублей за сутки простоя, не считая просадки в выдаче из-за недоступности.
План на случай атаки
Заранее пропишите: кто принимает решение о включении усиленного режима, у кого есть доступ к панели фильтра ночью, куда переключается сайт, если фильтрация не справляется. Статическая заглушка с контактами и телефоном отдела продаж на отдельном хостинге стоит копейки и спасает продажи. Если инфраструктуру некому держать в тонусе — это ровно та задача, которую закрывает сопровождение. Обсудить конкретную конфигурацию можно здесь.
