Рост числа атак на скорость пакетов: когда основные маршрутизаторы становятся злом

Атаки типа «распределенный отказ в обслуживании» (DDoS) — это постоянная угроза, которая продолжает оставаться эффективным способом воздействия на доступность онлайн-сервисов. За последнее десятилетие несколько злоумышленников продемонстрировали, как легко они могут создать армию зомби-устройств с помощью своего ботнета, используя широкий спектр методов: от фишинга до установки вредоносного ПО на настольный хост и использования различных уязвимостей, влияющих на устройства IoT, системы видеонаблюдения или домашние маршрутизаторы.

Эти ботнеты в основном использовались для запуска DDoS-атак, используя десятки тысяч скомпрометированных устройств по всему миру. Стратегия атаки часто одна и та же — генерировать как можно больше пакетов, чтобы максимизировать битрейт или скорость пакетов, перегружая сеть цели. Так было с ботнетом Mirai в 2016 году, который первым сгенерировал более 1 Тбит/с трафика. С тех пор другие ботнеты превзошли Mirai, и трафик достиг 3,47 Тбит/с в 2021 году. Однако атаки, превышающие 1 Тбит/с, были относительно редки — до недавнего времени.

С начала 2023 года наши команды в OVHcloud заметили резкое увеличение DDoS-атак, как по частоте, так и по интенсивности. Более того, начиная с ноября того же года, наблюдалось значительное ускорение тенденции. За последние 18 месяцев мы перешли от атак мощностью 1+ Тбит/с, которые были довольно редкими, к еженедельным, а затем к почти ежедневным (в среднем за одну неделю). Самая высокая скорость передачи данных, которую мы наблюдали в этот период, составила ~2,5 Тбит/с.



Интересно, что недавнее объявление о ликвидации ботнета 911 S5 в период с 25 по 30 мая 2024 года примерно совпадает со значительным снижением DDoS-атак, начавшимся в середине мая. Однако мы не можем с уверенностью утверждать, что эти события связаны между собой.

Хотя частота атак, по-видимому, вернулась к норме, мы по-прежнему наблюдаем большое количество DDoS-атак со скоростью передачи пакетов свыше 100 миллионов пакетов в секунду (Mpps).

Интересно, что недавняя ликвидация ботнета 911 S5 между 25 и 30 мая 2024 года совпала с заметным снижением DDoS-атак, начавшимся в середине мая. Однако мы не можем однозначно сказать, что эти события связаны. Хотя частота атак вернулась к норме, мы все еще наблюдаем значительное количество DDoS-атак с пакетной скоростью, превышающей 100Mpps.

А как насчет атак на скорость пакетов?
Обычно большинство DDoS-атак основаны на отправке большого количества мусорных данных для переполнения полосы пропускания (атаки на сетевом уровне) или отправке большого количества запросов приложений для чрезмерного использования ЦП или памяти (атаки на уровне приложений). Конечно, есть и другие методы, такие как атаки на основе скорости пакетов или атаки на основе пакетов в секунду.

Целью атак на скорость пакетов является перегрузка процессоров обработки пакетов сетевых устройств, расположенных близко к месту назначения, вместо того, чтобы истощать доступную полосу пропускания. Общая идея заключается в том, чтобы парализовать инфраструктуры перед целевой службой (например, балансировщики нагрузки, системы защиты от DDoS и т. д.), таким образом, возможно, повлияв на большую инфраструктуру в качестве сопутствующего ущерба. Проще говоря, вместо того, чтобы пытаться найти дыры в системах защиты от DDoS, просто выведите их из строя!

Атаки на скорость пакетов довольно эффективны, поскольку работа с большим количеством маленьких пакетов обычно сложнее, чем работа с большими, но менее многочисленными пакетами. Это связано с тем, что стоимость вычислений обычно выше. Например, если вы используете программное обеспечение для обработки пакетов, каждый пакет означает как минимум один доступ к памяти (исключая возможное копирование, доступ к сохраненным данным, таким как таблицы соединений и т.д.), вместо простого перебора большего количества байтов.

Если вы используете оборудование, то, хотя производительность обработки пакетов не обязательно зависит от скорости пакетов, конвейер обработки, вероятно, зависит от других компонентов, таких как память (опять же!), которая может быть значительно нагружена высокой скоростью пакетов. В этих условиях вы можете достичь некоторых пределов из-за очень высокой скорости или просто потому, что у вас недостаточно буферов для хранения всего этого, что, вероятно, вызовет задержку или потерю производительности. Мы можем обобщить эту проблему в одном предложении — если ваша работа заключается в том, чтобы иметь дело в основном с полезными нагрузками, пропускная способность может быть жестким ограничением; но если ваша работа заключается в том, чтобы иметь дело в основном с заголовками пакетов, скорость пакетов является жестким ограничением.

Вот почему в большинстве случаев работать с маленькими пакетами сложнее, чем с большими. В двух словах, DDoS-атака 10 Гбит/с с большими пакетами (1480 байт) дает ~0,85Mpps. Для сравнения, 10 Гбит/с с самыми маленькими пакетами (84 байта на проводе для Ethernet) дает колоссальные ~14,88Mpps.

В контексте стандартного интернет-MTU (1500) вы можете разместить в 17 раз больше пакетов на проводе, генерируя только самые маленькие возможные пакеты по сравнению с большими пакетами. Чтобы дать представление о вычислительных возможностях, необходимых в контексте смягчения DDoS, рассмотрим канал 100 Гбит/с, который будет соответствовать скорости линии ~149Mpps. Это позволяет до 6 наносекунд времени обработки на пакет или 18 циклов для одного вычислительного конвейера, работающего на тактовой частоте 3 ГГц. Другими словами, даже с десятками параллельных конвейеров у вас не будет много доступных циклов, особенно если вам нужно получить доступ к некоторой памяти.

