Minecraft Server sicher publizieren?!

Started by W0nderW0lf, August 06, 2025, 01:05:25 PM

Previous topic - Next topic
Hi @ll,

ich würde gerne einen privaten Server für meinen Nachwuchs einrichten. Dadurch das sie über eine Nintendo Switch spielen ist Wireguard ausgeschlossen.
Eine gewöhnliche reverse-proxy config scheint hier nicht zu greifen, weil über das Spiel den Server nicht über http aufgerufen wird, sondern eine TCP/UDP connection herstellt.
Weil ich bedenken habe einfach einen Port über die FW von Port * auf Port 25565 TCP/UDP zu einem Server zu öffnen der nicht 24/7 erreichbar ist, würde ich ganz gerne das caddy layer 4 feature nutzen.
Allerdings habe ich beim online suchen niemanden gefunden der das bereits eingerichtet hat.

Ich habe einen CNAME Eintrag für den Server erstellt und unter caddy>reverse proxy>subdomains eingerichtet. Allerdings machen die Minecraft Server keine HTTPS Anfrage, sondern gehen direct auf den TCP Port.
Aber dadurch das die Ports von extern variieren, kann ich also keinen bestimmten Port vordefinieren.

Ich habe gelesen, dass minecraft jetzt SRV records unterstützt. Ich kann aber wohl nicht von SRV auf CNAME weiterleiten und somit vom normalen reverse proxy aufgegriffen werden. Richtig?

Habt ihr einen Lösungsvorschlag der noch ein gewisses Maß an Sicherheit beinhaltet?

Ich hab den Port 25565/tcp offen und auf den Minecraft-Server weiterleitend. Auf dem Server selbst machst du:

/whitelist on
/whitelist add <spieler-id>
/whitelist add <spieler-id>
...

Damit kommen nur die Leute drauf, die du auch ausdrücklich da haben willst.

Ich wüsste keine Firewall-basierte Lösung. Globale Blocklists, die bekannt pöse Purchen aussperren evtl. noch gepaart mit GeoIP-Block schadet natürlich nicht.

HTH,
Patrick
Deciso DEC750
People who think they know everything are a great annoyance to those of us who do. (Isaac Asimov)

Ich habe es genau so gemacht wie Patrick. Eine andere Lösung hatte ich nicht gefunden.

Sehr schade. Hatte gehofft noch eine andere Lösung als das zu finden. :/

Habt ihr dafür nen NAT oder Port forward eingerichtet?

Das Whitelisting bzw. administrieren von einem Minecraft Server ist noch neuland für mich. Bin mal gespannt ob das so einfach ist.

Einen NAT Port Forward - ganz genau ;-)

Firewall > NAT > Port Forward.

Das Whitelisting ist so einfach wie oben beschrieben. Einmal einschalten, und dann muss man jeden Spiele einzeln frei schalten. Die Befehle gibt man auf der Server-Konsole ein.
Deciso DEC750
People who think they know everything are a great annoyance to those of us who do. (Isaac Asimov)

Ich probier's gleich aus. Vielen Dank für die Hilfe!

Könnt ihr mir noch kurz beim NAT helfen?

Scheinbar greift meine Regel nicht. Ich habe bisher nicht viel NAT'ting betrieben. :/

(Meine Regel im Anhang)

Was ich in der FW sehe, wenn ich eine Verbindung zum Server aufbauen will:

WAN 2025-08-06T21:05:47 192.168.178.39:41515 X.X.X.X:25565 tcp let out anything from firewall host itself (force gw)
WAN 2025-08-06T21:05:45 192.168.178.39:64881 X.X.X.X:25565 tcp let out anything from firewall host itself (force gw)
WAN 2025-08-06T21:04:06 192.168.178.39:43651 X.X.X.X:25565 tcp let out anything from firewall host itself (force gw)
WAN 2025-08-06T21:04:05 192.168.178.39:36675 X.X.X.X:25565 tcp let out anything from firewall host itself (force gw)

August 06, 2025, 11:49:28 PM #7 Last Edit: August 07, 2025, 08:56:12 AM by W0nderW0lf
Also ich bin gerade echt ratlos. Ich sitze jetzt seit Stunden davor und sehe den Wald vor laute Bäumen nicht mehr...

Die Regel die ich erstellt habe scheint korrekt zu sein.

Intern über mein LAN/unRAID netz ist alles ok. Kann mich ohne probleme rauf connecten.

Wenn ich über die domain/Public IP gehe sehe ich nur das eine Anfrage über meine Fritzbox 192.168.178.39:41515 WAN IP  Ziel <Public IP:25565> wieder rein kommt, aber danach verschwindet. Ich sehe sonst keinen block da hin. In den WAN rules sehe ich das forwarding.
Wenn ich die NAT Port Forwarding regel deaktiviere, sehe ich rein gar nichts.

Meine DNS Einstellung scheint also zu passen. An irgendeiner Stelle wird das paket wohl gedropt.
Ich habe mal surricata und zenarmor gecheckt, aber da ist nichts.

edit:
Ich habe auch nochmal in den Rules gecheckt, ob auch alle block regeln wirklich protokolliert werden.
Es gibt soweit ich das sehen kann nichts was sich nicht melden sollte... außer crowdsec, aber da verwende ich keine regeln die irgendwelche game services betreffen. ausschließlich SSH und sowas... aber das hier... ich versteh's nicht.

Hat sich erledigt. Musste an der Fritzbox noch den Port freischalten. :/