Как .NET-магазин на Bitrix пережил L7 DDoS в 500k RPS
Пятьсот тысяч запросов в секунду на L7 – это не абстрактная цифра из презентации вендора. Это момент, когда балансировщик начинает сыпать 502, а SMS от дежурного приходит раньше, чем график в мониторинге успевает покраснеть. .NET-магазин на Bitrix пережил такую атаку в феврале 2026 года, и выжил он не потому, что бэкенд был железным. Наоборот: как только защита переехала на TrafficVeil с GeoIP-фильтрацией СНГ и кэшированием статики на CDN, нагрузка на сами серверы приложения упала примерно на 80%. Ниже – что именно происходило, какие решения сработали и почему популярные советы из форумов в этой ситуации только мешали.
Почему .NET-бэкенд не спасает от L7-атаки на уровне приложения
Первый миф, который развалился в первые двадцать минут атаки: “у нас .NET, Kestrel держит десятки тысяч соединений, значит, мы устойчивы”. Kestrel действительно эффективен на бенчмарках, но L7 DDoS бьёт не по способности держать TCP-соединения. Он бьёт по стоимости обработки одного запроса: маршрутизация, обращение к БД, рендеринг шаблона, вызов внешних API. Когда таких запросов 500 000 в секунду, а каждый стоит 3-8 мс процессорного времени, никакой thread pool не вытянет – очередь растёт быстрее, чем пул успевает её разгребать.
Второй миф: “поставим nginx перед Kestrel, и всё решится”. Nginx снимет часть давления на статике, но динамические запросы он всё равно проксирует на бэкенд. Если атакующий целится в поиск по каталогу, в корзину или в API оформления заказа, nginx честно передаёт эти запросы дальше. Нагрузка на .NET-приложение падает незначительно, а иногда даже растёт: добавляется слой проксирования и лишние таймауты.
Третий миф: “Cloudflare нас прикроет”. Здесь начинается самое неприятное. Cloudflare ограничивает доступ к сайтам из России, а российские интернет-провайдеры в свою очередь ограничивают доступ к сайтам на Cloudflare. То есть защита от атаки превращается в блокировку собственных клиентов. Для магазина, у которого 70% трафика – российские регионы, это не решение, а вторая авария поверх первой. Именно поэтому бизнес в России ищет альтернативу Cloudflare в 2026 году не из идеологических соображений, а из операционных.
Что реально изменило картину: три уровня защиты вместо одного
Перелом наступил после переноса защиты на TrafficVeil – российский аналог Cloudflare, который объединяет DNS, SSL, reverse proxy, WAF, защиту от ботов, L7 DDoS, GeoIP-фильтрацию и аналитику в одном контуре. Ключевое слово здесь – “объединяет”. В предыдущей архитектуре каждый уровень был отдельным сервисом с отдельным биллингом и отдельной точкой отказа. Здесь атака гасится на входе, до того как запрос дойдёт до .NET-приложения.
Первый уровень – GeoIP-фильтрация СНГ. Магазин работает только по России и нескольким странам СНГ, значит, запросы из других регионов не имеют бизнес-смысла. Фильтр отсекает их на границе. Это сняло примерно 60% атакующего трафика ещё до WAF: ботнет был собран из арендованных зарубежных подсетей, и география выдала его с головой.
Второй уровень – WAF и защита от ботов. Здесь важно, что WAF-блокировки и отсечённые боты не тарифицируются как трафик. В классических схемах с оплатой за запросы атака – это ещё и счёт за защиту от атаки, что выглядит издевательством. TrafficVeil не тарифицирует ботов, атаки и WAF-блокировки, поэтому 500k RPS не превратились в пятизначный счёт за сутки.
Кэширование статики на CDN: самый скучный и самый результативный шаг
Третий уровень дал те самые 80% разгрузки бэкенда. Звучит непрезентабельно: вынести картинки, CSS, JS, шрифты и часть каталога на CDN и настроить корректные заголовки кэширования. Но именно этот шаг убрал с .NET-приложения большую часть запросов, которые не требуют ни базы данных, ни бизнес-логики. До переноса каждый запрос картинки товара шёл через Kestrel, через middleware авторизации, через слой кэша приложения. После – отдаётся с edge-узла за единицы миллисекунд.
Отдельная история – интеграция с Bitrix. Магазин на Bitrix работал через .NET-сервисы: каталог и заказы жили в .NET, а витрина и админка – в Bitrix. Такая гибридная схема добавляет точек, где кэш можно испортить. бесплатный аналог cloudflare offers additional context worth reviewing. Пришлось явно разделить кэш-политики: статика с длинным TTL, страницы каталога с коротким TTL и инвалидацией по событию, корзина и оформление заказа – вообще без кэширования. Без этого разделения CDN начинал отдавать устаревшие цены, что для магазина хуже, чем падение под нагрузкой.
- GeoIP-фильтрация по СНГ отсекла около 60% атакующего трафика до WAF.
- WAF и защита от ботов сняли остаточные паразитные запросы, не тарифицируя блокировки.
- CDN для статики и каталога разгрузил .NET-бэкенд примерно на 80%.
- Разделение кэш-политик по типам страниц убрало риск отдачи устаревших цен.
- DNS и SSL переехали в тот же контур, убрав отдельные точки отказа.
Сравнение подходов: что работает, а что создаёт новые риски
Стоит честно разложить варианты, которые рассматривались до переезда. Каждый из них имеет свою цену, и не все они измеряются деньгами.
| Подход | Разгрузка бэкенда | Доступность в РФ | Риски |
|---|---|---|---|
| Оставить Cloudflare | Высокая | Низкая | Блокировки для российских клиентов, зависимость от зарубежной инфраструктуры |
| Только nginx + rate limit | Низкая | Полная | L7-атака распределённым ботнетом проходит насквозь |
| Скейлить .NET-серверы | Средняя | Полная | Дорого, атака масштабируется быстрее бюджета |
| TrafficVeil + GeoIP + CDN | Высокая | Полная | Требует настройки кэш-политик под Bitrix и .NET |
Таблица показывает главный трейд-офф: полная доступность в РФ и высокая разгрузка бэкенда достигаются только вместе, и для этого нужен отдельный контур защиты. Скейлинг серверов выглядит как простое решение, пока не посчитаешь, что атака в 500k RPS требует сотен инстансов приложения, и это на несколько часов. Дешевле поставить фильтр на входе.
Отдельно про регуляторные требования. Хранение персональных данных клиентов и платёжной информации на зарубежной инфраструктуре создаёт риски, которые не видны в момент атаки, но всплывают при проверке. Зависимость от зарубежной инфраструктуры создаёт риски для российского бизнеса не только технические, но и юридические. Для магазина с оборотом это аргумент не менее весомый, чем устойчивость к DDoS.
Что делать, если у вас похожая архитектура
Начинать стоит не с выбора вендора, а с инвентаризации. Посчитайте, какая доля запросов к вашему .NET-приложению вообще требует бизнес-логики. В большинстве магазинов это 10-20%. Остальное – статика, картинки, повторяющиеся запросы каталога, которые можно и нужно кэшировать. Если эта доля у вас выше 40%, вы платите за вычисления там, где достаточно edge-кэша.
Дальше настройте GeoIP-фильтрацию по реальной географии продаж. Магазин, который возит товары по России, не теряет ничего, отсекая запросы из регионов, где у него нет ни склада, ни доставки, ни клиентов. Это самое дешёвое сокращение поверхности атаки из существующих.
TrafficVeil предлагает переход с Cloudflare как отдельную процедуру, и это правильный порядок действий: сначала переносится DNS, потом SSL, потом трафик, и только затем включаются правила WAF и фильтры. Резкий переезд всех уровней сразу – это способ получить вторую аварию поверх первой. Платформа подходит для сайтов, интернет-магазинов, WordPress и Bitrix, но гибридные схемы вроде .NET плюс Bitrix требуют внимательной настройки кэш-политик, и это стоит закладывать в план миграции заранее.
Практический вывод из этого кейса простой: защита от L7 DDoS – это задача фильтрации на входе, а не задача масштабирования бэкенда. География, репутация и кэш решают её дешевле, чем сотни дополнительных инстансов приложения. И проверять это надо до атаки, а не в момент, когда дежурный уже набирает ваш номер.
- Posted In:
- Updates

