Firewall Guide - Sicheres BungeeCord Netzwerk

Alle Minecraft Server hinter einem Bungeecord, müssen Crackerd eingestellt sein. Mit einem Portscann kann man sich die ip bzw. die Ports von den Servern anzeigen lassen und sich dann einen eigenen Bugecord aufsetzen, in welchem man dann die ip und den herausgefundenen Port einbindet und mit einer kleinen Modifikation am Bungeecord, der dann z.B. eine andere Host ip und UUID mitschickt, als Admin anmelden.

 

Um das zu verhindern habe ich dieses Tutorial gefunden mit dem ihr euch absichern könnt.


 

Um das ganze zu verdeutlichen und einfacher zu machen, kommt keine Übersetzung, sondern eine eigen formulierte, an den Text anliegende Erklärung.

 

Die beste Methode einen BungeeCord-Server gegen den genannten 'Hack' zu schützen, ist eine Firewall zu nutzen um den Zugriff von unbefugten Personen zu untersagen. Die meisten Linux-Server haben schon die Firewall 'iptables' vorinstalliert. Um das ganze zu verdeutlichen, erkläre ich erstmal folgende Begriffe:

Begriff Erklärung
Minecraft-Server Der eigentliche Gameserver
'Hardware-Server' Auch vServer, VPS, Root-Server oder Dedicated Server genannt. Hardware-Server ist kein offizieller Begriff
BungeeCord Das ist denke ich selbserklärend

 

Wenn der BungeeCord sowie die Minecraft-Server auf einem Hardware-Server laufen, braucht man iptables nicht zu verwenden, sondern Lösung 1. Wenn die Minecraft-Server auf seperaten Hardware-Servern laufen, ist Lösung 2 anzuwenden und wenn ein paar Minecraft-Server auf dem selben Hardware-Server wie der BungeeCord laufen jedoch nicht alle, lese bitte Lösung 3.

 

Lösung 1
In diesem Fall musst du einfach einen Punkt in der 'server.properties' auf allen Minecraft-Servern umändern. Da setzt du die Eigenschaft 'server-ip' auf '127.0.0.1'. Damit wird der Server lokal gestartet und ignoriert Zugriffsversuche von außen. Danach muss der Server neu gestartet werden.

 

Lösung 2
Hier musst du 'iptables' nutzen. Um das zu tun brauchst du Root-Zugriff. Wenn du nur über 'sudo' Root-Rechte hast, gib vor jedem Befehl 'sudo' ein. Also z.B. statt 'iptables' machst du 'sudo iptables'. Um zu prüfen ob du es installiert hast, gib 'iptables --version' in der Konsole des Hardware-Servers des BungeeCords ein. Hier müsste folgendes rauskommen:

Code
  1. iptables v1.4.21


Wenn die Versionsnummer nicht genau übereinstimmt, ist dies nicht schlimm.

Nehmen wir an wir haben folgende Server:
- BungeeCord-Server (1.1.1.1:25565)
- Minecraft-Server 1 (2.2.2.2:25564)
- Minecraft-Server 2 (3.3.3.3:25563)

 

Da du nur den Zugriff auf die Minecraft-Server limitieren willst musst du am BungeeCord nichts umstellen. Auf dem Hardware-Servern der Minecraft-Server musst du jeweils folgende Befehle eingeben:

Code
  1. iptables -I INPUT ! -s $BUNGEE_IP -p tcp --dport $SERVER_PORT -j DROP


Hier muss $BUNGEE_IP mit der IP des BungeeCord-Servers geändert werden und $SERVER_PORT mit dem Port des Minecraft-Servers (meist 25565).
In unserem Falle wäre das:

Code
  1. iptables -I INPUT ! -s 1.1.1.1 -p tcp --dport 25564 -j DROP


(für den Minecraft-Server 1)
Um die Änderungen an der Firewall zu speichern haben wir folgende Befehle:

 

Debian/Ubuntu: (erster Befehl nur einmalig)

Code
  1. apt -y install iptables-persistent
  2. /etc/init.d/iptables-persistent save

 

Wenn du irgendwann mal etwas falsch eingegeben hast, kannst du die Firewall mit folgendem Befehl zurücksetzen:

Code
  1. iptables -F


ACHTUNG: Es kann passieren, dass andere Einträge in der Firewall vorhanden sind! Dadurch kann es zu Problemen kommen!

 

Um die Einträge aufzulisten, benutze:

Code
  1. iptables -L INPUT

 

Wenn du einen einzelnen Eintrag löschen willst, gib folgendes ein. $ID ist die Nummer des Eintrags, beginnend von oben mit 1.

Code
  1. iptables -D INPUT $ID

 

Lösung 3
Bei dieser Lösung muss du bei den Minecraft-Serven die auf dem selben Hardware-Server wie der BungeeCord-Server laufen Lösung 1 verwenden sowie für die anderen Lösung 2.

 

Falls es Fragen oder Probleme gibt, bitte bei mir melden.

War diese Antwort hilfreich? 4 Benutzer fanden dies hilfreich (6 Stimmen)