Коротко: качайте плагины только с Hangar, Modrinth, SpigotMC, BukkitDev или из релизов GitHub самого автора и никогда не ставьте «бесплатные» сливы платных плагинов. Проверяйте, кому выдан OP и какие плагины лежат в plugins/. Если сервер заражён, считайте скомпрометированной всю машину: остановите сервер, смените все пароли и ключи с другого устройства и восстановите сервер с чистых файлов.
Почему плагин опасен
Плагин — это Java-код, который сервер запускает у себя. Ограничений у него нет: он может выдать OP любому нику, выполнить команду консоли, прочитать конфиги с паролями баз данных, скачать и запустить другую программу. Документация Paper предупреждает об этом отдельным блоком: плагины получают полный и неограниченный доступ к серверу и к машине, поэтому ставить их можно только из источников, которым вы полностью доверяете.
Откуда берутся вредоносные плагины
| Источник | В чём риск |
|---|---|
| Сливы платных плагинов | Jar с неизвестного сайта, который кто-то пересобрал. Проверить, что в него добавили, нельзя |
| Неизвестные сайты и группы | Нет истории автора и модерации, файл могут подменить в любой момент |
| Файлы «от друга» в Discord | Тот же неизвестный jar, только с доверием к отправителю |
| Взломанный аккаунт автора | Заражённая версия выходит под настоящим именем в официальном каталоге |
| Заражённый компьютер разработчика | Вирус дописывает себя в jar, которые потом публикуются как обычное обновление |
Реальный случай: fractureiser
В 2023 году на CurseForge и dev.bukkit.org нашли вирус fractureiser. По данным команды, которая его расследовала, автор загрузил несколько безобидных на вид модов и плагинов. Один из них скачал разработчик популярной сборки, вирус заразил файлы на его компьютере — и заражённая копия рабочего проекта ушла на CurseForge как обычный файл. Так заразились копии нескольких популярных плагинов и модов.
- Вирус работал на Windows и Linux и состоял из нескольких стадий: заражённый jar скачивал и запускал следующую.
- Последняя стадия пыталась заразить все jar-файлы на диске, украсть cookies и пароли браузеров, данные Discord, Microsoft и Minecraft, подменить адреса криптокошельков в буфере обмена.
- Команда расследования советовала считать потенциально опасной любую загрузку с CurseForge и BukkitDev с февраля по июнь 2023 года.
- На Linux заражение выдавали файлы
~/.config/.data/lib.jarи службаsystemd-utility.service.
Вывод неприятный: официальный каталог снижает риск, но не обнуляет его. Поэтому кроме выбора источника нужны проверка и готовый план на случай заражения.
Где качать плагины
- Hangar — каталог плагинов от PaperMC; документация Paper называет его лучшим местом для поиска.
- Modrinth и BukkitDev — их Paper тоже называет; SpigotMC — каталог плагинов сообщества Spigot.
- GitHub — многие авторы выкладывают сборки в релизах. Берите релиз из репозитория автора, на который ведёт страница плагина, а не из форков.
- Платный плагин — только там, где его продаёт автор. Если он «бесплатно» лежит на другом сайте, это слив.
Как проверить сервер
- 1
Сверьте список плагинов
pluginsв консоли и содержимое папкиplugins/. Каждый jar должен быть вам знаком: вы помните, откуда его скачали. - 2
Проверьте OP
Откройте
ops.json: там должен быть только владелец. Лишний оператор — первый признак бэкдора, подробнее — в статье OP и белый список. - 3
Проверьте права
/lp log recentв LuckPerms покажет, кто и когда менял права. Право*у случайного игрока — тревога. - 4
Посмотрите лог
В
logs/latest.logищите команды, которые никто из команды не вводил, и входы с незнакомых ников с правами. - 5
Проверьте машину
Незнакомые процессы, службы systemd и задания cron на VPS. Если сервер в Docker, проверьте и хост.
Для fractureiser команда расследования выпустила сканеры jar-файлов, например от Overwolf. Но сканер ищет известную заразу и новый бэкдор может не увидеть — поэтому главная защита остаётся прежней: известный источник.
Если сервер заражён
- 1
Остановите сервер
И отключите его от сети, если можете. Считайте скомпрометированной всю машину, а не одну папку.
- 2
Смените пароли с другого устройства
Хостинг, панель, SSH, почта, Discord, аккаунт Microsoft, пароли баз данных и RCON,
forwarding.secretпрокси. Включите двухфакторный вход везде, где он есть. - 3
Перевыпустите ключи
Ключ лицензии DGuard лежит в
plugins/DGuard/config.yml: выпустите новый ключ в панели — старый сразу перестанет работать. - 4
Переустановите с чистого листа
Команда расследования fractureiser советует как надёжный вариант просто переустановить систему. Миры и конфиги возьмите из бэкапа до заражения, а все jar скачайте заново из официальных источников — копии jar из бэкапа тоже могут быть заражены.
- 5
Проверьте мир
Посмотрите CoreProtect: что успели сделать операторы-самозванцы, и откатите.
Античит из надёжного источника
Античит стоит на сервере с теми же правами, что и любой плагин, поэтому к нему требования строже всего. DGuard — лучший античит для современного сервера Minecraft — скачивается только из вашей панели на сайте DGuard, а обновляется сам: новая версия ставится только после проверки подписи, и если в скачанном файле изменён хоть байт, подпись не сойдётся и файл будет удалён. «Слитый» DGuard без ключа из панели не заработает — и неизвестно, что в него добавили.
Готовые настройки DGuard из магазина конфигов — это файлы config.yml, а не код: каждую версию перед публикацией проверяет команда DGuard, а ключи, пароли, токены, хосты и IP вырезаются из файла автоматически.
Частые вопросы
Может ли плагин взломать сервер Minecraft?
Да. Плагин получает полный доступ к серверу и машине: может выдать OP, выполнить команды консоли, прочитать пароли из конфигов и запустить другую программу. Поэтому Paper советует ставить плагины только из источников, которым вы полностью доверяете.
Безопасно ли качать слитые платные плагины?
Нет. Слив — это jar с неизвестного сайта, который кто-то пересобрал, и проверить, что в него добавили, нельзя. Платный плагин покупайте там, где его продаёт автор.
Как понять, что на сервере бэкдор?
Лишние операторы в ops.json, права * у случайных игроков, команды в логе, которые никто не вводил, незнакомые jar в plugins/, процессы и службы на машине. Проверьте всё это и сверьте список плагинов с тем, что вы ставили.
Что делать, если плагин оказался вредоносным?
Остановить сервер, считать скомпрометированной всю машину, с другого устройства сменить все пароли и ключи, переустановить систему и восстановить миры и конфиги из бэкапа до заражения, а плагины скачать заново из официальных источников.
Источники
- Paper: Adding plugins (вредоносные плагины, где искать)
- fractureiser: расследование
- fractureiser: что случилось и что делать
- fractureiser: хронология
- Hangar: каталог плагинов PaperMC
- Modrinth: плагины
- LuckPerms: команды (/lp log)
- DGuard — лучший античит для современного сервера Minecraft: сравнение проверок с GrimAC, Vulcan, Polar, Intave и Matrix
- DGuard: установка, требования и решение проблем
- DGuard: поддерживаемые версии Paper и Leaf