Рост числа атак с (большой) скоростью передачи пакетов
DDoS-атаки, основанные на высокой скорости передачи пакетов, не являются чем-то новым, и сетевым операторам по всему миру приходилось сталкиваться с такими атаками по крайней мере один раз. Например, самая высокая публично известная атака с пакетной скоростью была зарегистрирована Akamai в 2020 году и достигла 809Mpps. Несмотря на эту большую цифру, подавляющее большинство атак с пакетной скоростью значительно ниже 100Mpps. Вероятно, это связано с тем, что генерировать несколько небольших пакетов сложнее, чем генерировать большие — вам нужно гораздо больше вычислительной мощности (аналогично обработке) и ее сложнее скрыть от систем мониторинга сети и противодействия злоупотреблениям.

Атаки на скорость пакетов начали привлекать серьезное внимание в OVHcloud два года назад после того, как мы подверглись — но были успешно нейтрализованы — гигантскому потоку UDP, длившемуся более шести часов, достигавшему в среднем ~700 млн пакетов в секунду в течение примерно четырех часов.


За последние 18 месяцев, и особенно за последние шесть месяцев, мы заметили резкое увеличение DDoS-атак, использующих скорость пакетов более 100Mpps. Мы перешли от нейтрализации нескольких из них каждую неделю к десяткам или даже сотням в неделю. Нашим инфраструктурам пришлось нейтрализовать несколько атак 500+Mpps в начале 2024 года, включая одну с пиком в 620Mpps. В апреле 2024 года мы даже нейтрализовали рекордную DDoS-атаку, достигшую ~840Mpps, что немного выше предыдущего рекорда, о котором сообщила Akamai.


Эта атака на 99% состояла из TCP ACK, исходящих примерно из 5000 исходных IP-адресов. Интересно, что оставшийся 1% был атакой отражения DNS, использующей ~15000 DNS-серверов для усиления трафика, что не очень эффективно при попытке достичь атак с высокой скоростью пакетов.

Хотя атака была распространена по всему миру, 2/3 от общего числа пакетов поступило всего из четырех точек присутствия (PoP), все из которых расположены в США, и три из них на Западном побережье. Это подчеркивает способность противника отправлять огромную скорость пакетов всего через несколько пирингов, что может оказаться очень проблематичным. Как правило, команды реагирования на DDoS предполагают, что довольно сложно отправлять массивные DDoS-атаки только из нескольких географических точек. Исходя из этого предположения, наши инфраструктуры масштабируются горизонтально и распространяются по всему миру, поэтому они легче поглощают нагрузку. Однако распределение трафика атаки 840Mpps серьезно поставило это предположение под сомнение. Хотя у нас есть локальные возможности для смягчения этой атаки, мы рассмотрим корректировку общей модели масштабирования и распределения наших инфраструктур против DDoS, чтобы гарантировать, что они справятся с будущими (и, вероятно, более крупными) атаками, как мы делаем это сегодня.

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

Раскрытие вредоносных маршрутизаторов ядра
В ходе нашего анализа мы вручную проверили около сотни атак с пакетной скоростью от 100 до 500Mpps. Мы заметили, что значительная часть трафика исходила из относительно небольшого числа источников. Мы определили список известных IP-адресов, способных генерировать не менее 1Mpps каждый, и решили провести дальнейшее расследование.

Мы проанализировали 70 лучших IP-адресов, выдающих самые высокие скорости пакетов, до 14,8Mpps на IP-адрес. Эти IP-адреса в основном принадлежат автономным системам (AS) в Азии, но также представлены Европа, Ближний Восток, Северная Америка и Южная Америка. Выявленные AS, по-видимому, в основном принадлежат интернет-провайдерам или поставщикам облачных подключений.


Чтобы определить типы устройств, задействованных в этих DDoS-атаках, мы использовали Onyphe для проверки того, были ли IP-адреса уже известны. Многие из этих IP-адресов действительно были распознаны как маршрутизаторы MikroTik, которые, по крайней мере, были открыты для Интернета через свои веб-страницы конфигурации.

На данный момент остается возможность, что этот трафик генерируется серверами, расположенными за маршрутизатором, настроенным с помощью трансляции сетевых адресов (NAT), с использованием поддельных IP-адресов или с использованием какого-то странного отражения TCP. Однако мы быстро отклонили эти гипотезы из-за маловероятности обнаружения столь значительного количества идентифицированных маршрутизаторов MikroTik, учитывая, что MikroTik не занимает пропорционально большую долю мирового рынка.

Кроме того, раскрытие интерфейса администрирования отражает плохие методы управления. Это увеличивает поверхность атаки устройства и может облегчить его взлом злоумышленником. Более того, RouterOS — операционная система MikroTik — пострадала от нескольких критических CVE за последние годы. Даже если был выпущен патч, эти устройства могли еще не быть исправлены.

Поскольку интерфейс HTTP открыт на большинстве устройств, его можно использовать для восстановления версии RouterOS, работающей на этих устройствах. Половина из них работает под управлением версии RouterOS до 6.49.8, выпущенной 23 мая 2023 года, а другая половина — под управлением более поздней версии. Например, были идентифицированы устройства под управлением RouterOS 6.49.14, выпущенной 4 апреля 2024 года.


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

