So öffnest du Ports und listest offene Ports unter Linux auf
Beim Arbeiten mit Netzwerken unter Linux kann es notwendig sein, einen Netzwerkport zu öffnen oder zu schließen. Das Port-Management ist ein wesentlicher Bestandteil der Sicherheit: Je weniger Ports in einem System geöffnet sind, desto weniger potenzielle Angriffsvektoren gibt es. Außerdem kann ein Angreifer keine Informationen über den Dienst auf einem bestimmten Port sammeln, wenn dieser geschlossen ist.
In dieser Anleitung wird erklärt, wie du Ports öffnen oder schließen kannst und wie du offene Ports unter Linux-Distributionen wie Ubuntu/Debian und CentOS/RHEL mit Firewalls wie ufw, firewalld und iptables überprüfst.
Wir demonstrieren diesen Prozess anhand von zwei Linux-Distributionen: Ubuntu 22.04 und CentOS 9, die auf einem Hostman VPS ausgeführt werden. Alle hier aufgeführten Befehle funktionieren auf allen Debian- oder RHEL-basierten Distributionen.
Was ist ein Netzwerkport? Link kopieren
Ports werden verwendet, um auf bestimmte Anwendungen und Protokolle zuzugreifen. Ein Server kann beispielsweise sowohl einen Webserver als auch eine Datenbank hosten – Ports leiten den Datenverkehr an den entsprechenden Dienst weiter. Technisch gesehen ist ein Netzwerkport eine nichtnegative Ganzzahl im Bereich von 0 bis 65535.
-
Reservierte Ports (0–1023): Werden von bekannten Protokollen und Netzwerkdiensten wie SSH (Port 22), FTP (Port 21), HTTP (Port 80) und HTTPS (Port 443) verwendet.
-
Registrierte Ports (1024–49151): Können von bestimmten Anwendungen für die Kommunikation verwendet werden.
- Dynamische Ports (49152–65535): Werden für temporäre Verbindungen verwendet und können dynamisch Anwendungen zugewiesen werden.
So öffnest du Ports auf Debian-basierten Linux-Distributionen Link kopieren
Auf Debian-basierten Systemen (Ubuntu, Debian, Linux Mint usw.) kannst du ufw (Uncomplicated Firewall) verwenden.
ufw ist auf den meisten APT-basierten Distributionen bereits vorinstalliert. Überprüfe die Installation mit:
ufw versionWenn eine Versionsnummer angezeigt wird, ist ufw installiert. Andernfalls installiere es mit:
apt update && apt -y install ufwStandardmäßig ist ufw inaktiv, was bedeutet, dass alle Ports geöffnet sind. Den Status kannst du mit folgendem Befehl prüfen:
ufw statusUm ufw zu aktivieren:
ufw enableDu musst die Aktivierung mit y bestätigen. Beachte, dass das Aktivieren von ufw aktive SSH-Verbindungen unterbrechen kann. Standardmäßig blockiert ufw allen eingehenden Verkehr und erlaubt allen ausgehenden Verkehr.
Überprüfe die Standardrichtlinie mit:
cat /etc/default/ufw
Ports in ufw öffnen Link kopieren
Um einen Port zu öffnen:
ufw allow <port_number>Beispiel – Port 22 für SSH öffnen:
ufw allow 22Mehrere Ports kannst du mit Kommas trennen und das Protokoll angeben (tcp oder udp):
ufw allow 80,443,8081,8443/tcp
ufw allow 80,443,8081,8443/udpAnstelle von Portnummern kannst du auch den Dienstnamen verwenden (wie in /etc/services definiert).

Beispiel – Telnet (Port 23) öffnen:
ufw allow telnetHinweis: Mehrere Dienstnamen können nicht gleichzeitig angegeben werden, sonst gibt ufw einen Fehler aus:

