DDoS-атака: как понять, что вас атакуют, и что делать
DDoS-атака — это попытка вывести сайт из строя потоком запросов с множества устройств одновременно. Снаружи она выглядит как обычное падение, поэтому первая задача владельца — отличить атаку от наплыва настоящих посетителей и от собственной аварии.
Как устроена атака
Аббревиатура DDoS расшифровывается как distributed denial of service — распределённый отказ в обслуживании. Ключевое слово здесь «распределённый»: запросы идут не с одного адреса, который легко заблокировать, а с тысяч заражённых устройств по всему миру. Сервер не отличает их от живых посетителей и честно пытается обслужить каждого, пока не заканчиваются процессор, память или полоса канала.
Атаки делятся на два больших класса, и лечатся они по-разному.
Объёмные забивают канал мусорным трафиком. Сайт недоступен целиком, вместе с ним отваливаются почта и панель управления на том же сервере. Такие атаки видны сразу и отражаются только на стороне провайдера или специализированного сервиса защиты.
Прикладные бьют точечно: тысячи запросов к тяжёлой странице поиска или к форме, за которой стоит долгий запрос в базу. Трафика по объёму немного, канал свободен, но сервер задыхается. Эти атаки маскируются под живых пользователей и распознаются труднее.
Атака, наплыв или своя авария
Три причины дают похожий симптом «сайт лёг», но различаются деталями. Таблица помогает поставить диагноз за пару минут.
| Признак | DDoS-атака | Наплыв реальных посетителей | Своя авария |
|---|---|---|---|
| Начало | Резкий скачок за секунды | Плавный рост, есть внешний повод | Совпадает с деплоем или работами |
| География | Нетипичные страны и сети | Обычная для сайта | Значения не имеет |
| Поведение в логах | Один-два URL, одинаковый User-Agent, нет загрузки картинок и стилей | Обычные переходы по разделам | Трафик в норме, растут ошибки |
| Метрика посещаемости | Часто почти не растёт: боты не исполняют счётчики | Растёт вместе с нагрузкой | Падает |
| Ответ сервера | Таймауты, 502 и 504 | Замедление, потом таймауты | Чаще 500 сразу после изменения |
Самый быстрый различающий признак — расхождение между нагрузкой на сервер и счётчиком посещаемости. Если сервер задыхается, а Метрика показывает обычные цифры, вы почти наверняка имеете дело с ботами.
Что делать во время атаки
- Напишите хостеру или в поддержку защиты. Это первое действие, а не последнее: объёмную атаку невозможно отфильтровать на своём сервере — мусор нужно резать раньше, на стороне провайдера.
- Соберите факты. Время начала, адреса под ударом, коды ответа, примеры строк из логов. Без этого поддержка будет запрашивать данные по кругу и терять время.
- Снимите нагрузку с тяжёлых мест. Временно отключите внутренний поиск, фильтры каталога и другие ресурсоёмкие страницы, если бьют именно по ним.
- Включите кэширование и лимиты. Отдача статических копий страниц и ограничение числа запросов с одного адреса заметно снижают давление при прикладных атаках.
- Не меняйте инфраструктуру на ходу. Переезд на другой сервер в разгар атаки обычно добавляет вторую аварию к первой: домен переедет не мгновенно, а конфигурация на новом месте будет сырой.
Блокировать адреса вручную по одному — бессмысленно: их тысячи, и они меняются. Так же бесполезно поднимать лимиты сервера «чтобы выдержал»: это лишь отодвигает исчерпание ресурсов на несколько минут.
Как подготовиться заранее
Защита строится до атаки, а не во время. Минимальный набор выглядит так: подключённый сервис фильтрации трафика или тариф хостинга с защитой, настроенное кэширование страниц, разумные лимиты запросов, скрытый реальный IP-адрес сервера и заранее записанные контакты поддержки с порядком эскалации.
Отдельный пункт — знать, что сайт лёг, раньше клиентов. Атаки начинаются ночью и в выходные не реже, чем в рабочее время, а первые минуты решают, потеряете вы час или целый день. Поэтому внешняя проверка доступности сайта и отклика сервера по сети — часть антиDDoS-подготовки наравне с фильтрами.
Пруфен проверяет сайт с интервалом от 2 минут из 13 точек — 11 в России, Минск и Испания. Когда страница перестаёт отвечать, приходит уведомление на Email, в Telegram, в Макс или звонком, а когда сайт поднимается — второе. По истории проверок видно, из каких локаций сайт был недоступен и сколько длился инцидент: эти данные пригодятся в переписке с хостером.
Частые вопросы
Атакуют ли маленькие сайты? Да. Значительная часть атак не про громкую цель, а про случайный выбор, конкурентную борьбу в узкой нише или вымогательство. Небольшой сайт на скромном тарифе к тому же ложится от нагрузки, которую крупный проект не заметит.
Спасает ли переход на более мощный сервер? От прикладных атак иногда помогает, от объёмных — нет: узким местом становится канал, а не процессор. Мощность лишь поднимает планку, после которой сайт всё равно ляжет.
Влияет ли атака на позиции в поиске? Косвенно. Сами боты позиции не роняют, но если во время атаки поисковый робот несколько раз получит таймаут, страницы могут временно потерять места в выдаче. Чем короче простой, тем ниже риск.
Стоит ли платить вымогателям? Нет. Оплата не гарантирует прекращения атаки и делает вас известной целью для повторных требований. Правильный путь — защита на стороне провайдера и обращение в правоохранительные органы.