DDoS-атака на сайт tele-club.ru 17–18 сентября 2018

Хронология, цифры и факты

17.09.2018 22:20

Филипп пишет: "Дима, а сайт не работает — это норм?"

– Вряд ли это может быть норм.


...

Действительно, не открывается. Первая мысль снова авария в дата-центре, как и за день до этого. Странность: сервер работает, на него захожу. Поддомен leningrad.tele-club.ru открывает, основной сайт нет. Думаю, что что-то обновили на хостинге и сломали.


Первые 3 часа идея про DDoS не приходит в голову (хотя все предпосылки очевидны и подтвердить это можно было несколькими простыми действиями).

Переношу сайт и контент на другой сервер, тем более уже месяц он простаивает подготовленный. Проверяю, работает, класс. Направляю домен tele-club.ru на него и жду пока обновятся настройки домена.

Новый сервер резко начал тупить, похоже дождался обновления настроек.

Домен принес вместе с собой DDoS-трафик.

Смотрю netstat / логи / текущую статистику обращений к серверу. Всё подтвердилось.

18.09.2018 ~01:00

Попытка отсеить паразитные запросы на сайт в полуручном режиме, настройка правил фильтрации на сервере не сильно эффективна. Да и при текущем уровне развития интернета, террористам не составит большого труда подключить 100500 ip-адресов для этого. Нужно профессиональное решение.


У нашего хостинг-партнёра компании NetAngels – есть услуга "Anti-DDoS". Попробуем. Включаю. Жду обновления настроек. Есть 3 режима защиты: "Базовая", "Повышенная", "Параноидальная".

Начнем со средней. Все переходы на сайт пропускаются через специальную страницу, которая проверяет "человек" или "сукабот". Если есть подозрения на бота, предлагается каптча от Гугл, если нет - автоматически пропускает. На сайт такая промежуточная страница старается пропускать только человеков.

Фильтры работают. Нагрузка снизилась, на сайт можно зайти и купить билет. Проверяю основные моменты. Всё хорошо.

Пробую "Параноидальный" режим защиты. Промежуточная страница всех заставляет ставить галочку в каптче. Не очень дружелюбно. На "Базовом" режиме – фильтры не справляются, сайт открывается еле-еле, нагрузка на сервер > 300%. Вернул компромисс средний уровень защиты.

Пока ок, уже совсем ночь. Утром посмотрим, что будет.

18.09.2018 Утро / День

Сначала всё было спокойно. Донастраиваем с техподдержкой хостера шифрованное соединение. Сайт работает.

Чуть позже атака возобновилась. Anti-DDoS в целом справляется. Сайт работает немного медленнее чем обычно, иногда уходит в down. Неприятно, но жить можно.


Шутим на тему, фанаты или антифанаты какого артиста за этим стоят. Егор Крид соревнуется с Dimmu Borgir.

18.09.2018 Полдник

Звонят террористы. Признаются, что это они, хотят 500$, чтобы прекратилось. Хмм, говорит спокойно, настрой серьёзный. После оплаты обещают в будущем помощь специалиста по защите за 1000-2000 руб. / в час.

Оставляют контакт для связи через Telegram... номер телефона. really? not nickname?

Говорю, что по номеру телефона в Telegram не начать диалог. Объясняет мне, что надо предварительно добавить в телефонную книгу. ээээээээээээээ, или номер левый (что вероятнее), или дилетанты (вас же найдут).

18.09.2018 Вечер

Хочется цифр, статистики и графиков про атаку. Пишу запрос в техподдержку.

Параллельно переключаем домен на Cloudflare: весь трафик на сайт будет идити через сеть доставки контента, данные кэшируются на промежуточных серверах по всему миру.

Сервис сделан бывшими хакерами и ддосниками. Ребята знают как устроен мир по другую сторону баррикад. И личный кабинет с множеством настроек, статистикой и аналитикой.


Между тем пошла новая волна атаки. Хостер прислыает уведомления, что изменился тип атаки c tcpflood на udpflood, а с этим типом они не эффективны. И действительно сайт лежит. Ок ок. Уже задействуем другие механизмы.


Сайт открывается кое-как. Обновление настроек домена займет время.

Решили опубликовать в паблике ВК ссылку на dev-копию, зеркало сайта. Там всё есть в актуальном состоянии, можно купить билет.

Проходит 30 минут, и получаю письмо от хостера:

"Наша система мониторинга зафиксировала аномальный всплеск входящего трафика на выделенный вам IP адрес ***.***.***.***959.1 тыс. пакетов в секунду. Вероятнее всего это сигнализирует о начале DDoS атаки типа udpflood."

Похоже обиделись атакеры, что не пишу им с вопросом куда перечислит выкуп.

Стоп. Так это IP-адрес того, запасного сервера для разработчиков. Ха-ха. Социальная инженерия. Они читают паблик Теле-клуба в ВК.

18.09.2018 Вечер / ночь

Атакеры обиделись. Начали комбинировать типы атак, атакуют по всем известным им сайтам и зеркалам.

Между тем настройки домена обновились. Трафик на сайт пошел через Cloudflare. Выбираю режим "Under Atack", настраиваю, подкручиваю.

Осталось немного. Сейчас сайт закэшируется в CDN и станет проще.

Атака нарастала. Пик был около полуночи, за 5 часов с 19:30 до 01:00 было отправлено 26млн запросов на сайт, в пике достигало 1млн в секунду. Cloudflare успешно фильтровал угрозы, остальным отдавал контент с CDN. Для людей сайт работает.

В какой-то момент атакующие начали спамить сервер напрямую по ip-адресу. Небольшие настройки сервера, выключил ресурсозатратные фичи на сайте, типа рекомендательной системы, поразвлекался ручным баном сильно активных IP-адресов, их же дублировал в правила Cloudflare.

Итого / результаты


  • Сайт теперь отдаёт контент через CDN Cloudflare. Пользователи будут рады уменьшению времени загрузки сайта. Буду подключать разные фичи от Cloudflare по ускорению сайта, загрузки картинок на мобильных, AMP-страницы и прочее.


  • Базовый тариф в Cloudflare бесплатный. Думаю взять за 20$ / мес тариф PRO. Оно того стоит.


  • Теперь мы готовы к подобным злонамеренным выходкам. От продолжения нормальной работы сайта в случае атаки нас отделяет 2 клика в личном кабинете Cloudflare.


  • Не было серьёзного провала в продажах с сайта. Спасибо нашему хостинг-партнеру NetAngels, их Anti-DDoS помог сайту продолжить работать днём 18.09.2018.


  • Мне нравится статистика и аналитика атак в Cloudflare с графиками и диаграммами :) Очень интересно видеть, что происходит прямо сейчас, ну и, конечно, затем анализировать, что происходило.


  • Единственное предостережение от знатоков, что адреса Cloudflare могут блокироваться Роскомнадзором, так как через него всякие казино ведут деятельность. Но, думаю, не пропустим момент. Можно проверку ежедневную сделать на наличие адреса в реестре РКН. У Cloudflare отличное управление DNS, и, в случае блокировки органами, пустить трафик с домена напрямую на ip-адрес сервера = 1 переключатель, всё работает в режиме онлайн (небольшая техническая задержка по обновлению данных).


  • Так организовался хороший плюс IT-архитектуре в целом. Стало понятно, где слабые места и не досмотрел. Подтвердилось, что микросервисы решают. Сайт в дауне, а продажи билетов других местах (мобильное приложение, виджет Вконтакте) не должны останавливаться.


  • Не ведите переговоров с террористами.

Атака 18 сент с 19:30 до 01:00 – цифры и скриншоты