Um einen Portbereich zu öffnen:
ufw allow <start_port>:<end_port>/<protocol>Beispiel:
ufw allow 8000:8080/tcpPorts in ufw schließen Link kopieren
Um einen Port zu schließen:
ufw deny <port_number>Beispiel – Port 80 schließen:
ufw deny 80Auch hier kannst du statt der Portnummer den Dienstnamen verwenden. Beispiel – Port 21 (FTP) schließen:
ufw deny ftpOffene Ports in ufw anzeigen Link kopieren
Um alle offenen und geschlossenen Ports im System aufzulisten:
ufw status
Oder eine detailliertere Ansicht:
ufw status verboseEinen Port auf RHEL-basierten Linux-Distributionen öffnen Link kopieren
RHEL-basierte Distributionen (CentOS 7+, RHEL 7+, Fedora 18+, OpenSUSE 15+) verwenden standardmäßig firewalld.
Ports in firewalld öffnen Link kopieren
Überprüfe, ob firewalld installiert ist:
firewall-offline-cmd -VWenn eine Version angezeigt wird, ist firewalld installiert. Andernfalls installiere es:
dnf install firewalldStandardmäßig ist firewalld deaktiviert. Status prüfen:
firewall-cmd --stateZum Aktivieren:
systemctl start firewalldPort 8080 für das TCP-Protokoll öffnen:
firewall-cmd --zone=public --add-port=8080/tcp --permanent--zone=public: Gibt die Zone an, für die die Regel gilt.--add-port=8080/tcp: Gibt Port und Protokoll an.--permanent: Speichert die Regel dauerhaft (überlebt Neustarts).

Alternativ kannst du auch einen Dienstnamen angeben, z. B. HTTP (Port 80):
firewall-cmd --zone=public --add-service=http --permanentÄnderungen übernehmen:
firewall-cmd --reloadPorts in firewalld schließen Link kopieren
Um einen Port zu schließen (nach Nummer):
firewall-cmd --zone=public --remove-port=8080/tcp --permanent
Oder nach Dienstname:
firewall-cmd --zone=public --remove-service=http --permanentDanach immer neu laden:
firewall-cmd --reloadPorts mit iptables verwalten Link kopieren
Alle offenen Ports anzeigen:
firewall-cmd --list-portsPorts mit iptables verwalten Link kopieren
Im Gegensatz zu ufw und firewalld ist iptables bei vielen Distributionen (Ubuntu, Debian, RHEL, Rocky Linux, AlmaLinux) bereits vorinstalliert.
Ports in iptables öffnen Link kopieren
Um Port 8182 für eingehende Verbindungen zu öffnen:
iptables -A INPUT -p tcp --dport 8182 -j ACCEPT-A INPUT: Fügt eine Regel zur Eingabekette hinzu.-p tcp: Gibt das Protokoll an.--dport 8182: Gibt den zu öffnenden Port an.-j ACCEPT: Erlaubt Verkehr durch diesen Port.
Für ausgehende Verbindungen:
iptables -A OUTPUT -p tcp --dport 8182 -j ACCEPTUm einen Portbereich zu öffnen:
iptables -A INPUT -p tcp --match multiport --dports 1024:2000 -j ACCEPTPorts in iptables schließen Link kopieren
Um einen Port zu schließen:
iptables -A INPUT -p tcp --dport 8182 -j DROPPortbereich schließen:
iptables -A INPUT -p tcp --match multiport --dports 1024:2000 -j DROPiptables-Regeln speichern Link kopieren
Standardmäßig gehen iptables-Regeln nach einem Neustart verloren. Um sie dauerhaft zu speichern, installiere iptables-persistent:
Für APT-basierte Systeme:
apt update && apt -y install iptables-persistentFür DNF-basierte Systeme:
dnf -y install iptables-persistentRegeln speichern:
iptables-saveNach dem nächsten Neustart werden die Regeln automatisch geladen.
Offene Ports in iptables anzeigen Link kopieren
Alle aktuellen Regeln und offenen Ports auflisten:
iptables -L -v -nNur IPv4-Regeln anzeigen:
iptables -SNur IPv6-Regeln anzeigen:
ip6tables -SFazit Link kopieren
In dieser Anleitung haben wir gezeigt, wie man Netzwerkports unter Linux öffnet und schließt und wie man aktuell offene Ports mit drei verschiedenen Tools überprüft: ufw, firewalld und iptables. Eine korrekte Verwaltung von Ports verringert das Risiko potenzieller Netzwerkangriffe und hilft, Informationen über die auf diesen Ports laufenden Dienste zu verbergen.