Защита Minecraft от DDoS и защита от nullping

Опубликовано Обновлено 4 мин. чтения

Nullping-атаки почти не требуют полосы пропускания и всё равно кладут целые сети BungeeCord. Как устроена такая атака и как её отсекают в реальном времени.

Крупные проекты Minecraft остаются излюбленной целью атакующих: от классических объёмных DDoS-атак до эксплойтов со сбойными пакетами вроде nullping-атаки, задача которой — обрушить целую сеть BungeeCord. Защита от DDoS в KernelHost рассчитана именно на такие сценарии и фильтрует их в реальном времени, ещё до того, как пакеты дойдут до процесса Minecraft.

Почему серверы Minecraft атакуют так часто

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

Речь при этом давно идёт не только о полосе пропускания. Наряду с объёмными атаками закрепились методы, которые целенаправленно эксплуатируют логику протокола Minecraft: nullping-атаки, атаки QuietException и разнообразные (поддельные) handshake-flood. Трафика они требуют сравнительно немного, но незащищённый сервер всё равно роняют. Что такое DDoS-атака с технической стороны, разбирает статья Что такое DDoS-атака?.

Что такое nullping-атака?

Nullping-атака — это форма атаки, заточенная именно под Minecraft. Вместо того чтобы забивать канал, она злоупотребляет установкой соединения: атакующий массово шлёт изменённые status- и handshake-пакеты, на каждый из которых сервер обязан ответить. В списке серверов пинг при этом показывается близким к нулю, а серверный процесс в фоне задыхается под потоком пакетов.

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

Почему одних плагинов и файрвола не хватает

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

Как KernelHost защищает серверы Minecraft

Защита от DDoS в KernelHost построена в два уровня и работает постоянно, настраивать вам ничего не нужно:

  • Уровень 1: глобальная ёмкость фильтрации 17 Тбит/с. Объёмные атаки перехватываются рядом с источником, ещё до того, как доходят до дата-центра во Франкфурте.
  • Уровень 2: фильтрация Arbor в реальном времени с 3,2 Тбит/с непосредственно во Франкфурте. Прямо перед сервером распознаются и отбрасываются специфичные для протокола шаблоны, среди них nullping, QuietException и handshake-flood.

Под защитой находятся Java Edition (порт 25565 TCP) и Bedrock Edition (порт 19132 UDP), а также прокси, голосовые сервисы и любые собственные службы TCP или UDP на других портах. Null-routing при этом не применяется: атакуемый IP остаётся в сети, отбрасываются только вредоносные пакеты. Защита бесплатно входит в каждый серверный пакет: в стандартных тарифах указано 3,2 Тбит/с, в тарифах Professional — 17 Тбит/с.

Для очень крупных сетей подходит линейка Professional Dedicated Server. При партнёрстве с большими проектами возможны заметные скидки на тариф, просто напишите нам в тикете. Обзор всех покрытых защитой игр даёт статья DDoS-защита игровых серверов в реальном времени.

Примеры из реальной эксплуатации

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

Голосовой сервер TeamSpeak 3, порт 9987 UDP

Сложная атака сразу с несколькими шаблонами, более 473,4 Гбит/с и более 41,5 миллиона пакетов в секунду. Полностью отфильтрована в реальном времени, без сбоев.

Защита KernelHost от DDoS: голосовой сервер TeamSpeak на порту 9987 UDP, более 473 Гбит/с отфильтровано в реальном времени

Игровой сервер ARK, порт 7777 UDP

Чистый UDP-flood без сложной структуры, зато более 112,2 Гбит/с и более 8,7 миллиона пакетов в секунду. Отфильтрован в реальном времени, без простоя.

Защита KernelHost от DDoS: игровой сервер ARK на порту 7777 UDP, UDP-flood более 112 Гбит/с отфильтрован в реальном времени

Атака по всем портам, порты 0-65535 TCP/UDP

Более 12 различных основных шаблонов атаки одновременно по всем портам, в сумме более 21,3 Гбит/с и более 3,9 миллиона пакетов в секунду. Также полностью отфильтровано в реальном времени.

Защита KernelHost от DDoS: сложная атака по всем портам 0-65535, отфильтрована в реальном времени

Minecraft и OpenVPN, порты 25565 TCP и 1194 UDP

Комбинированная атака с более чем 16 различными основными шаблонами, более 4 миллионов пакетов в секунду и более 8,6 Гбит/с. Оба сервиса оставались доступны без перерывов.

Защита KernelHost от DDoS: сервер Minecraft на порту 25565 TCP и OpenVPN на 1194 UDP отфильтрованы в реальном времени

Ваш сервер атакуют прямо сейчас?

Если ваш проект уже размещён в KernelHost, фильтрация работает постоянно и включать вам ничего не нужно. Если вы всё же заметили странности, создайте тикет в поддержку, чтобы наша команда подстроила правила фильтрации под ваш IP. Во время идущей атаки с нами можно связаться дополнительно через аварийный чат WhatsApp по номеру +43 650 8209883.

Частые вопросы

Что такое nullping-атака?
Атака, заточенная под Minecraft: она массово отправляет изменённые status- и handshake-пакеты. В списке серверов пинг выглядит близким к нулю, а серверный процесс в это время задыхается под потоком пакетов.
Достаточно ли плагинов и iptables против nullping?
При мелких атаках да, при серьёзных нет. И то и другое срабатывает только тогда, когда пакеты уже дошли до сервера. Работает фильтрация в сети перед ним, знающая поведение протокола.
Java Edition и Bedrock защищены одинаково?
Да. Под защитой Java Edition на порту 25565 TCP и Bedrock Edition на порту 19132 UDP, а также прокси вроде BungeeCord и любые собственные службы на других портах.
Уходит ли мой сервер в офлайн во время атаки?
Нет. KernelHost не выводит атакуемые IP-адреса из сети. Отбрасываются только вредоносные пакеты, соединения реальных игроков продолжают работать.
Стоит ли DDoS-защита Minecraft дополнительных денег?
Нет, она входит в каждый серверный пакет и активна постоянно. В стандартных тарифах указано 3,2 Тбит/с, в тарифах Professional — 17 Тбит/с.

DDoS-защита Minecraft Защита от nullping Краш-пакеты Защита BungeeCord Сервер Minecraft Bedrock Edition Фильтрация в реальном времени