OPNsense Forum

International Forums => German - Deutsch => Topic started by: petrus on January 21, 2024, 10:54:08 am

Title: Sicherer Betrieb lokaler Minecraft-Server - Authentifizierung über ein Portal
Post by: petrus on January 21, 2024, 10:54:08 am
Hallo, ich habe zu Hause einen Minecraft-Server, der ein eigenes VLAN hat und sowohl vom LAN als auch vom Internet aus erreichbar sein soll. Es funktioniert alles, aber ich habe Angst, den Server einfach für das ganze Internet zugänglich zu machen. Der Zugriff auf den Server soll einfach bleiben (einige Schulklassen sollen darauf zugreifen können), daher möchte ich kein VPN einrichten.

Meine Idee war, ein Portal zu konfigurieren (das integrierte Captive Portal), das nach erfolgreicher Authentifizierung die entsprechenden Firewallregeln für die Quell-IPs der authentifizierten Benutzer freischaltet.
Ich habe schon viel gesucht, aber bis jetzt nichts gefunden, außer diversen Anleitungen für ein Gastnetzwerk.
Ist soetwas mit Opnsense Bordmitteln überhaupt möglich?

Danke!

Title: Re: Sicherer Betrieb lokaler Minecraft-Server - Authentifizierung über ein Portal
Post by: Sabo on January 23, 2024, 08:28:33 am
Moin Petrus,

ich glaub da betreibst du etwas viel Aufwand für einen Minecraft-Server.

https://minecraft.fandom.com/de/wiki/Befehl/whitelist (https://minecraft.fandom.com/de/wiki/Befehl/whitelist)

Wenn du die Whitelist in der Datei whitelist.json vorbereiten willst, dann brauchst du halt die ganzen Namen und kannst dir auf der Seite die ganzen UUIDs raussuchen.

https://mcuuid.net/ (https://mcuuid.net/)

Grüße Sabo
Title: Re: Sicherer Betrieb lokaler Minecraft-Server - Authentifizierung über ein Portal
Post by: JeGr on January 24, 2024, 10:50:51 am
> Meine Idee war, ein Portal zu konfigurieren (das integrierte Captive Portal), das nach erfolgreicher Authentifizierung die entsprechenden Firewallregeln für die Quell-IPs der authentifizierten Benutzer freischaltet.

Das CP macht etwas völlig anderes, als du für einen Minecraft Server machen möchtest. CP filtert auf MAC Ebene, das ist aus dem Internet völlig nutzlos, da auf Internet Seite niemand "direkt" an dich angeschlossen ist und du auf dem WAN nicht einfach nen CP hochfahren kannst. Ganz anderer Einsatzzweck und Baustelle ;)

Da müsstest du dich eher nach MC WebUI/Management Software umschauen (gibt es) die dann genau das, was Sabo sagt, umsetzt aber eben als nettes Login Portal etc. Solche WebMgmt Sachen machen dann ein schönes Login Portal mit etwas blabla, mit dem sich User dann anmelden/freischalten/whitelisten können und dann kommen sie auf den Server (wenn der aus dem Internet sauber via Port erreichbar ist).

Aber mit dem CP kannst du da nichts machen und auch Firewall Regeln sind da nur begrenzt hilfreich.

Cheers
\jens
Title: Re: Sicherer Betrieb lokaler Minecraft-Server - Authentifizierung über ein Portal
Post by: micneu on January 24, 2024, 12:51:47 pm
Meine Idee währe einen Reverse Proxy und authentication. Ich kenne mich mit minecraft Servern nicht aus, keine Ahnung obiedzie damit geht


Gesendet von iPhone mit Tapatalk Pro
Title: Re: Sicherer Betrieb lokaler Minecraft-Server - Authentifizierung über ein Portal
Post by: Patrick M. Hausen on January 24, 2024, 01:17:25 pm
Quote
Ich kenne mich mit minecraft Servern nicht aus, keine Ahnung obiedzie damit geht

Dann schreib doch sowas nicht. Das ist kein HTTP und das Minecraft-Protokoll ist proprietär und hat keinen Authentifizierungsmechanismus, den irgendein Proxy unterstützen würde.

Das Binary beim Teilnehmer authentifiziert sich zentral bei Mojang/Microsoft und kann dadurch halbwegs sicher eine UUID für den Benutzer an den Minecraft-Server übermitteln. Auf dem Minecraft-Server kann man dann ähnlich wie früher bei IRC eine Whitelist führen von Benutzern, die rein dürfen. That's it.
Title: Re: Sicherer Betrieb lokaler Minecraft-Server - Authentifizierung über ein Portal
Post by: petrus on January 24, 2024, 02:06:32 pm
Vielen Dank für die zahlreichen Antworten!

Ziel ist es nicht, unberechtigte Zugriffe zu verhindern, sondern die Server weniger im Internet zu exponieren und damit die Gefahr von Hackerangriffen zu verringern.   

