Меню для игроков


КАКОГО МОБА ВЫ ПЕРВЫЙ РАЗ УВИДЕЛИ


ГДЕ Я: → Защита сервера Майнкрафт от взлома [BungeeCord]


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

   Категория: Гайды Майнкрафт





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

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



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


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


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

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


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

spawn-protection=30
max-tick-time=60000
query.port=25577
server-name=Unknown Server
generator-settings=
force-gamemode=false
allow-nether=false
gamemode=0
broadcast-console-to-ops=true
enable-query=true
player-idle-timeout=0
difficulty=1
spawn-monsters=false
op-permission-level=4
resource-pack-hash=
announce-player-achievements=true
pvp=true
snooper-enabled=false
level-type=DEFAULT
hardcore=false
enable-command-block=true
max-players=12
network-compression-threshold=256
resource-pack-sha1=
max-world-size=29999984
server-port=25567
debug=false
server-ip=127.0.0.1 //Вот это примерно выглядит в конфиге
spawn-npcs=true
allow-flight=false
level-name=lobby
view-distance=10
resource-pack=
spawn-animals=true
white-list=false
generate-structures=true
max-build-height=256
online-mode=false
level-seed=-8709281537069641899
use-native-transport=true
motd=
enable-rcon=false


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


settings:
  debug: false
  save-user-cache-on-stop-only: false
  bungeecord: true // вот он 
  late-bind: false
  sample-count: 12
  player-shuffle: 0
  user-cache-size: 1000
  int-cache-limit: 1024
  timeout-time: 60
  restart-on-crash: false
  restart-script: ./start.sh
  netty-threads: 4
  attribute:
    maxHealth:
      max: 2048.0
    movementSpeed:
      max: 2048.0
    attackDamage:
      max: 2048.0
  filter-creative-items: true
  moved-wrongly-threshold: 0.0625
  moved-too-quickly-threshold: 100.0
  moved-too-quickly-multiplier: 10.0
messages:
  whitelist: Тех работы!
  unknown-command: Не известная команда.
  server-full: Сервер заполнен!
  outdated-client: Клиент устарел! используйте {0}
  outdated-server: Outdated server! I'm still on {0}
  restart: Перезапуск
commands:


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

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

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

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

4) Так же желательно запретить доступ к командам в конфиге BungeeCord
disabled_commands:
- disabledcommandhere
- alert
- bungee
- glist
- alertraw
- end
- find
- greload
- glist
- greload
- ip
- perms
- send


5) И ещё отключить в правах конфига BungeeCord - bungeecord.command.server
permissions:
default:


Эти простые действия откроют только те порты, которые использует сам 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

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




  Просмотров: 100 Автор: RektoR | 04.02.2019 Нравится +21


Похожие новости


ОСТАВИТЬ КОММЕНТАРИЙ К ЭТОЙ НОВОСТИ
Ваше имя: [?]
Ваш E-Mail:[?]

У нас новый набор смайликов. Опробуй их. И ещё, помни на сайте запрещён мат, ну прям совсем, ну полностью.... вот

Добавляя комментарий на сайт SETCRAFT.RU - Вы автоматически соглашаетесь с пользовательским соглашением и политикой конфиденциальности

Ответы на все вопросы