Мы пока не можем сказать, почему эти устройства участвуют в скоординированных DDoS-атаках, но одной из возможных гипотез может быть функция проверки пропускной способности в RouterOS. Она позволяет администратору проверить реальную пропускную способность маршрутизатора, создавая пакеты и выполняя стресс-тесты. По совпадению, в документации указано: «До версии RouterOS 6.44beta39 проверка пропускной способности использовала только одно ядро ​​ЦП и достигала своих пределов, когда ядро ​​было загружено на 100%. Проверка пропускной способности [теперь] использует всю доступную пропускную способность (по умолчанию) и может повлиять на удобство использования сети». Это довольно интересно, поскольку среди IP-адресов-нарушителей мы в основном идентифицировали RouterOS v6.44 или выше.

99 382 устройств доступны в Интернете
Используя Simple Network Management Protocol (SNMP) на устройствах, которые его раскрывают, мы смогли определить, какие устройства способны выдавать такую ​​высокую скорость передачи пакетов. Как и ожидалось, это не домашние маршрутизаторы, а скорее основные сетевые устройства.

Используя Simple Network Management Protocol (SNMP) на устройствах, которые его раскрыли, мы смогли определить типы устройств, способных генерировать такие высокие скорости передачи пакетов. Как и ожидалось, это были не домашние маршрутизаторы, а основные сетевые устройства.


Рисунок 6 показывает серию MikroTik Cloud Core Router (CCR). Действительно, SNMP вернул несколько CCR1036-8G-2S+ и CCR1072-1G-8S+

Чтобы получить представление о том, сколько устройств может быть скомпрометировано и использовано в таких массированных DDoS-атаках с пакетной скоростью, мы снова использовали Onyphe для поиска устройств CCR, широко распространенных в Интернете. Было идентифицировано 99 382 устройства CCR.


Наш анализ показывает, что две модели устройств, задействованные в атаках на скорость пакетов, CCR1036-8G-2S+ и CCR1072-1G-8S+, составляют не менее 40 000 устройств, открытых в Интернете. CCR1036-8G-2S+ является наиболее распространенной, с 30 976 обнаруженными случаями, в то время как CCR1072-1G-8S+ занимает четвертое место с 9 353 случаями. Хотя мы пока не знаем конкретную уязвимость, использованную для взлома этих моделей, неясно, могут ли быть затронуты и другие модели CCR. Однако открытие административной панели в Интернете остается значительным риском безопасности.

Еще больше злых моделей?
Благодаря внутреннему обмену данными и обсуждениям мы вспомнили об атаке уровня 7 (L7), которая произошла в ноябре 2023 года. Хотя маршрутизаторы MikroTik были идентифицированы в то время, это не вызвало опасений. Эта атака достигла 1,2 миллиона HTTPS-запросов в секунду и включала около 3000 исходных IP-адресов. Учитывая наши последние выводы, мы решили пересмотреть инцидент.


Чтобы определить, какие типы маршрутизаторов были задействованы, мы извлекли 3000 IP-адресов, связанных с атакой. Предыдущие расследования показали, что около 700 из этих IP-адресов были идентифицированы как маршрутизаторы MikroTik с открытым портом TCP 8291. Однако в то время мы не исследовали конкретные устройства, задействованные в атаке.

Как и прежде, мы провели быстрый поиск с помощью Onyphe, сначала вручную, и нашли похожие результаты: CCR также были вовлечены в эту атаку. Среди IP-адресов, идентифицированных как устройства CCR, более 10% имели публично раскрытый SNMP. И снова мы обнаружили, что основными сетевыми устройствами были целевые устройства — 16% раскрытых устройств были CCR1009-7G-1C-1S+, еще одна похожая модель. Эта модель является второй по степени раскрытия в Интернете, как было отмечено в наших предыдущих выводах.

Определение версии RouterOS, работающей на идентифицированных устройствах восемь месяцев назад, вероятно, не имеет значения, поскольку мы не можем сказать, какая версия была запущена на устройстве в то время. Однако анализ показывает, что 22% устройств работают под управлением RouterOS, выпущенной между 1 июля 2023 года и 1 июля 2024 года. Самая последняя версия — v6.49.15 (24/05/2024), а самая старая — v5.20 (15/08/2012).





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

Как упоминалось ранее, до сих пор неясно, как эти устройства были скомпрометированы. Аналогично, сложно определить, связаны ли атаки с высокой скоростью пакетов и атаки L7 или в них был задействован один и тот же ботнет. Тем не менее, идентификация основных сетевых устройств в атаках L7 имеет важное значение, поскольку подчеркивает потенциальную угрозу, которую представляют эти устройства.

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

Беглый взгляд на заявленные возможности идентифицированных устройств показывает, что они могут обрабатывать до 28 Гбит/с для CCR1036-8G-2S+ и 80 Гбит/с для CCR1072-1G-8S+. С точки зрения скорости передачи пакетов эти устройства, как утверждается, обрабатывают около теоретической скорости пакетной линии на основе их пропускной способности. Для ясности, соединение 1 Гбит/с может обрабатывать максимум около 1,5 млн пакетов в секунду.

Однако количество пакетов в секунду, которые может генерировать устройство, зависит от того, создает ли оно пакеты (обычно это обрабатывается ЦП) или просто пересылает их (обычно это делают ASIC). Это означает, что фактическая скорость пакетов может быть намного ниже заявленной производительности обработки. Кроме того, генерация трафика с использованием оборудования скомпрометированного устройства сложна, и злоумышленник, скорее всего, будет полагаться на возможности ЦП или повторно использовать встроенные функции для непреднамеренных целей.

В контексте этого мысленного упражнения мы предполагаем, что сетевые устройства способны создавать пакеты со скоростью, равной 10% от их максимальной емкости, что приводит к следующим предположениям:
  • CCR1036-8G-2S+ должен иметь возможность генерировать 4Mpps каждый
  • CCR1072-1G-8S+ должен иметь возможность генерировать 12Mpps каждый
