Всем привет! Мы - команда разработки ai-стартапа и это третья статья, посвященная нашему продукту.
Я уже писал о внутрянке продуктовой и технической части, поэтому сегодня решил поделиться кейсом нашего третьего запуска, во время которого нас атаковали хакеры..
Предыстория
Мы с командой работаем над ии-ассистентом для поиска работы, который забирает на себя всю рутину соискателя: ищет вакансии, делает отклики, пишет сопроводы, общается с рекрутерами. Один из главных принципов продукта - закрытый доступ, который мы открываем 1 раз в месяц. Такой подход помогает нам распределять нагрузку и равномерно расти.
Третий запуск пользователей в Софи должен был стать праздником. Мы учли ошибки первых двух запусков, подготовились к нагрузке и с волнением ждали открытия продаж. Но, как это часто бывает в IT, реальность преподнесла нам свой сценарий.
Начало: эйфория и первые звоночки
Всё началось штатно: с самого утра я напоминал подписчикам канала о скором старте продаж, ничего не предвещало беды. Мы с командой несколько раз проверили все процессы и все работало вполне нормально.
В 19:00 продажи были открыты - на тот момент это был наш крупнейший запуск - 150 мест. Так как продажи открываются редко и первые пользователи получают скидку, на старте все стараются успеть ухватить самый выгодный тариф. Спустя 4 минуты сайт начал падать..

Мы бросились его чинить. Тогда казалось, что всему виной ажиотаж. Некоторое время спустя сайт вроде бы ожил, но работал с заметными задержками.
Мы успокаивали пользователей в телеграм-канале и видели, как люди регистрируются, и все (как тогда казалось) было в порядке.
Полчаса спустя половина мест уже разобрана, почувствовалась настоящая, живая поддержка сообщества. Было весело и страшно одновременно. Но вскоре веселье сменилось напряженной работой. Сайт снова лег под нагрузкой. А потом снова встал. И снова упал.

Хьюстон, у нас проблема
Спустя еще полчаса, когда работа сайта так и не пришла в норму, мы узнали, что проблема была не только в живых пользователях. Нас дедосили в режиме реального времени. Это было похоже на сцену из кино: пока мы боролись с последствиями, на наш скромный стартап была организована целенаправленная DDoS-атака.
Мы максимально старались ее отбить, потому что такого не ожидал никто. Это было фиаско. Никому бы и в голову не пришло, что это может случиться с нами - командой, которая делает запуск на небольшую аудиторию.
К концу дня мы были измотаны. Сайт то работал, то снова ложился. Казалось, мы отбили атаку, но стабильной работы добиться не могли. Было удивительно, что за те короткие 10-15 минут, когда сайт был доступен, пользователи успели разобрать 100 мест. Ближе к ночи сайт снова упал..

Мы пообещали, что утром продолжим бой, нормализуем работу, компенсируем всем сбой дополнительным днем бесплатного триала и поблагодарили сообщество за понимание.
Новый день и новые приключения
Наступило утро и сайт снова лег. Выдавало ошибку 502 и мы пытались найти проблему. Здесь кто-то начал писать, что мы просто хайпимся и сами положили свой сайт. Но нам было совсем не смешно. Каждый релиз - это огромная работа и волнение, и мешать пользователям покупать свой же товар - весьма опрометчивый ход.
Внезапно посреди этого хаоса нам прилетело сообщение в бота поддержки. Но его автором был не пользователь, а наши дедосеры.

Атака на инфраструктуру дополнилась психологическим давлением. Нам начали писать в бота поддержки с угрозами. Дедосеры интересовались:
«Вопросик как будем решать, тихо мирно по телефону или мне своих ребят отправить?»
Это выглядело одновременно и смешно, и грустно. Мы лишь прокомментировали: «Мамкины ддосеры не хотят нас отпускать))». Вскоре после этого сайт снова пал, и мы с иронией констатировали: «2:0 Дедосер побеждает».

Как мы отбивались: техническая сторона атаки
К вечеру нам удалось не только стабилизировать систему, но и проанализировать, что же происходило. Вот так выглядела хроника атаки по пунктам:
1. Сначала атака шла на наш домен. Злоумышленники закидывали нас запросами на специфический эндпоинт sofi/u-need-to-buy-my-guard
. Первой реакцией был бан их IP-адреса.
2. Затем они переключились на прямой API. Начав атаковать наш бэкенд напрямую, они снова попытались положить сервер. В этот момент мы подключили защиту от DDoS — ddos guard, и это ненадолго помогло. Но и тут прилетали угрозы))

3. Третий этап был хитрее. Атакующие попытались подключиться к серверу через SSH, в обход защитных систем.
4. Финальным решением стала смена IP-адреса. Мы подняли новый IP, закрыли его строгим фаерволом и настроили всю маршрутизацию исключительно через ddos guard.
Стоимость дальнейшего взлома для них резко возросла, и, судя по всему, они решили отступить.
Сражение было выиграно. Система, прошедшая через такое испытание, стала лишь прочнее. Мы с облегчением констатировали: «Атака отбита, все работает в штатном режиме». И пусть это было скорее стрессово, чем весело, мы вынесли из этой ситуации ценный опыт.

Мы поблагодарили сообщество за поддержку, а мамкиных дедосеров — за невольную помощь в укреплении нашей инфраструктуры. И, разумеется, мы сдержали слово: все, кто регистрировался в те сложные дни, получили от нас дополнительный день бесплатного триала.
Этот запуск мы запомним надолго. Он научил нас не только готовиться к высоким нагрузкам, но и всегда, всегда быть готовыми к тому, что в игру вступят те, кому просто «скучно».
Но как говорится - все хорошо, что хорошо кончается!)
Комментарии (7)
polearnik
10.10.2025 11:41По мойму должно стать стандартом при деплое сайта прятать его за клаудфларом или подобным. ддос прекратился бы не начавшись
shibanovan
10.10.2025 11:41>Третий этап был хитрее. Атакующие попытались подключиться к серверу через SSH, в обход защитных систем.
Расскажите, пожалуйста что было тут? Какие были защитные системы SSH и как их обходили?
vigfam
10.10.2025 11:413 миллиона запроcов в час - это всего лишь 833 rps.
Что же за ресурс был у сервера, что он от такой смешной нагрузки лег ?
lyric
10.10.2025 11:41Они же на последних 15 минутах сконцентрировались - т.е. rps в 4 раза выше + риквест риквесту рознь. Есть подозрение, что пытались долбить наиболее тяжеловесные эндпоинты (но это не точно)
DDoS-GUARD
10.10.2025 11:41Благодарим, что доверили нам защиту!
Перенос трафика на защищенный IP через сеть DDoS-Guard — отличное решение, которое сильно усложняет жизнь атакующим. Иногда они все же пробуют новые векторы, но мы оперативно адаптируем защиту и внедряем свежие технологии, чтобы вы оставались в безопасности.
Slonoed
А на старом IP закрыть строгим файрволом не получилось?
propell-ant
А там, видать, мамкин дидосер поднагрузил и "не пущщал".