Как защитить сайт от DDoS-атак: что реально работает

, автор рубрик «путешествия» и «обучение» · 01.07.2026
Коротко. От большинства DDoS спасает связка защиты на стороне хостинга и сервиса вроде Cloudflare, дорогая собственная инфраструктура нужна редко.

Сайт вдруг открывается по двадцать секунд, а потом и вовсе отдаёт 502. В логах — тысячи запросов с разных адресов за минуту. Похоже на DDoS: кто-то заваливает сервер мусорным трафиком, чтобы он перестал отвечать живым посетителям. Паниковать рано, но и сидеть сложа руки нельзя. Разберёмся, как отличить атаку от наплыва обычных пользователей и чем реально закрыться.

Как понять, что это именно DDoS

Резкий рост нагрузки сам по себе ещё ничего не значит — вас могли просто упомянуть в популярном телеграм-канале. Признаки атаки другие. Трафик идёт с подозрительно однообразных адресов или, наоборот, с огромного числа разных IP по всему миру. Запросы бьют в одну и ту же страницу или вообще в несуществующие URL. Доля отказов взлетает, а конверсий ноль.

Загляните в логи nginx или в панель хостинга. Если видите сотни запросов в секунду к /wp-login.php или к корню сайта с пустым User-Agent — это не покупатели. Полезно держать под рукой команду вроде tail -f access.log и смотреть на живой поток.

Уровни атак и уровни защиты

Атаки делят грубо на два типа. Сетевые (L3-L4) — это когда сервер забивают пакетами, чтобы исчерпать канал или ресурсы железа. Прикладные (L7) хитрее: бот шлёт внешне нормальные HTTP-запросы, но в таком количестве, что база данных или PHP падают под нагрузкой. L7 опаснее для типичного сайта, потому что каждый запрос выглядит легитимным.

Отсюда и разная защита. Сетевые атаки фильтруются на стороне дата-центра ещё до того, как трафик дойдёт до вашего сервера. С прикладными сложнее — тут нужен анализ поведения, капчи и лимиты.

Что делать прямо сейчас

Первым делом проверьте, что включено у хостера. У Selectel и Timeweb Cloud базовая защита от объёмных атак идёт в составе услуг, а расширенную фильтрацию L7 подключают отдельным тарифом — обычно от 1500-3000 рублей в месяц в зависимости от объёма трафика. Если сидите на дешёвом шаред-хостинге за 200 рублей, скорее всего, вас просто отключат до конца атаки, чтобы не страдали соседи по серверу.

Поставьте сайт за Cloudflare. Бесплатный план меняет схему так, что реальный IP сервера прячется, а весь трафик идёт через их сеть с фильтрацией. Включите режим Under Attack, когда чувствуете давление: каждому посетителю на пять секунд покажут проверочную страницу, и боты на ней отвалятся. Минус бесплатного плана — нет тонких правил и гарантий по мощным атакам.

Настройте лимиты на своей стороне. В nginx это limit_req_zone: ограничиваете число запросов с одного адреса, скажем, до 10 в секунду. Грубо, но против примитивных ботнетов помогает. На WordPress закройте xmlrpc.php и поставьте лимит попыток входа — это снимет добрую половину фонового мусора.

Чего делать не стоит

Не бросайтесь сразу покупать выделенный сервер «помощнее». Если атака прикладная, лишние ядра проблему не решат — упрётесь в базу данных или в логику приложения. Сначала фильтрация, потом уже железо.

Не блокируйте подсети вручную в спешке. Под массовой атакой вы быстро забаните половину живой аудитории и сделаете работу злоумышленника за него. Автоматические правила надёжнее ручных списков.

Когда нужна серьёзная защита

Если ваш бизнес теряет ощутимые деньги за каждый час простоя — интернет-магазин в сезон, платёжный сервис, билетная система, — есть смысл смотреть на специализированные решения вроде DDoS-Guard или Qrator. Там защита измеряется уже не сотнями, а тысячами рублей в месяц, зато с гарантиями по полосе и круглосуточным мониторингом. Для блога или сайта-визитки это перебор: связки «хостер плюс Cloudflare» хватает с запасом.

Полезная привычка на будущее — заранее знать, куда смотреть и кому звонить. Сохраните контакты техподдержки хостинга, держите включёнными уведомления о нагрузке. Атака всегда приходит не вовремя, и десять минут, потраченные на настройку заранее, экономят часы простоя потом.

Коротко

DDoS почти всегда отбивается без героических затрат. Спрячьте сервер за Cloudflare, проверьте, что у хостера включена фильтрация, выставьте разумные лимиты в nginx и закройте типовые точки входа в CMS. Дорогая выделенная защита оправдана, только когда простой стоит реальных денег. Остальным достаточно гигиены и пары бесплатных инструментов.

Частые вопросы

Можно ли отбить DDoS вообще без денег?

Базовый бесплатный план Cloudflare закрывает мелкие атаки на уровне сети. Но против мощного потока трафика бесплатных средств обычно не хватает, и приходится докупать защиту у хостера.

Хостер сам защитит мой сайт?

Многие провайдеры фильтруют сетевые атаки на своей стороне по умолчанию. А вот защита от прикладных атак (L7) чаще идёт отдельной платной опцией.