Эти оценки кажутся в основном точными по сравнению с тем, что мы фактически наблюдали в плане скоростей пакетов в зависимости от идентифицированной модели. Учитывая доступный ЦП на этих устройствах, мы считаем, что эти оценки довольно консервативны. Например, в случае устройств CCR1036-8G-2S+ генерация более 4Mpps с 36 ядрами на частоте 1,2 ГГц не должна быть сложной.

На этом этапе любой может провести математические расчеты, чтобы построить наивную масштабную модель ботнета, использующего эти устройства. Принимая во внимание показатель в 1% (произвольное консервативное значение) скомпрометированных устройств и сосредоточившись только на первых двух моделях, которые мы определили как скомпрометированные:
  • ~ 300x CCR1036-8G-2S+ / 4Mpps каждый
  • ~ 90x CCR1072-1G-8S+ / 12Mpps каждый
Такой ботнет теоретически сможет генерировать 2,28 млрд пакетов в секунду (или Gpps).

С точки зрения пропускной способности запросов в секунду для атак L7 у нас недостаточно данных, чтобы сформировать достаточно сильную гипотезу. Мы можем только утверждать, что эти устройства, по-видимому, способны выполнять атаки L7 и атаки с высокой скоростью пакетов. Попытка оценить возможную пропускную способность L7 остается в качестве упражнения для читателя.

Заключение
Доказательства, представленные в этой статье, указывают на новую тенденцию использования скомпрометированных сетевых основных устройств для запуска мощных атак. Хотя устройства MikroTik и раньше были замешаны в DDoS-атаках, не было никаких предварительных указаний на то, что ботнеты специально полагались на основные сетевые устройства для проведения этих атак.

Хотя любой высокопроизводительный сервер вполне способен генерировать пакетные скорости в таком масштабе, они, вероятно, будут ограничены фактическим объемом доступной общедоступной полосы пропускания. Из-за своего расположения в сети основные устройства гораздо меньше подвержены этому утверждению. Они, как правило, подключены к еще более крупным устройствам с использованием высокопроизводительных сетевых соединений. Более того, меры по смягчению последствий, реализованные сетевыми администраторами для выявления ненормального поведения в сети, например, серверов, инициирующих DDoS-атаки, в этом случае можно обойти, поскольку маршрутизаторы, как правило, не подлежат этим мерам.

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

Безопасность сетевых устройств является как насущной проблемой, так и актуальной проблемой. С 1 января 2024 года было выпущено более 10 критических CVE, затрагивающих различные сетевые устройства от разных поставщиков (таких как Ivanti, Cisco, Fortinet, Palo Alto и т. д.). Некоторые из них даже эксплуатировались в дикой природе до публичного выпуска CVE. Однако это первый случай, когда мы сталкиваемся с устройствами ядра сети, участвующими в скоординированных DDoS-атаках. Это несколько тревожно, поскольку идентифицированные устройства предназначены для малых и средних сетевых ядер, а сегодня доступно гораздо более мощное оборудование.

Заключительное замечание: Мы обратились к MikroTik по нескольким каналам связи, чтобы рассказать им о ситуации. MikroTik связался с нами 04.07.2024 и расследует возможные причины проблемы.

В настоящее время мы также связываемся с различными AS, чтобы сообщить им о проблеме.

H2.NEXUS - Собственная защита



Привет! Мы завершили внедрение нашей собственной защиты!

Теперь у нас есть двухуровневая защита от DDoS атак для наших клиентов:

Защита от ёмкостных атак, таких как DNS Amplification, NTP Amplification, Memcached, атак с использованием ботнетов и подобных, которые не требуют отслеживания соединений. Ёмкость первого уровня достигает 120 Тбит/с и предоставляется нашим провайдером CDN77.
Наша собственная защита, более умная и тонкая, которая отслеживает все соединения и разработана с упором на защиту TCP стека. Она надежно защищает от атак TCP SYN flood, любых невалидных TCP пакетов и подмены IP (IP-Spoofing), не нарушает работу сложных VPN протоколов. Ёмкость — 100 Гбит/с с возможностью оперативного расширения и внесения правок.
Обновленная защита уже работает на всех серверах и не требует дополнительных действий со стороны клиента.
Бесплатная для всех. Приятного использования!

Есть вопросы? Обращайтесь! @h2nexus_support

H2.NEXUS

Представляем Вам новые локации виртуальных серверов в Швейцарии на SRV.cheap!

srv.cheap серверы впс вдс в швейцарии на amd ryzen 5950x гигабит

Серверы размещены в надёжном дата-центре Interxion TIER 3 в городе Цюрих с мониторингом 24/7 и отличной связанностью по всему миру.
К каждому VPS/VDS предоставляется сетевое подключение на скорости до 1 гбит/сек. с безлимитным трафиком и защитой от DDoS-атак!

Серверы идеально подходят для размещения сайтов, корпоративных порталов, удаленных рабочих столов, а также для других задач, благодаря гибким тарифам под различные задачи:

1 x AMD Ryzen 9 5950X (4.9 ГГц) / 2 GB / 60 GB NVMe / 499₽/мес.
2 x AMD Ryzen 9 5950X (4.9 ГГц) / 4 GB / 120 GB NVMe / 939 ₽/мес.
4 x AMD Ryzen 9 5950X (4.9 ГГц) / 8 GB / 180 GB NVMe / 1649 ₽/мес.
8 x AMD Ryzen 9 5950X (4.9 ГГц) / 16 GB / 360 GB NVMe / 3289 ₽/мес.

Подробнее: srv.cheap/servers/virtual

Напоминаем про бонус +3% при пополнение баланса от 5000₽!

