Firewall-Grundlagen
Eine Firewall kontrolliert, welche Netzwerkverbindungen zu deinem KVM-Server erlaubt oder blockiert werden.
Sie ist ein wichtiger Bestandteil der Server-Sicherheit. Mit einer Firewall kannst du festlegen, welche Dienste von außen erreichbar sein dürfen und welche nicht.
Was ist eine Firewall?
Eine Firewall ist ein Schutzsystem für Netzwerkverbindungen.
Sie prüft eingehende und ausgehende Verbindungen anhand von Regeln. Diese Regeln bestimmen, ob eine Verbindung erlaubt oder blockiert wird.
Bei einem KVM-Server geht es meistens um eingehende Verbindungen.
Beispiele:
SSH-Zugriff auf Linux
RDP-Zugriff auf Windows
Webseite über HTTP oder HTTPS
Datenbankzugriff
Gameserver-Port
Mailserver-Port
Ohne Firewall können Dienste erreichbar sein, die eigentlich nicht öffentlich zugänglich sein sollten.
Warum ist eine Firewall wichtig?
Ein Server ist dauerhaft über das Internet erreichbar. Dadurch wird er regelmäßig von automatisierten Systemen gescannt.
Diese Scans suchen nach offenen Ports, unsicheren Diensten oder falsch konfigurierten Anwendungen.
Eine Firewall hilft dabei, die Angriffsfläche zu reduzieren.
Das bedeutet: Je weniger Dienste öffentlich erreichbar sind, desto weniger Möglichkeiten gibt es für Angriffe.
Was ist ein Port?
Ein Port ist eine Nummer, über die ein bestimmter Dienst erreichbar ist.
Die IP-Adresse zeigt auf deinen Server. Der Port zeigt auf einen bestimmten Dienst auf diesem Server.
Beispiel:
SSH
22
HTTP
80
HTTPS
443
RDP
3389
Minecraft Java
25565
MySQL / MariaDB
3306
PostgreSQL
5432
Wenn ein Port offen ist, kann ein Dienst darüber erreichbar sein.
Wenn ein Port blockiert ist, können Verbindungen zu diesem Port nicht aufgebaut werden.
Eingehende und ausgehende Verbindungen
Bei Firewall-Regeln unterscheidet man zwischen eingehenden und ausgehenden Verbindungen.
Eingehende Verbindungen
Eingehende Verbindungen kommen von außen zu deinem Server.
Beispiele:
du verbindest dich per SSH mit deinem Linux-Server
ein Besucher ruft deine Webseite auf
ein Spieler verbindet sich mit deinem Gameserver
du verbindest dich per Remote Desktop mit einem Windows Server
Diese Verbindungen solltest du bewusst erlauben.
Ausgehende Verbindungen
Ausgehende Verbindungen gehen von deinem Server ins Internet.
Beispiele:
dein Server lädt Updates herunter
eine Anwendung ruft eine externe API auf
ein Mailserver versendet E-Mails
ein Paketmanager verbindet sich mit einem Repository
Ausgehende Verbindungen werden bei vielen Standardkonfigurationen erlaubt. Trotzdem kann es sinnvoll sein, sie bei besonderen Sicherheitsanforderungen einzuschränken.
Grundregel für Firewalls
Erlaube nur die Ports, die du wirklich brauchst.
Alles andere sollte geschlossen bleiben.
Beispiele:
Wenn du nur eine Webseite betreibst, brauchst du meistens
80und443.Wenn du Linux verwaltest, brauchst du SSH, meistens Port
22.Wenn du Windows verwaltest, brauchst du RDP, meistens Port
3389.Wenn du einen Minecraft Server betreibst, brauchst du den Minecraft-Port, meistens
25565.
Typische Ports
SSH
22
Linux-Verwaltung
HTTP
80
unverschlüsselte Webseite
HTTPS
443
verschlüsselte Webseite
RDP
3389
Windows Remote Desktop
Minecraft Java
25565
Standardport für Minecraft Java
Minecraft Bedrock
19132
Standardport für Minecraft Bedrock
FTP
21
klassisches FTP, nicht empfohlen wenn SFTP möglich ist
SFTP
22
Dateiübertragung über SSH
MySQL / MariaDB
3306
sollte meistens nicht öffentlich offen sein
PostgreSQL
5432
sollte meistens nicht öffentlich offen sein
SMTP
25
Mailversand
IMAP
143
E-Mail-Abruf unverschlüsselt
IMAPS
993
E-Mail-Abruf verschlüsselt
SMTPS
465
Mailversand verschlüsselt
Submission
587
Mailversand für Clients
Welche Ports sollte ich öffnen?
Das hängt davon ab, was auf deinem Server laufen soll.
Linux-Server ohne Webseite
Wenn du deinen Linux-Server nur verwalten möchtest, reicht meistens:
SSH
22
Webseite auf Linux
Für eine normale Webseite brauchst du meistens:
SSH
22
HTTP
80
HTTPS
443
Windows Server
Für einen Windows Server brauchst du meistens:
RDP
3389
Wenn du zusätzlich eine Webseite oder Anwendung betreibst, kommen weitere Ports dazu.
Minecraft Server
Für Minecraft Java brauchst du meistens:
Minecraft Java
25565
Für Minecraft Bedrock brauchst du meistens:
Minecraft Bedrock
19132
Wenn du einen anderen Port konfiguriert hast, musst du genau diesen Port freigeben.
Datenbankserver
Datenbankports sollten in den meisten Fällen nicht öffentlich erreichbar sein.
Dazu gehören zum Beispiel:
MySQL / MariaDB:
3306PostgreSQL:
5432Redis:
6379MongoDB:
27017
Wenn eine Datenbank nur von einer Webseite auf demselben Server genutzt wird, muss der Port nicht öffentlich geöffnet werden.
Firewall unter Linux
Unter Linux wird häufig ufw verwendet. UFW steht für „Uncomplicated Firewall“ und ist eine einfache Oberfläche für Firewall-Regeln.
UFW installieren
Auf Debian oder Ubuntu kannst du UFW so installieren:
apt update && apt install ufw -y
SSH erlauben
Bevor du die Firewall aktivierst, solltest du SSH erlauben. Sonst kannst du dich möglicherweise selbst aussperren.
ufw allow 22/tcp
Oder kürzer:
ufw allow ssh
HTTP und HTTPS erlauben
Für Webseiten:
ufw allow 80/tcp
ufw allow 443/tcp
Minecraft Java erlauben
Für Minecraft Java mit Standardport:
ufw allow 25565/tcp
Minecraft Bedrock erlauben
Für Minecraft Bedrock mit Standardport:
ufw allow 19132/udp
Wichtig: Minecraft Bedrock nutzt in der Regel UDP.
Firewall aktivieren
Wenn die benötigten Ports erlaubt sind, kannst du UFW aktivieren:
ufw enable
Status prüfen
Mit folgendem Befehl prüfst du die aktiven Regeln:
ufw status
Ausführlicher:
ufw status verbose
Regel entfernen
Eine Regel kannst du zum Beispiel so entfernen:
ufw delete allow 25565/tcp
Wichtig bei SSH
Aktiviere die Firewall niemals, bevor SSH erlaubt ist.
Wenn du SSH blockierst, kannst du dich möglicherweise nicht mehr mit deinem Server verbinden.
In diesem Fall brauchst du die VNC-Konsole im Serverpanel, um die Firewall-Regeln zu korrigieren.
Firewall unter Windows Server
Unter Windows Server wird die Windows Defender Firewall verwendet.
Dort kannst du festlegen, welche Programme oder Ports erreichbar sein dürfen.
Port in Windows freigeben
Öffne die Windows-Suche.
Suche nach Windows Defender Firewall mit erweiterter Sicherheit.
Öffne den Bereich Eingehende Regeln.
Klicke auf Neue Regel.
Wähle Port.
Wähle TCP oder UDP.
Trage den gewünschten Port ein.
Wähle Verbindung zulassen.
Wähle die passenden Profile aus.
Vergib einen Namen für die Regel.
Speichere die Regel.
TCP oder UDP?
Nicht jeder Dienst nutzt dasselbe Protokoll.
TCP
zuverlässige Verbindung, zum Beispiel SSH, HTTP, HTTPS, RDP, Minecraft Java
UDP
schnelle Verbindung ohne feste Sitzung, zum Beispiel Minecraft Bedrock, einige Gameserver, Voice-Dienste
Wenn du den falschen Protokolltyp freigibst, funktioniert der Dienst möglicherweise trotzdem nicht.
Beispiel:
Minecraft Java: meistens TCP
Minecraft Bedrock: meistens UDP
Unterschied zwischen Dienst läuft und Port ist offen
Ein offener Port reicht nicht aus.
Damit ein Dienst erreichbar ist, müssen mehrere Dinge stimmen:
Der Dienst muss installiert sein.
Der Dienst muss gestartet sein.
Der Dienst muss auf dem richtigen Port lauschen.
Die Firewall muss den Port erlauben.
Die Anwendung muss korrekt konfiguriert sein.
Die Verbindung darf nicht durch eine weitere Firewall blockiert werden.
Wenn ein Webserver nicht läuft, hilft es nicht, Port 80 zu öffnen.
Wenn Minecraft auf Port 25570 läuft, hilft es nicht, nur Port 25565 zu öffnen.
Port prüfen unter Linux
Du kannst prüfen, ob ein Dienst auf einem Port lauscht.
Beispiel:
ss -tulpn
Für einen bestimmten Port:
ss -tulpn | grep 25565
Wenn dort kein Dienst angezeigt wird, läuft auf diesem Port wahrscheinlich nichts.
Firewall blockiert mich selbst
Wenn du dich nach einer Firewall-Änderung nicht mehr verbinden kannst, hast du vermutlich den Verwaltungsport blockiert.
Bei Linux betrifft das meistens SSH.
Bei Windows betrifft das meistens RDP.
Lösung:
Öffne das Serverpanel.
Starte die VNC-Konsole.
Melde dich direkt am Server an.
Prüfe die Firewall-Regeln.
Erlaube SSH oder RDP wieder.
Teste die Verbindung erneut.
Sicherheitsregeln
Öffne Ports nur, wenn du sie wirklich brauchst.
Besonders vorsichtig solltest du bei folgenden Ports sein:
22
SSH wird häufig automatisch angegriffen
3389
RDP ist ein häufiges Angriffsziel
3306
Datenbanken sollten selten öffentlich erreichbar sein
5432
PostgreSQL sollte selten öffentlich erreichbar sein
6379
Redis sollte nicht öffentlich erreichbar sein
27017
MongoDB sollte nicht ungeschützt öffentlich erreichbar sein
Empfehlungen
Öffne nur benötigte Ports.
Verwende sichere Passwörter.
Nutze SSH-Keys, wenn möglich.
Halte dein System aktuell.
Prüfe regelmäßig offene Ports.
Deaktiviere Dienste, die du nicht brauchst.
Erstelle vor größeren Änderungen ein Backup.
Teste Firewall-Änderungen direkt nach dem Speichern.
Häufige Probleme
SSH funktioniert nach Aktivierung der Firewall nicht mehr
Wahrscheinlich wurde Port 22 nicht erlaubt oder SSH läuft auf einem anderen Port.
Prüfe über die VNC-Konsole die Firewall-Regeln und erlaube den richtigen SSH-Port.
RDP funktioniert nicht mehr
Wahrscheinlich wurde Port 3389 blockiert oder Remote Desktop ist nicht aktiv.
Prüfe die Windows Defender Firewall über die VNC-Konsole.
Webseite ist nicht erreichbar
Prüfe:
läuft der Webserver?
sind Port
80und443geöffnet?zeigt die Domain auf die richtige IP-Adresse?
ist SSL korrekt eingerichtet?
blockiert eine Firewall die Verbindung?
Minecraft Server ist nicht erreichbar
Prüfe:
läuft der Minecraft Server?
ist der richtige Port in der Minecraft-Konfiguration gesetzt?
ist der Port in der Firewall geöffnet?
nutzt du TCP oder UDP korrekt?
verwendest du die richtige Serveradresse?
Datenbank ist nicht erreichbar
Prüfe zuerst, ob die Datenbank überhaupt öffentlich erreichbar sein soll.
In vielen Fällen sollte eine Datenbank nur lokal auf 127.0.0.1 erreichbar sein.
Support kontaktieren
Wenn du ein Firewall-Problem nicht lösen kannst, kontaktiere den Support.
Gib dabei bitte folgende Informationen an:
Betriebssystem
betroffener Dienst
betroffener Port
verwendetes Protokoll: TCP oder UDP
genaue Fehlermeldung
ob der Dienst lokal läuft
welche Firewall-Regeln gesetzt wurden
was du bereits versucht hast
Sende niemals Passwörter, private Schlüssel oder vertrauliche Zugangsdaten an den Support.
Zuletzt aktualisiert