«Чёрная пятница», «11.11», новогодние распродажи, 8 Марта — для интернет-магазинов это пик продаж. А для злоумышленников — пик возможностей. Пока вы вкладываете миллионы в рекламу и закупаете товар, конкуренты (или просто хакеры-вымогатели) могут положить ваш сайт за несколько минут. Результат: потерянные заказы, сгоревший рекламный бюджет и разгневанные клиенты, которые ушли к конкуренту.
Сайт, не готовый к атакам, — это не просто техническая проблема. Это потеря денег. Рассказываем, как провести аудит безопасности перед высоким сезоном и выстроить защиту, которая выдержит удар.
- ✅ Чем DDoS-атака отличается от обычного всплеска трафика
- ✅ Почему один файрвол на сервере не спасёт — и что нужно вместо него
- ✅ Пошаговый план настройки защиты: CDN, WAF, rate limiting
- ✅ Как провести стресс-тест сайта и не удивиться в распродажу
- ✅ Чек-лист из 15 пунктов для аудита безопасности перед сезоном
Почему сезон распродаж — горячее время для DDoS-атак
DDoS-атака (Distributed Denial of Service — распределённая атака на отказ в обслуживании) — это когда злоумышленники используют армию заражённых устройств (ботнет), чтобы одновременно отправить миллионы запросов на ваш сайт. Сервер перегружается и перестаёт отвечать легитимным пользователям .
Почему сезон распродаж — идеальное время для атаки:
- Максимальный ущерб: час простоя в «чёрную пятницу» стоит в 10–20 раз дороже, чем в обычный день
- Сложно отличить атаку от всплеска трафика: когда реальных покупателей много, злоумышленникам легче замаскироваться
- Мотив у конкурентов: положить ваш сайт и перенаправить трафик к себе — дешёвый способ борьбы
- Время реакции ограничено: техподдержка хостинга в праздники может отвечать часами
По данным исследования, до 60% трафика на крупных маркетплейсах генерируют боты и парсеры . Часть из них — это не просто сбор данных, а целенаправленные атаки на бизнес-логику.
Типы атак, которые нужно предотвратить перед сезоном
Ваш сайт могут атаковать на разных уровнях. Понимание типов атак поможет выбрать правильную защиту.
1. Volumetric DDoS (L3-L4) — «забить трубу»
Самый грубый, но эффективный метод. Ботнет отправляет гигабиты мусорного трафика (SYN-флуд, UDP-флуд) на ваш IP-адрес. Канал связи переполняется, и легитимные пользователи не могут пробиться. Особенность: вы не можете защититься от такого на уровне сервера — атака «забивает трубу» до того, как запросы долетают до вас . Решение — только внешняя фильтрация на стороне провайдера или CDN.
2. HTTP-флуд (L7) — «завалить логику»
Боты имитируют поведение реальных пользователей: открывают страницы, ищут товары, добавляют в корзину. Такие атаки сложнее обнаружить, потому что запросы выглядят «как настоящие». Но они сильно нагружают базу данных и PHP-процессы. Куда бьют: в поиск, в корзину, в оформление заказа — туда, где сервер делает тяжёлую работу .
3. Атаки на бизнес-логику
Здесь цель — не положить сайт, а нанести экономический ущерб:
- Скальпинг (снайпинг): боты скупают лимитированные товары быстрее людей
- Перебор номеров телефонов: злоумышленники проверяют номера через форму аутентификации, вы за это платите за SMS
- Набивание корзины: боты резервируют товары, не давая реальным покупателям их купить
- Сбор цен: конкуренты парсят ваш прайс-лист каждые 5 минут
По данным Wildberries, до 60% трафика на маркетплейсе могут составлять именно такие боты . Для интернет-магазина ситуация не лучше.
Почему антивирус и файрвол на сервере не спасут
«Я поставил на сервер файрвол, настроил fail2ban — теперь я защищён». Это распространённое заблуждение. И вот почему.
Проблема в том, где физически находится защита. Когда конкурент запускает атаку мощностью 100 Гбит/с, ваш канал в дата-центре — всего 1 Гбит/с. Атака забивает канал на входе в дата-центр, до того, как запросы долетают до вашего сервера. Ваш файрвол на сервере просто «не видит» большинство запросов — они даже не доходят до него .
Аналогия: представьте, что вы закрыли дверь квартиры на пять замков. Но поток людей, штурмующих подъезд, таков, что вы не можете даже подойти к двери. Вы не в квартире — вы в ловушке. Примерно то же самое происходит с сервером при мощной DDoS-атаке.
Вывод: отражение DDoS — это задача инфраструктуры, а не одного сервера. Защита должна быть вынесена на уровень сети провайдера или CDN.
Пошаговый план аудита и настройки защиты
Шаг 1. Выберите CDN с защитой от DDoS (это база)
CDN (Content Delivery Network) — это сеть серверов по всему миру, через которую проходят запросы к вашему сайту. Она решает две задачи: ускоряет загрузку и скрывает реальный IP вашего сервера. А скрытый IP — это как секретный вход: злоумышленники не знают, куда целиться .
Как CDN защищает от DDoS:
- Запросы идут через распределённую сеть — атака «размазывается» по тысячам серверов
- Ваш реальный IP остаётся скрытым — атакуют не его, а сеть CDN (которая выдержит)
- На уровне CDN можно настроить правила фильтрации подозрительного трафика
- Крупные провайдеры имеют мощности под 4+ Тбит/с — этого хватит для отражения 99% атак
Что выбрать:
- Cloudflare — бесплатный тариф даёт базовую защиту, платные тарифы — расширенную. Подходит для 80% проектов.
- VK Cloud CDN, Selectel, Qrator — российские провайдеры с хорошей географией узлов и интеграцией с защитой от DDoS .
Шаг 2. Добавьте WAF для фильтрации HTTP-трафика
WAF (Web Application Firewall) — это «умный фильтр», который анализирует HTTP-запросы и блокирует подозрительные: SQL-инъекции, XSS-атаки, ботов, перебор паролей .
Почему WAF нужен даже при наличии CDN: CDN не анализирует содержимое HTTP-запросов — он просто их транслирует. WAF заглядывает внутрь: что за браузер, нет ли в запросе вредоносного кода, не пытается ли бот обойти защиту .
Оптимальная связка перед сезоном: CDN + WAF + Anti-DDoS как единый комплекс .
Варианты WAF:
- Cloudflare WAF — есть в тарифах Pro и Business. Позволяет настраивать правила rate limiting (см. шаг 3).
- Qrator, DDoS-GUARD — российские сервисы web-защиты .
- WAF от хостинга — многие хостинги (Beget, Timeweb, Reg.ru) предоставляют базовый WAF бесплатно.
- Плагины для CMS — Wordfence для WordPress, модуль «Проактивная защита» для 1С-Битрикс.
Шаг 3. Настройте rate limiting для критических страниц
Rate limiting (ограничение частоты запросов) — это правило, которое говорит: с одного IP-адреса или с одного пользователя можно сделать не более N запросов за M секунд. Это самый эффективный способ против HTTP-флуда и перебора паролей .
Обязательные правила rate limiting перед распродажей:
| Страница/действие | Правило | Что защищает |
|---|---|---|
| Форма входа / регистрация | Не более 5 попыток с 1 IP за 5 минут | Защита от перебора паролей |
| Оформление заказа | Не более 10 запросов в минуту с 1 IP | Блокировка спама заказами и набивания корзины |
| Поиск по сайту | Не более 30 запросов в минуту с 1 IP | Поиск — самая тяжёлая операция для БД |
| API (если есть) | Не более 100 запросов в минуту с 1 IP | Предотвращение исчерпания ресурсов API |
Как настроить в Cloudflare (пример для страницы оформления заказа):
Правило: - Выражение: http.request.uri.path eq "/checkout" - Считаем по: IP-адресу - Лимит: 10 запросов / 1 минута - Действие при превышении: Managed Challenge (капча) или Block
Для большей гибкости можно настраивать rate limiting с учётом статуса ответа сервера. Например, считать только неудачные попытки входа (коды 401/403) — так легитимные пользователи, которые успешно вошли, не будут заблокированы .
Для критически важных страниц используйте многоуровневые правила: сначала мягкое ограничение (капча), затем жёсткое (блокировка на час), затем ещё более жёсткое (блокировка на день) .
Шаг 4. Проверьте готовность инфраструктуры к пиковым нагрузкам
Защита от DDoS — это полдела. В распродажу сайт может упасть и от реального трафика, если инфраструктура не готова к 10-кратному росту посещаемости .
Что проверить за 2–3 недели до сезона:
- Балансировщик нагрузки — распределяет трафик между несколькими серверами. При отказе одного сервера сайт продолжает работать .
- Автомасштабирование — возможность в облаке добавлять мощности за 5–10 минут. В пик можно включить дополнительные сервера, после распродажи — отключить .
- Кэширование — страницы, которые не меняются для каждого пользователя (каталог, карточка товара), должны кэшироваться на уровне CDN и сервера.
- База данных — именно она часто становится узким местом. Проверьте индексы, тяжелые запросы, настройте репликацию.
Шаг 5. Проведите стресс-тестирование сайта (без фанатизма)
Вы не можете провести тест мощностью 100 Гбит/с — для этого нужны специализированные сервисы и предупреждение хостинга. Но вы можете провести нагрузочное тестирование, чтобы найти слабые места до того, как их найдут пользователи.
Как провести простое нагрузочное тестирование:
- Используйте сервисы вроде Loader.io, JMeter, Яндекс.Танк для имитации 500–1000 одновременных пользователей
- Проверьте:
- Главную страницу (самая популярная)
- Карточку товара (вторая по популярности)
- Поиск (самый тяжёлый для базы данных)
- Корзину и оформление заказа (критично для бизнеса)
- Смотрите на время ответа. Если при 500 пользователях страница грузится 10 секунд — сайт не выдержит распродажу.
Чек-лист подготовки к сезону распродаж
Распечатайте этот список и отметьте галочками выполненные пункты:
Неделя 4 (за месяц):
- [ ] Выбран и настроен CDN с защитой от DDoS
- [ ] Включён и настроен WAF (web-брандмауэр)
- [ ] Реальный IP сервера скрыт за CDN
- [ ] Настроены правила rate limiting для всех критических страниц
- [ ] Проведён аудит CMS и плагинов — установлены последние обновления безопасности
- [ ] Создана и проверена свежая резервная копия сайта и базы данных
Неделя 2 (за 14 дней):
- [ ] Проведено нагрузочное тестирование (500+ условных пользователей)
- [ ] Узкие места (поиск, корзина) оптимизированы или защищены rate limiting
- [ ] Настроен мониторинг доступности сайта с уведомлениями в Telegram
- [ ] Проверены все формы — письма доходят, капча работает
- [ ] Проверен срок действия SSL-сертификата (не должен истечь в сезон)
- [ ] Сменены пароли у всех, кто уволился за последний месяц
- [ ] Составлен план действий на случай атаки (кто звонит, что отключает)
За день до старта:
- [ ] Увеличен лимит на обработку запросов в настройках PHP (если нужно)
- [ ] Включено кэширование страниц для неавторизованных пользователей
- [ ] Отключены «тяжёлые» модули и плагины, не нужные в распродажу
- [ ] Проверено, что платёжный шлюз выдержит нагрузку
- [ ] Команда оповещена о том, куда сообщать о проблемах
План действий при DDoS-атаке (чтобы не паниковать)
Сайт упал. Что делать? Не паниковать и действовать по плану.
Шаг 1. Диагностика (первые 2 минуты)
- Проверьте, открывается ли сайт у вас (включите VPN — может, атака идёт на определённый регион)
- Зайдите в панель управления хостингом / CDN — обычно там есть графики трафика и раздел «Атаки»
- Проверьте, не упал ли сам хостинг (смотрите статус на Downdetector или в Telegram-канале хостинга)
Шаг 2. Активация защиты (в течение 5–10 минут)
- Включите «режим атаки» в настройках CDN (у Cloudflare — I'm Under Attack Mode) — это добавит капчу для всех посетителей
- Свяжитесь с техподдержкой хостинга — предупредите о DDoS, возможно, у них есть дополнительные мощности
- Ужесточите правила rate limiting временно: например, снизьте лимит для неавторизованных пользователей
Шаг 3. Коммуникация с клиентами
- Опубликуйте пост в соцсетях / Telegram-канале: «На сайт идёт аномальный трафик, техподдержка уже решает проблему. Приносим извинения.»
- Если заказы принимаются по телефону — продублируйте номер
Шаг 4. После атаки (разбор полётов)
- Проведите аудит логов — откуда шла атака, какие страницы были целью
- Усильте защиту по этим направлениям
- Подумайте о смене IP-адреса сервера (если он стал известен злоумышленникам)
Заключение: защита — это инвестиция, а не расход
«Хороший хостинг с защитой от DDoS стоит дорого — 10–20 тысяч в месяц. Может, обойдётся?» Этот вопрос задаёт каждый владелец магазина перед сезоном. А потом, когда сайт лежит в чёрную пятницу, а рекламный бюджет в 500 тысяч уже потрачен, понимает: экономия на защите обошлась в 5–10 раз дороже.
Подготовка к сезону распродаж — это не только закупка товара и настройка рекламы. Это в первую очередь проверка и усиление безопасности. Клиенты не простят вам, если сайт не откроется или оформление заказа будет висеть. Они просто перейдут к конкуренту, у которого сайт работает.
Начните с малого: подключите CDN (хотя бы бесплатный Cloudflare), настройте rate limiting на критических страницах, проведите простое нагрузочное тестирование. Это займёт один день, но может спасти миллион рублей выручки.
Нужна помощь с аудитом безопасности перед сезоном? EDGESECTION проводит комплексную проверку сайтов: от настройки защиты до стресс-тестирования и плана действий при атаке.