Новые VPS/VDS на базе I7 12700K в Москве!

srv cheap I7 12700K серверы
Представляем вам новые локации VDS/VPS на базе I7 12700K в Москве по низким ценам!
Каждый сервер включает в себя: процессор Intel Core I7 12700K с частотой 5.0 ГГц, NVMe диски, DDR4-память, большой выбор ОС (Ubuntu, Debian, CentOS, Windows), защиту от DDoS-атак и бесплатную поддержку 24/7!

Серверы идеально подходят для размещения игровых проектов, сайтов, удаленных рабочих столов, а также для любых задач, благодаря гибким тарифам под различные задачи:
1 vCore / 4 GB / 45 GB NVMe / 699 ₽/мес.
3 vCore / 12 GB / 135 GB NVMe / 2039 ₽/мес.
4 vCore / 16 GB / 180 GB NVMe / 2669 ₽/мес.
5 vCore / 20 GB / 225 GB NVMe / 1929 ₽/мес.
8 vCore / 32 GB / 360 GB NVMe / 4849 ₽/мес.
Подробнее: srv.cheap/servers/virtual

Напоминаем про бонус +3% при пополнение баланса от 5000₽!

[Black Friday] DDoS защита сайта со скидкой 30%

Cloud-Shield.ru Black Friday 30% off

По традиции на чёрную пятницу мы подготовили скидку 30% на все тарифы PROXY удаленной защиты сайтов от DDoS атак — укажите промокод BF2022 на странице заказа для активации скидки.
Акция действует на новые заказы до конца ноября.

DDoS защита пользователей на хостинге: почему это важно для сайта

DDoS и хостинг
Хостинг представляет из себя комплекс, состоящий из внутренней сети (автономной системы), пограничных маршрутизаторов и распределенных каналов связи с различными операторами связи.

Если упрощенно показать это на схеме, то получится следующее:

  1. Операторы связи, обеспечивающие связь сети хостинга с внешним миром
  2. Каналы связи с операторами
  3. Пограничные маршрутизаторы
  4. Каналы связи внутренней сети
  5. Серверы хостинга (например, виртуального)

Целью DDoS-атаки является прекращение доступности какого-либо сервиса, будь то один сайт, сервер или даже целый хостинг. Что такое доступность сервиса? В контексте нашей темы это возможность конечного сервера хостинга получать весь легитимный трафик от пользователей, обрабатывать его за адекватное время и отдавать пользователям ответы. Поэтому для упрощения можно сказать, что мы должны обеспечивать хождение легитимного трафика в направлении 1-5-1.

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

Почему хостинг не может взять и полностью передать защиту от DDoS специализированным компаниям?

Передача данных в современной сети Internet построена на многоуровневой архитектуре, где каждый уровень несет свое определенное предназначение. Для передачи данных, используется стек протоколов TCP/IP, который построен по принципу эталонной модели OSI. Концепция этой модели заключается в разбиении процесса передачи данных на уровни, где каждый уровень отвечает за свой функционал.

В случае с DDoS атаками, их принято делить по уровням модели OSI, несмотря на то что стек протоколов TCP/IP состоит всего из 4х уровней.


Сами DDOS атаки происходят только на уровнях L3,L4,L7 по модели OSI.

Для защиты на уровне L3-L4 мы 24/7 работаем через специализированный сервис защиты, который постоянно отбивает сотни атак в день, в последнее время достаточно больших. По объему трафика они приближаются к терабиту. Весь наш трафик поступает к магистральным провайдерам через него.

А что с 7-м уровнем? В случае с хостингом — на 7-м уровне предполагается использование протоколов TLS и HTTPS. Они нужны для защиты передаваемых данных с повышенными требованиями к безопасности.

Соответственно, учитывая все вышенаписанное и отвечая на изначальный вопрос — при атаках на уровне L7, нам было бы необходимо постоянно передавать подрядчику сертификаты пользователей (сотни тысяч сертификатов ежемесячно, десятки тысяч каждый день). Скажем прямо — это не очень удобно и потенциально является дополнительной точкой отказа.

Второй причиной является то, что мы как хостинг-провайдер работаем с очень разнообразными сайтами: на разных фреймворках, с разными правилами маршрутизации, разными куками и т.п… У кого-то на сайте много видео, у кого-то одни картинки, кто-то публикует новости. У кого-то частота запросов большая, у кого-то — маленькая. И так далее. Именно поэтому без понимания нашей специфики неизбежно возникает множество ложно-положительных срабатываний защиты: настроить ее универсально просто невозможно. А объяснять пользователям “Ну вы поймите: мы вас защищали, хотели как лучше, но вот система посчитала ваш трафик невалидным. Простите”, — это не наш метод (хотя и такие кейсы бывают, чего уж там).

Ну и третьей причиной является то, что какая бы хорошая защита не была — она не бывает идеальна. А по-настоящему эффективные средства защиты являются многоуровневыми, работающими в несколько “эшелонов”, каждый из которых работает на своем уровне: от каналов связи, до конечного веб-сервера.

Именно поэтому передать полностью защиту специализированным компаниям будет недостаточно. Не получится “просто заплатить и расслабиться” ????

Как отбиваются атаки
Давайте рассмотрим несколько типов атак и разберем, какие части на нашей схеме в первую очередь станут “бутылочным горлышком”.

UDP/TCP Flood
Это один из наиболее частых видов атак, которые мы отбиваем. Он представляет из себя большой объем трафика, который летит в нашу сторону. Смысл атаки — создать такой объем трафика на входе сети, который, по задумке атакующего, нельзя обработать без отбрасывания валидных пакетов.

