DDoS не всегда выглядит как «сайт лёг». Иногда магазин открывается, но checkout не работает, оплата не проходит, а сервер отвечает в пять раз медленнее.
План действий лучше подготовить до атаки. В момент инцидента времени на изучение документации и поиск доступов не будет.
Что такое DDoS
Это распределённая атака, при которой множество источников создают нагрузку, чтобы сайт стал недоступен. Источники могут быть заражёнными устройствами, ботами или арендованными серверами.
- Атака на канал: лавина трафика.
- Атака на TCP или UDP.
- Атака на HTTP: запросы к тяжёлым страницам.
- Атака на приложение: поиск, фильтры, checkout.
- Медленные запросы, которые держат соединения.
Признаки атаки
Не каждая медленная работа — атака. Сначала проверьте, не вышло ли обновление, не упала ли база и не сломался ли внешний сервис.
- Резкий рост запросов из разных стран.
- Много одинаковых запросов с разных IP.
- Рост 502 и 504.
- Процессор и память загружены без причины.
- Очереди растут, заказы не обрабатываются.
- Оплата и интеграции отвечают с ошибками.
Первые 15 минут
Что именно не работает и с какого времени.
Ресурсы, ошибки, очередь, платежи.
Уточните, видит ли провайдер аномалию.
CDN, WAF или режим повышенной защиты.
Фиксируйте действия, чтобы потом разобрать.
Если атака идёт на уровне приложения, блокировка по IP может не помочь. Нужны правила по поведению, частоте и параметрам запросов.
Уровни защиты
Принимает трафик и отдаёт кэш, скрывая origin.
Фильтрует запросы по правилам и сигнатурам.
Ограничивает частоту запросов.
Снижает нагрузку на приложение.
Сглаживают пики и защищают базу.
Защита на уровне приложения
Самые дорогие запросы — поиск, фильтры, checkout и страницы с персонализацией. Их нельзя отдавать из общего кэша, но можно ограничивать и оптимизировать.
- Ограничить частоту поиска.
- Кэшировать каталог и карточки.
- Защитить checkout от ботов.
- Ввести очередь на тяжёлые операции.
- Ограничить размер запросов.
- Логировать подозрительные сценарии.
Что не поможет
Плагин «анти-DDoS» на слабом сервере, блокировка одного IP и надежда на автопилот. Атака меняется быстрее, чем вы успеваете вручную добавлять правила.
- Блокировка одного адреса.
- Отключение кэша «чтобы проверить».
- Перезапуск сервера без анализа.
- Смена пароля без проверки доступов.
- Игнорирование оплаты и очередей.
План на случай атаки
Держите контакты провайдера, CDN и платёжного сервиса в одном месте. Проверьте, что доступы есть у нескольких людей.
Коммуникация с покупателями
Если магазин недоступен, люди должны понимать, что происходит. Короткое сообщение на странице и в соцсетях снижает поток обращений в поддержку.
- Признайте проблему.
- Скажите, что делаете.
- Дайте срок следующего обновления.
- Не обещайте точное время, если не уверены.
- Сохраните заказы, если возможно.
После атаки
Разберите, что помогло и что стало узким местом. Атака — это нагрузочный тест, который вы не заказывали.
CDN, сервер, приложение, платежи.
Что упало первым.
Заказы, время, репутация.
WAF, лимиты, кэш.
Смоделируйте похожий сценарий.
Профилактика
Защита — это не один сервис, а набор мер. Чем больше слоёв, тем сложнее вывести магазин из строя.
- Скрыть origin за CDN.
- Настроить WAF и rate limit.
- Кэшировать каталог.
- Оптимизировать тяжёлые запросы.
- Держать очереди и мониторинг.
- Проводить нагрузочные тесты.
- Обновлять зависимости.
- Иметь план коммуникации.
Итог
DDoS невозможно предотвратить навсегда, но можно подготовиться. Главное — заранее знать, кто принимает решения, какие сервисы включаются и как сохранить заказы.
Атака на оплату и checkout
Самая дорогая атака — не на главную страницу, а на оплату. Магазин может открываться, но заказы не проходят, и это заметно не сразу.
- Проверка платёжного виджета.
- Ограничение частоты создания заказов.
- Защита от ботов в форме.
- Мониторинг ошибок оплаты.
- Резервный способ оплаты.
- Уведомление поддержки.
Как выбрать провайдера защиты
Смотрите не на обещания «полной защиты», а на скорость включения, поддержку и понятность правил.
- Наличие CDN и WAF.
- Поддержка 24/7.
- Скорость включения защиты.
- Гибкость правил.
- Стоимость при пиках.
- Прозрачность отчётов.
- Опыт в e-commerce.
Нагрузочное тестирование
Регулярный тест помогает понять, где закончится ресурс. Лучше узнать это на своих условиях, чем во время распродажи.
- Каталог и поиск.
- Карточка товара.
- Корзина и checkout.
- Оплата.
- Очереди и интеграции.
- База данных.
Резервный контур
Если основной сайт недоступен, нужна страница с информацией и возможность принять заказ другим способом. Это лучше, чем полностью исчезнуть.
- Статическая страница-заглушка.
- Контакты и мессенджеры.
- Форма заказа.
- Уведомление в соцсетях.
- План возврата.
Юридические и договорные вопросы
Заранее проверьте, что говорит договор с хостингом и платёжным провайдером о простоях и атаках.
- SLA хостинга.
- Ответственность за простой.
- Порядок уведомления.
- Компенсации.
- Хранение логов.
Что сказать команде
В момент атаки команда должна действовать по ролям, а не выяснять, кто виноват. Короткий план помогает сохранить ясность.
- Кто технический координатор.
- Кто общается с клиентами.
- Кто принимает решение об отключении функций.
- Где смотреть статус.
- Когда следующий созвон.
Безопасность DNS и домена
Атака может быть направлена не на сервер, а на DNS. Если домен перестаёт резолвиться, сайт недоступен, даже когда инфраструктура жива.
- Защищённый DNS-провайдер.
- Двухфакторная аутентификация.
- Ограничение доступа к панели.
- Резервные NS.
- Мониторинг изменений.
- Проверка сроков продления.
- Защита от подмены.
Что делать с данными и заказами
Во время атаки важно не потерять уже созданные заказы и корзины. Отключение лишних функций не должно ломать оформление.
- Сохранять корзины.
- Не чистить очередь заказов.
- Следить за оплатами.
- Отключить только некритичное.
- Уведомить поддержку.
- Сделать копию перед изменениями.
- Проверить восстановление.
Как восстановиться быстрее
После атаки нужно вернуть не только сайт, но и доверие. Проверьте заказы, оплаты, остатки и интеграции, прежде чем объявлять о восстановлении.
- Проверить каталог и цены.
- Проверить checkout.
- Сверить заказы с CRM.
- Проверить оплаты.
- Обновить остатки.
- Сообщить клиентам.
- Разобрать инцидент.
Что подготовить заранее
Лучшая защита — это понятный план и доступы, которые не нужно искать в момент аварии. Проверьте их до сезона распродаж.
- Контакты провайдеров.
- Доступы к DNS и WAF.
- Схема критичных сценариев.
- Порядок отключения функций.
- Шаблон сообщения клиентам.
- Ответственный за коммуникацию.
Не пытайтесь вылечить атаку только на уровне приложения. Если канал забит, код и база не успеют ответить. Защита должна начинаться с сети и CDN, а приложение — ограничивать дорогие сценарии.
Защита от ботов
Часть атак имитирует поведение людей. Простая капча может помочь, но усложняет путь покупателю. Нужен баланс между защитой и конверсией.
- Ограничение частоты.
- Проверка поведения.
- Защита форм.
- Белые списки.
- Мониторинг аномалий.
Разберём инфраструктуру, кэш, WAF и план действий. Покажем слабые места.
Обсудить защиту →