Die Grundfunktion der CP war mir schon klar, aber ich kenne von einigen Firewallherstellern die Variante, die nicht nur nach MACs filtern kann.
Die Funktion die ich mir wünschen würde ist eben eine Firewallregel, die nur für bestimme SRC IPs greift, die in einem Objekt gespeichert sind. + eine Funktion die mir die SRC IP Objekt automatisch und dynamisch erstellt für die IPs die authentifiziert sind.
Also User Authentifiziert sich an einem Portal, seine IP wird in ein Objekt geschrieben, zusammen mit einer Zeitstempel. Nach einer konfigurierbaren Zeit wird die IP aus diesem Objekt entfernt.
Dann könnte ich einen Regel definieren: src:authentifizierteIPs, dst:MinecraftSrv, Accept.

Scheinbar ist diese Funktionalität auf Opnsense leider nicht verfügbar, da ihr es nicht kennt und ich keine Doku dafür gefunden habe.
 
@Sabo: eigentlich wäre der Aufwand nicht hoch, wenn diese Funktion von Opnsense unterstütz wäre. Ganz im Gegenteil, ich müsste mich nicht um VPN von allen Freunden meiner Söhne kümmern (Helpdesk für die 1a und für die 4a, urghh :o ). Wobei müsste ich mit dieser Methode den in Java geschriebenen Server nicht im Internet exponieren. Danke für die Links!   




   



Title: Re: Sicherer Betrieb lokaler Minecraft-Server - Authentifizierung über ein Portal
Post by: JeGr on February 01, 2024, 11:48:38 am
pf kann auch sowas. Nicht mit Portal und Klimbimm, aber mit simplem SSH. Nennt sich authpf. Wurde aber leider AFAIK nie von FreeBSD portiert und steht daher nur unter OpenBSD parat. Das hat aber genau diesen Ansatz. Du machst eine SSH Verbindung mit Key auf - das ist ja recht einfach zu supporten, SSH mit Key ist jetzt nix Abgefahrenes - und statt einem Login kommt in deinem SSH Client einfach die Meldung "User X ist jetzt mit IP Y verbunden". In dem Moment weiß dann pf im Ruleset, dass User X von IP Y aus reinkommt und du kannst den MC Port aufmachen. Tada. Wie gesagt - leider steht das generell in FreeBSDs Port nicht zur Verfügung, daher wäre mir kein sonstiger Weg bekannt, das jetzt so einfach hinzubekommen.

Cheers

Edit: es heißt natürlich authpf, nicht pf-auth ich Dulli ;)
Title: Re: Sicherer Betrieb lokaler Minecraft-Server - Authentifizierung über ein Portal
Post by: petrus on February 06, 2024, 10:55:42 am
Vielen dank @JeGr! Ich habe noch nie von pf-auth gehört, aber das hilft mir weiter. Zwar wird es nicht so einfach möglich wie ich es mir gehofft hätte, aber ich benötige nur einen winzigen OpenBSD VM "vorschalten".
Der wird dann zwischen Opnsense und der Minecraftvm das Routing und eine zusätzliche Filtering machen.   
Mal sehen wann ich dafür Zeit finde, aber ich werde mal den pf-auth support als feature request für Opnsense einwerfen.
Title: Re: Sicherer Betrieb lokaler Minecraft-Server - Authentifizierung über ein Portal
Post by: petrus on February 06, 2024, 11:04:21 am
Kleine Ergänzung: Goolge sagt mir es heißt authpf:
https://www.openbsd.org/faq/pf/authpf.html

Und noch was: authpf scheint im FreeBSD auch zu existieren!
Title: Re: Sicherer Betrieb lokaler Minecraft-Server - Authentifizierung über ein Portal
Post by: Viplex92 on February 07, 2024, 12:39:22 pm
Die Funktion die ich mir wünschen würde ist eben eine Firewallregel, die nur für bestimme SRC IPs greift, die in einem Objekt gespeichert sind. + eine Funktion die mir die SRC IP Objekt automatisch und dynamisch erstellt für die IPs die authentifiziert sind.
Also User Authentifiziert sich an einem Portal, seine IP wird in ein Objekt geschrieben, zusammen mit einer Zeitstempel. Nach einer konfigurierbaren Zeit wird die IP aus diesem Objekt entfernt.
Dann könnte ich einen Regel definieren: src:authentifizierteIPs, dst:MinecraftSrv, Accept.

Wie du selbst schon gesagt hast, könnte man das mit einer "URL Table" unter Aliases realisieren, ähnlich der Spamhaus-Liste: https://www.spamhaus.org/drop/drop.txt (https://www.spamhaus.org/drop/drop.txt). Diese Liste müsstest du per Scripts automatisch befüllen bzw. leeren lassen. Die IPs müsstest du mit einem Webserver, der die Authentifizierung macht, einsammeln und dann eben mit dem Script an die URL-Table weitergeben. Der Webserver kann sogar wo anders stehen (z.B. wenn man eh schon ein Hostingpaket bei Strato etc. hat, um den Server nicht im eigenen Netz stehen zu haben). Oder wenn man es selbst hosten will z.B. mit einem Nginx. Am Ende bleibt die philosophische Frage, ob der Webserver dann nicht das größere Einfallstor ist, andererseits selbst wenn jemand auf den Webserver kommt, er könnte sich dann im schlimmsten Fall (eine vernünftige DMZ vorausgesetzt) nur selbst whitelisten und müsste dafür auch erstmal wissen, dass der Webserver in Verbindung mit dem Minecraftserver steht.