Таким образом, на схеме мы можем заметить несколько уязвимых мест:
  • Каналы связи с операторами (2).
  • Пограничный маршрутизатор (3)
  • Операторы связи (1) (сюрприз!)

На графиках с трафиком на границе сети такая атака как правило имеет характерный вид:



В зависимости от силы атаки у нас есть несколько вариантов действий:

А. Забить и ничего не делать
Самый простой вариант. Подходит, когда атака слабая и у нас есть большой запас по каналам связи как снаружи сети, так и внутри сети. В этом случае просто смотрим на самый “узкий” канал связи (как правило, это канал до конечного сервера хостинга(5)) и, если укладываемся в него с кратным запасом, то просто следим и ничего не делаем.

Б. Порезать трафик на пограничном маршрутизаторе
Главный критерий для применения такого способа защиты — остался запас емкости в каналах до операторов связи (2). В противном случае сразу переходим к пункту “В”. Данный вариант чуть посложнее, т.к. тут уже требуется анализ поступающего трафика. Обычно есть смысл обращать внимание на следующие параметры:
  • src/dst IP
  • dst порт
  • протокол
  • длина пакета
  • тело пакета
Для анализа трафика просто отливаем информацию о нем с маршрутизатора при помощи netflow/ipfix или настраиваем port mirroring на сервер с толстым каналом и анализируем трафик вместе с телом пакета на нем.



Чем более “однородный” вредоносный трафик, тем проще его заблокировать без последствий. Часто прилетают атаки на заранее закрытые порты или с 5-10 IP-адресов, или с очень большим размером пакета. Поэтому увидеть закономерность и настроить фильтрацию достаточно просто.

Само-собой, делать это вручную не очень удобно. Поэтому тут подойдут различные системы анализа и визуализации трафика, чтобы было проще и быстрее выявить закономерности. В самом простом случае это связка Prometheus + Grafana с парой дашбордов. Для лучшей аналитики можно использовать что-то вроде Fastnetmon или самописные решения. В идеале нужно добиться того, чтобы правила для блокировки трафика на маршрутизаторе по ряду критериев добавлялись автоматически.

Также не забывайте, что на пограничном маршрутизаторе по умолчанию должны быть закрыты все протоколы и порты, которые не используются для легитимного трафика. Это автоматически отобьет 90% мелких атак =) Например, на виртуальном хостинге у нас практически не используется UDP. Это очень помогает: для всех сетей хостинга можно поставить очень жесткий лимит на объем такого трафика.

В. Бороться с атакой за пределами нашей сети
Если емкости каналов связи с операторами (2) недостаточно, то мы попадаем в ситуацию, когда пакеты валидных пользователей начинают отбрасываться уже на стороне маршрутизаторов операторов связи. В этом случае у нас остается вариант передавать правила для блокировки вредоносного трафика аплинкам через BGP FlowSpec. Выделение и генерацию правил для блокировки производим способом, аналогичным предыдущему методу.

FlowSpec имеет свои ограничения:
  • Не все операторы связи поддерживают эту технологию. А те, кто поддерживает, как правило берут за неё дополнительную плату.
  • Набор правил, которые можно передать, обычно ограничен, и в случае очень сложной распределенной атаки, в которой нельзя выделить явные паттерны, заблокировать весь вредоносный трафик не получится.
В любом случае всегда полезно иметь несколько аплинков с FullView (то есть полной связностью со всеми сетями в интернете), и FlowSpec, которые покрывают весь объем легитимного трафика. В этом случае можно просто отключиться от остальных и передать правила для блокировки нежелательного трафика через них.

Интересный случай: пару раз у нас были атаки, от которых в принципе падали сами операторы связи. Например, в марте, когда после падения (или может быть нас просто отключили?) одного из магистральных операторов в результате DDoS’а на наши сети, мы потеряли связность с Европой. Пользователям это не понравилось, хотя формально мы ничего сами не отключали =)

Г. Blackhole
Наверное, это самый печальный вариант отбития атаки, потому что, по сути, мы просто жертвуем атакуемым ресурсом ради того, чтобы остальные ресурсы продолжили работу. Метод равносилен признанию победы атакующего и единственная его цель — минимизация ущерба для остальных клиентов. Осуществляется через специальное BGP Community у операторов связи. Метод не подходит в случае атаки на множество адресов (например, когда пытаются положить сразу весь хостинг).

К счастью, прибегать к этому методу приходится очень редко.

Атаки на уровне приложения (L7)
Атаки на уровне приложения (в случае с виртуальным хостингом это как правило HTTP(S)-флуд) с одной стороны редко когда приносят глобальные проблемы, т.к. целью атаки почти всегда является конкретный сайт пользователя, конечный сервер хостинга (5), и редко когда мы упираемся в каналы связи. С другой стороны, они происходят, буквально, постоянно и непрерывно, поэтому и средства борьбы с ними должны быть максимально экологичными и универсальными.

Суть атаки заключается в флуде HTTP(S)-запросами к сайту/на ip-адрес пользователя с целью:
  • Превысить лимиты хостинга на количество одновременных запросов/процессорное время с целью спровоцировать отключение сайта. По факту мы видим либо большой объем запросов к сайту, либо запросы к “тяжелым страницам” сайта, генерация которых требует много процессорного времени.
  • Использовать уязвимости в CMS/фреймворках, чтобы выполнить какой-либо произвольный код. Чаще всего так запускают различные майнеры или флудеры (тут у нас появляется интересная тема про исходящие ddos-атаки, о которой мы можем рассказать отдельно).

