Найти тему
Майнкрафт на Setcraft.ru

Защита сервера Майнкрафт от взлома [BungeeCord]

Оглавление

Привет. Хочу сейчас поговорить о том, как защитить свой сервер Майнкрафт от внешнего подключения не через прокси севрер.

Это очень опасная вещь, так как игрок сможет подключаться например напрямую к серверу выживания обходя сервер авторизации, таким образом он сможет заходить на ваш сервер под любым ником, и тем самым «взламывать» учётные записи игроков, а ещё страшнее администрации сервера. Все знают чем это грозит. Так как же защитить севрер майнкрафт от взлома? один из ответов, это закрыть порты на всех серверах, чтобы все игроки могли подключаться через сервер прокси (BungeeCord).

Для защиты сервера нужно закрыть все остальные порты. Сначала я расскажу простой способ как закрыть порты сервера майнкрафт, а именно работая с конфигурацией серверов. Этот способ подойдёт, если ваши сервера стоят на одном VPS или VDS и/или используют одинаковые IP адреса (порты только разные).

Закрыть порты при помощи самой BungeeCord

Инструкция очень простая, следуйте просто шаг за шагом, и у вас всё получится.

Эти действия нужно проделать с каждым сервером

1) Открываем файл server.properties
И параметр
server-ip ставим значение 127.0.0.1
(Не стоит оставлять это поле пустым, и не нужно ставить localhost)

2) Далее открываем файл spigot.yml
и в параметре
settings изменяем параметр bungeecord: false на bungeecord: true

3) Как только вы сделали эти действия со всеми серверами, сохраняем и переходим к настройке прокси сервера BungeeCord

Открываем в нашем прокси сервере файл config.yml

3.1 ищем параметр ip_forward и ставим за место ip_forward: false ip_forward: true

3.2 ищем параметр host: и ставим ip вашего сервера вместе с портом
Пример:
host: 1.1.1.1:25565

Эти простые действия откроют только те порты, которые использует сам BongeeCord и никто не сможет подключиться к серверу не через сам прокси сервер. Но повторю, этот способ подойдёт только если у Ваших серверов один IP адрес с BugeeCord.

Закрытие портов сервера используя команды терминала (IpTables)

Этот способ продвинутый, так как Вам нужен доступ к SSH (доступ к терминалу управления сервером). Обычно ssh выдаётся с выделенными серверами.

1) Для этого подключаемся к ssh.

2) Устанавливаем IpTables командой

apt-get install iptables-persistent

Если IpTables установлен посмотрите правила, возможно у вас уже всё настроено.

iptables -L

3) Разрешаем локальный трафик командой

iptables -A INPUT -i lo -j ACCEPT

4) Разрешаем IP адрес сервера командой
где 0.0.0.0 это IP вашего сервера

iptables -A INPUT -s 0.0.0.0 -j ACCEPT

5) Закрываем порты от остальных серверов кроме разрешённых командой.
Закрывать порт прокси сервера не нужно, иначе не сможете подключиться к серверу
Это нужно прописать для каждого порта вашего сервера

iptables -A INPUT -p tcp --dport 25562 -j DROP

iptables -A INPUT -p tcp --dport 25567 -j DROP

iptables -A INPUT -p tcp --dport 25568 -j DROP

6) А теперь просто нужно сохранить прописанные правила командой

service iptables-persistent save

Если параметры не сохранились, можете использовать команду

netfilter-persistent save

P.S. Эти действия нужны только для начальных этапов проекта. Лучше всего использовать IpTables, так как в дальнейшем, с развитием вашего сервера нужно будет подключать ещё больше машин, и подключать несколько банджей. Вы можете совместить эти два способа, и использовать их вместе.

Закрытие портов BungeeCord если вы используете несколько машин

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

1) Подключаемся к SSH

2) Для начала смотрим правила (Возможно они уже установлены)

iptables -L

Если IpTables вообще не установлен, устанавливаем IpTables командой

apt-get install iptables-persistent

3) Разрешаем локальный трафик командой

iptables -A INPUT -i lo -j ACCEPT

4) Разрешаем IP адреса всех серверов

где 0.0.0.0 это IP всех ваших серверов

iptables -A INPUT -s 0.0.0.0 -j ACCEPT

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

iptables -A INPUT -s 125.85.14.22 -j ACCEPT

iptables -A INPUT -s 73.13.94.32 -j ACCEPT

iptables -A INPUT -s 915.58.36.95 -j ACCEPT

5) Закрываем порты от остальных серверов кроме разрешённых командой.
Закрывать порт прокси сервера не нужно, иначе не сможете подключиться к серверу
Это нужно прописать для каждого порта вашего сервера

iptables -A INPUT -p tcp --dport 25565 -j DROP

iptables -A INPUT -p tcp --dport 25567 -j DROP

iptables -A INPUT -p tcp --dport 25568 -j DROP

6) Сохраняем вписанные правила.

apt-get install iptables-persistent

Вас два раза попросят принять новые правила, во всех двух случаях соглашаемся с ними клавишами Yзатем Enter
Правила могут быть уже установленными ранее, поэтому команда выше может не сработать.

Для сохранения правил новых правил введите команду.

dpkg-reconfigure iptables-persistent

И так же соглашаемся два раза с новыми правилами.

Статья подготовлена сайтом SetCraft.ru
Ещё больше гайдов