В данной статье будут описаны всевозможные способы защиты сервера от каких-либо уязвимостей.


🔏 Несанкционированный вход

Не относится к лицензионным серверам

Сервера со включённой проверкой лицензии защищены корпорацией Microsoft. То есть, чтобы злоумышленник смог зайти на лицензионный сервер с вашим ником, ему нужен доступ к вашему аккаунту Microsoft. Этот раздел подразумевает, что проверка лицензии отключена.

Есть несколько видов атак посредством несанкционированного входа на сервер. Ниже приведены примеры вредоносных действий злоумышленников:

  1. «Краш сервера». Злоумышленник может зайти с аккаунта игрока с правами оператора, если он не защищён паролем и нанести необратимый ущерб серверу. Чтобы предотвратить это, смотрите раздел 🔑 Добавление авторизации.
  2. Гриферство. Обычные Minecraft сервера не имеют никаких средств борьбы с разрушением построек или воровством ресурсов. Чтобы предотвратить это, смотрите раздел 🛡 Защита построек.
  3. Бот-атаки. Атака сервера при помощи ботов или специальных чит-клиентов. Чтобы не дать ботам зайти на сервер, смотрите раздел 🤖 Защита сервера от ботов

Мой сервер можно найти?

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

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

🔑 Добавление авторизации

Авторизация - возможность игрокам защитить свой аккаунт паролем.

 Paper/Spigot

OpeNLogin  Modrinth |  SpigotMC

  • Лёгкий плагин, позволяющий добавить на сервер полноценную систему авторизации.

 Fabric

EasyAuth  Modrinth

  • Мод для Fabric. Поддерживает версии от 1.17.

 Forge

Simple Login  CurseForge

  • Мод для Forge. Поддерживает версии от 1.10.2 до 1.20.1.

 Vanilla/Другое

Auth  Modrinth Простой датапак для регистрации и авторизации на сервере. Для его установки достаточно загрузить его в папку datapacks в вашем мире (По-умолчанию world).

Команды Регистрация: /trigger register set <Пароль> Авторизация: /trigger login set <Пароль> Смена пароля: /trigger changepassword set <new password>

Настройки Для открытия меню настроек следует использовать команду /function auth:settings

📑 Белый список

Внимание!

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

Доступ к серверу с никнеймов уже имеющихся в белом списке игроков по прежнему актуален.

Белый список - список доверенных игроков, допущенных ко входу на сервер.

Настройка белого списка

Включение белого списка производится командой /whitelist on или через файл server.properties.

  1. Откройте файл server.properties и отыщите там строку white-list=false;
  2. Измените false на true и сохраните изменения.
  • Для сохранения изменений - используйте сочетание клавиш Ctrl + S (Windows), ⌘ + S (Mac OS) или воспользуйтесь кнопкой «Сохранить изменения» в самом низу страницы.
  1. Перезагрузите сервер.

Для добавления игроков в белый список, следует использовать команду /whitelist add <Никнейм>.

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

🏫 Защита построек

Для защиты построек можно использовать средства логгирования взаимодействий с миром, а также средства для приватизации построек (Создания «Приватов»).

WorldGuard  Spigot/Paper

Самый популярный плагин для создания приватов и защиты мира от злоумышленников. Пользоваться им крайне просто:

  1. Установите плагин на сервер, загрузив его в папку plugins;
  2. Возьмите в руку деревянный топор и выделите первую и вторую точку в нужных локациях нажатием по блоку ЛКМ и ПКМ соответственно.
  3. Воспользуйтесь командой /rg claim <Название>, чтобы присвоить себе выбранный участок земли.
GriefPrevention  Spigot/Paper

Чуть менее популярный, но не менее простой в использовании плагин. Для создания приватизированной территории достаточно поставить сундук - участок земли вокруг будет приватизирован автоматически.

FTB Chunks  Forge,  Fabric

Мод для приватизации территорий по мини-карте, создании на ней отдельных отметок и прочих вещей.

Get Off My Lawn ReServed  Fabric
CoreProtect  Spigot/Paper

Плагин для логгирования изменений мира. Режим проверки активируется командой /co inspect или просто /co i. После этого кликните ПКМ или ЛКМ по блоку, который хотите проверить.

В чат будет выведена информация об изменениях этого блока.

Более подробно о всех командах можно прочесть в документации плагина.

Ledger  Fabric

Мод для логгирования изменений мира для Fabric. Для работы требует Kotlin for Fabric и Fabric API.

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


🤖 Защита сервера от ботов

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

Информация.

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

Настройка прокси-сервера

Самым важным аспектом в защите сервера будет настройка прокси-сервера. Об этом можно прочесть статье proxy.