Методы борьбы с такими атаками достаточно разнообразные:
А. Блокировка подозрительных запросов по-умолчанию
Любой хороший системный администратор знает, что доступ к ресурсам необходимо предоставлять только тем клиентам, которые ожидаются. В пределе это называется “политикой белого списка”: все, что явно не разрешено, — запрещено. Для веб-серверов массового хостинга это чрезмерно жесткая мера, но и свои “списки” у нас тоже есть.

Так, например, мы по умолчанию блокируем запросы от уникальных User-Agent, которые были замечены в массовом флуде, блокируем ряд ботов и сканеров, которые ведут себя неадекватно: не считают нужным смотреть robots.txt, ходят по сайтам в несколько потоков и прочими способами увеличивают нагрузку на сервер, не принося никакой пользы. Таких ботов в интернете довольно много и список постоянно расширяется.

Также иногда на длительное время блокируются целые подсети, с которых практически нет легитимного трафика, но зато есть массовые автоматические запросы: привет друзьям из поднебесной и сопредельных стран!

Как ни странно, без этих мер, количество паразитных запросов к серверам было бы просто огромным. Зачастую различные сканеры работают по принципу: если сервер что-то вменяемое ответил, то начинаем активно его исследовать; иначе — просто забиваем на него на некоторое время и прекращаем запросы. Поэтому, по нашей практике, если вы начали отвечать на мусорные запросы — дальнейший их поток будет только возрастать.

Б. Слежение за процессами пользователей (MCPU)
Зачастую проблемы на сервере может создать не миллион http-запросов к одному сайту, а всего пару десятков, но очень “точных”. К таким запросам относятся различные уязвимые страницы на сайте, скрипты (как правило, в админках/плагинах), которых при определенных входных данных начинают “творить дичь”: уходить в бесконечные циклы с запросами к БД, генерацию превьюшек из полноразмерных картинок товаров, сбросу кеша. В конце концов, есть множество уязвимостей, результатом эксплуатации которых будет майнер крипты, работающий от вашего имени на хостинге (и, к сожалению, майнить он будет не в ваш кошелек).

В итоге сервер загибается под бесполезной нагрузкой.

Бороться с этим достаточно сложно, если мы не хотим вводить драконовские ограничения на время выполнения скриптов пользователей или потребляемое CPU.

Мы пошли по пути активного мониторинга процессов на сервере. У нас есть свой демон на Rust, который постоянно следит за всеми процессами пользователей и имеет постоянно пополняющийся набор правил для выставления ограничений (вплоть до убийства), для тех процессов, которые мы считаем неуместными. Он умеет смотреть на:
  • Различные атрибуты процесса (uid, gid, cmdline, cgroup и т.п.).
  • Объем потребляемой памяти.
  • Затраченное процессорное время.
  • Содержимое исполняемого файла.
В случае совпадения, в зависимости от конкретной задачи, он может выполнять различные действия:
  • Логирует событие (для дальнейшего анализа).
  • Убивает процесс.
  • Помещает в cgroup с заданными параметрами.
  • Настраивает OOM Killer для этого процесса.
  • … любое другое действие, которое нам потребуется.
Вот кусочек такого конфига:
# kill all binaries with miner cmdline patterns
- match:
    - proc.group: newcustomers
    - proc.exe: ^/home/\w/\w+/
    - proc.cmdline: zcash\.flypool\.org
  action:
    - log
    - kill
    - last

Иногда пользователи добровольно хотят запускать валидный процесс convert для того же самого ресайза картинок в своих интернет-магазинах. Как правило, он хочет потреблять довольно много ресурсов и надо, с одной стороны, дать ему выполниться, с другой стороны, — не мешать другим пользователям:
- match:  
    - proc.group: newcustomers
    - proc.command: convert
  action:
    - log
    - adjust_oom: 1000
    - cgroup:
            name: convert
            memory:
            memory.limit_in_bytes: 40543505612 # лимит памяти по умолчанию для других процессов меньше
            memory.move_charge_at_immigrate: 0
            blkio:
            blkio.weight: 100
    - last

Помимо прочего этот демон выставляет нужные нам cgroup для ряда служебных процессов в случае их появления.

В. Анализ и слежение за запросами к сайтам в реальном времени
Безусловно, выявить зловредные запросы только по атрибутам вроде User-Agent или характерного URL невозможно: часто флудят вполне валидными на вид запросами к разным страницам с разными адресами.

Чтобы работать с такими атаками можно использовать несколько уровней защиты:

На сервере (5)
Полезно будет анализировать лог входящих запросов, искать подозрительные паттерны, характерные тайминги и автоматически выставлять ограничения/rate-limit для тех src ip, user-agent, которые кажутся нам подозрительными. Подойдет против простых атак, которые может переварить сервер без ущерба для остальных. Но на самом деле простых атак —большинство и именно на этом уровне выполняется большая часть блокировок.

Внутри сети (4)
Если сервер не справляется, то уместно будет проксировать трафик к сайту/серверу через специальные серверы, которые могут переварить множество tls-хендшейков и отделить невалидные запросы от валидных, и выполнить еще какую-либо дополнительную фильтрацию. На сервер при этом прилетает уже только валидный HTTP-трафик. Подойдет, если флуд состоит из множества невалидных https-запросов и атака нацелена на перегрузку CPU.

В качестве заключения
Увы, нет какого-то единственно верного способа защитить всех, навсегда и от всего.

Нельзя ни делегировать защиту на подрядчика (по крайней мере полностью), ни настроить 1 раз правила фильтрации.

Более того, под DDoS порой попадают даже самые безобидные сайты, а общий объём атак поистине огромен и в последние месяцы их интенсивность только возрастает.