Alles in allem schon viel Aufwand aber definitiv ein cooles Projekt :) Manchmal geht es ja auch nicht um die Sinnhaftigkeit sondern ums Schaffen, also viel Erfolg!
Title: Re: Sicherer Betrieb lokaler Minecraft-Server - Authentifizierung über ein Portal
Post by: JeGr on February 10, 2024, 11:42:38 am
> Und noch was: authpf scheint im FreeBSD auch zu existieren!

Ja, jein. Ja, es scheint tatsächlich zu existieren, ist schon ein Weilchen her, dass ich mir das angesehen hatte und schön, dass es doch irgendwann portiert wurde. Aber das notwendige Pseudo-Shell Binary existiert zumindest auf der Sense nicht. Die Verzeichnisstrukturen legt PF selbst an, aber die Shell die nötig ist, existiert nicht.

Cheers
Title: Re: Sicherer Betrieb lokaler Minecraft-Server - Authentifizierung über ein Portal
Post by: petrus on February 12, 2024, 06:48:04 pm
@JeGr :  damit hast du mir ein paar Stunden unnötigen Arbeit wohl erspart  8)
@Viplex92: ja, das ist schon ein ordentlicher Aufwand, ich weiß es ehrlich nicht mehr wann ich dafür die Zeit finden werde. Einen Webserver zu hosten wäre nicht das Problem...

Danke für eure Untrestützung!
Title: Re: Sicherer Betrieb lokaler Minecraft-Server - Authentifizierung über ein Portal
Post by: Patrick M. Hausen on February 12, 2024, 06:54:28 pm
Und warum machst du Minecraft nicht einfach in einem isolierten Netz (VLAN) nach außen auf und benutzt die Whitelist-Funktion? Hältst du das Produkt kategorisch für unsicher? Ich betreib das so ... keine Vorfälle bisher.
Title: Re: Sicherer Betrieb lokaler Minecraft-Server - Authentifizierung über ein Portal
Post by: petrus on February 12, 2024, 10:01:17 pm
Genau so mache ich es, es hat ein eigenes VLAN, läuft auf einem Proxmox als VM unter Alpine Linux.
Vielleicht leide ich an Paranoia, oder ein paar Jahrzehnte in der IT haben mir nicht gut getan.
Zu meiner Verteidigung kann ich noch erwähnen, dass so eine Funktion bei einigen namhaften Herstellern einfach vorhanden ist, man muss nur sehr wenig konfigurieren. Ich habe mir gedacht, dass es bei Opnsense vielleicht etwas einfacher zu implementieren ist, als es tatsächlich ist.
Leider nicht, aber ein Gedankenspiel war es wert. Vielleicht finde ich mal die Zeit irgend wann.

Ps.  Ja, das war kein fairer Vergleich, Opnsense bleibt mein Favorit, unschlagbares Preis/Leistungsverhältniss :)
Title: Re: Sicherer Betrieb lokaler Minecraft-Server - Authentifizierung über ein Portal
Post by: Patrick M. Hausen on February 12, 2024, 10:23:55 pm
Ich hab hier einige öffentlich erreichbare Services und um einige davon mache ich mir mehr Gedanken als um Minecraft. Zum Beispiel Confluence, wo die Wartung für die self-hosted Variante diesen Monat ausläuft.

Aber vieles ist ja auch dazu gedacht, öffentlich im Netz zu stehen. Nextcloud - meine Firma hostet das für Kunden gewerblich. Und ja, PHP ... etc. p(h)p  ;) aber regelmäßig die Updates rein, evtl. noch Crowdsec oder fail2ban - bisher, und das sind einige Jahre, ist uns tatsächlich nichts passiert in diesem Bereich.

Und ich sehe Minecraft ähnlich. Es gibt tausende weltweit offene Server in der Community und man liest jetzt nicht grad täglich auf Heise davon.

Demgegenüber würde ich niemals einen Windows-Host oder mein TrueNAS direkt dem Internet aussetzen, da ist überall schön ein VPN davor.

Nur so meine Erfahrung und Meinung. Minecraft ist als öffentlicher Service gedacht. Daher nehme ich an, dass das passt, wenn man die üblichen Dinge wie regelmäßige Patches und Isolation beachtet.
Title: Re: Sicherer Betrieb lokaler Minecraft-Server - Authentifizierung über ein Portal
Post by: petrus on March 04, 2024, 04:17:38 pm
Hallo, danke für deine Anregungen! Diese und mein Zeitmangel haben mich überzeugt, keine besonderen Anstrengungen zu unternehmen... :)