По сути, ключевой способ защиты для любого хостинга — это накопленная экспертиза админов, которые систематизируют и внедряют защиту: где-то с помощью внешних решений, где-то с помощью “креатива и творчества” — например, иногда полезно вместо закрытия соединения отправить в ответ пару килобайт мусора, чтобы атакующая вас взломанная веб-камера надолго уходила в раздумья перед тем, как отправить следующий запрос =)

Благодаря всему этому пользователи хостинга чувствуют последствия атак лишь изредка.

Да пребудет с нами аптайм!
beget.com/ru

Новые тарифы на i9-12900K с вечной скидкой 50% в подарок!


— Сверхбыстрые i9-12900K с активацией за 90 секунд и вечной скидкой 50% после покупки! Игровая защита от DDoS в подарок!

Мы запускаем новые тарифы виртуальных серверов на производительном процессоре Intel Core i9-12900K в Германии по цене от 7 евро. Во все тарифы включены высокоскоростные NVMe-накопители, игровая защита от DDoS до 2Тбит/с, круглосуточная поддержка. Управляйте своим сервером в удобной панели!

Несколько тарифов линейки:
• Intel Core i9-12900K (5.2GHz) 1 vCore / 4 GB DDR4 / 100 GB NVMe / 100 MB / Anti-DDoS Game — 7 евро
• Intel Core i9-12900K (5.2GHz) 2 vCore / 8 GB DDR4 / 200 GB NVMe / 100 MB / Anti-DDoS Game — 14 евро
• Intel Core i9-12900K (5.2GHz) 3 vCore / 12 GB DDR4 / 300 GB NVMe / 100 MB / Anti-DDoS Game — 21 евро
• Intel Core i9-12900K (5.2GHz) 4 vCore / 16 GB DDR4 / 400 GB NVMe / 100 MB / Anti-DDoS Game — 28 евро

Скидки действуют до 20 сентября. А кто успеет приобрести сервер прямо сейчас — получит вечную скидку 50% на продление услуги. Поторопитесь купить надежное оборудование по низким ценам!

• Остались вопросы? Мы с радостью ответим!
Биллинг-система: https://billing.spacecore.pro/
Email: support@spacecore.pro
Telegram: @spacecore_pro_chat

[SRV.CHEAP] Представляем вам новые локации VPS/VDS на базе EPYC 7502P по низким ценам!


— Процессоры AMD EPYC 7502P (3.35 ГГц)
— NVMe диски и DDR4 память
— Безлимитный трафик на скорости до 10 Гбит/сек.
— Защита от DDoS-атак L3-L7 для стандартных задач и многих игр
— Гибкие тарифы для любых приложений:

2 vCore / 4 GB / 60 GB NVMe / 549 ₽/мес.
3 vCore / 12 GB / 180 GB NVMe / 1279 ₽/мес.
6 vCore / 24 GB / 360 GB NVMe / 2549 ₽/мес.
10 vCore / 38 GB / 570 GB NVMe / 4009 ₽/мес.
12 vCore / 48 GB / 720 GB NVMe / 5009 ₽/мес.

Подробнее: srv.cheap/servers/virtual

Наш сайт: SRV.cheap
ЛК: my.srv.cheap​

[SRV.CHEAP] Выделенные серверы теперь и в России!

srv.cheap - дешевые выделенные серверы в России с защитой от DDoS-атак

Было добавлено ОГРОМНОЕ количество выделенных серверов под любые задачи.

Примеры конфигураций:
— 2 x Xeon X5675 3.46 ГГц (12c/24t) / 64 GB / 2 x 240 GB SSD / 6429 ₽/мес.
— Core i7-9700 4.70 ГГц (4c/8t) / 32 GB / 2 x 480 GB SSD / 6659 ₽/мес.
— Ryzen 9 3900X 4.60 ГГц (12c/24t) / 32 GB / 960 GB NVMe / 12 409 ₽/мес.
— Core i9-9900K 5.00 ГГц (8c/16t) / 128 GB / 2x 960 GB NVMe / 10109 ₽/мес.
— 2x Xeon E5-2680 v4 3.30 ГГц (28c/56t) / 256 GB / 2x 1920 GB NVMe / 21379 ₽/мес.

Все сервера находятся под защитой от DDoS-атак до 2 Тбит./сек и расположены в Московских дата-центрах DataPro, имеющих стандарт Tier 3/4.


Наш сайт: srv.cheap
Заказать: my.srv.cheap

[SRV.CHEAP] Зимние скидки уже здесь!

Srv.cheap срв чип выделенные сервера дедики вдс впс dedic AntiDDoS
❄️ Зимние скидки здесь!

— Скидки 25% на все VDS по промокоду «WINTER-25»!
— Ограниченная серия выделенных серверов по лучшим ценам:
— Xeon E3-1230v6 3.9 ГГц (4c/8t) / 32 GB / 2x 450 GB NVMe / AntiDDoS — 3400 ₽/мес.
— i7-7700K 4.5 ГГц (4c/8t) / 64 GB / 2x 450 GB NVMe / AntiDDoS — 3900 ₽/мес.
— Xeon-E 2274G 4.9 ГГц (4c/8t) / 64 GB / 2x 960 GB NVMe / AntiDDoS — 6500 ₽/мес.
— i7-4790k 4.4 ГГц (4c/8t) / 16 GB / 120 GB SSD / Game AntiDDoS — 2900 ₽/мес.
— i7-4790k 4.4 ГГц (4c/8t) / 32 GB / 240 GB SSD / Game AntiDDoS — 3400 ₽/мес.
— i7-6700k 4.2 ГГц (4c/8t) / 64 GB / 480 GB SSD / Game AntiDDoS — 4000 ₽/мес.
Успейте до 6 декабря!

Наш сайт: srv.cheap
Заказать: my.srv.cheap