Ports sind wie Türen auf einem Server - jeder Dienst lauscht auf einem bestimmten Port. Diese Übersicht zeigt die wichtigsten Ports für Server-Administratoren.
Was sind Ports?
Ein Port ist eine Nummer von 0-65535, die einen Dienst auf einem Server identifiziert. Die Kombination aus IP-Adresse und Port bildet einen "Socket":
192.168.1.100:443 = IP + HTTPS-PortPort-Bereiche
| Bereich | Nummern | Bedeutung | |---------|---------|-----------| | Well-Known | 0-1023 | Standard-Dienste (benötigen Root) | | Registered | 1024-49151 | Registrierte Anwendungen | | Dynamic | 49152-65535 | Temporäre/Private Ports |
Webserver
| Port | Protokoll | Dienst | Beschreibung | |------|-----------|--------|--------------| | 80 | TCP | HTTP | Unverschlüsselter Webverkehr | | 443 | TCP | HTTPS | Verschlüsselter Webverkehr | | 8080 | TCP | HTTP Alt | Alternativer HTTP-Port | | 8443 | TCP | HTTPS Alt | Alternativer HTTPS-Port |
| Port | Protokoll | Dienst | Beschreibung | |------|-----------|--------|--------------| | 25 | TCP | SMTP | E-Mail-Versand (Server zu Server) | | 465 | TCP | SMTPS | SMTP über SSL (veraltet, aber genutzt) | | 587 | TCP | Submission | E-Mail-Einlieferung (Client zu Server) | | 110 | TCP | POP3 | E-Mail-Abruf (unverschlüsselt) | | 995 | TCP | POP3S | POP3 über SSL | | 143 | TCP | IMAP | E-Mail-Abruf (unverschlüsselt) | | 993 | TCP | IMAPS | IMAP über SSL |
Fernzugriff
| Port | Protokoll | Dienst | Beschreibung | |------|-----------|--------|--------------| | 22 | TCP | SSH | Secure Shell (Fernzugriff) | | 23 | TCP | Telnet | Unverschlüsselter Fernzugriff (unsicher!) | | 3389 | TCP | RDP | Windows Remote Desktop | | 5900 | TCP | VNC | Virtual Network Computing |
Datenbanken
| Port | Protokoll | Dienst | Beschreibung | |------|-----------|--------|--------------| | 3306 | TCP | MySQL/MariaDB | MySQL-Datenbank | | 5432 | TCP | PostgreSQL | PostgreSQL-Datenbank | | 1433 | TCP | MSSQL | Microsoft SQL Server | | 27017 | TCP | MongoDB | MongoDB | | 6379 | TCP | Redis | Redis Key-Value Store | | 11211 | TCP/UDP | Memcached | Memcached Cache |
Dateitransfer
| Port | Protokoll | Dienst | Beschreibung | |------|-----------|--------|--------------| | 20 | TCP | FTP-Data | FTP Datentransfer | | 21 | TCP | FTP | FTP Steuerung | | 22 | TCP | SFTP | SSH File Transfer | | 69 | UDP | TFTP | Trivial FTP | | 873 | TCP | rsync | rsync Daemon | | 445 | TCP | SMB | Windows Dateifreigabe |
DNS
| Port | Protokoll | Dienst | Beschreibung | |------|-----------|--------|--------------| | 53 | TCP/UDP | DNS | Domain Name System | | 853 | TCP | DoT | DNS over TLS | | 443 | TCP | DoH | DNS over HTTPS |
Weitere wichtige Ports
| Port | Protokoll | Dienst | Beschreibung | |------|-----------|--------|--------------| | 123 | UDP | NTP | Zeitsynchronisation | | 161 | UDP | SNMP | Netzwerk-Monitoring | | 389 | TCP | LDAP | Verzeichnisdienst | | 636 | TCP | LDAPS | LDAP über SSL | | 1194 | UDP | OpenVPN | VPN | | 51820 | UDP | WireGuard | Modernes VPN | | 9090 | TCP | Cockpit | Linux Web-Admin | | 10000 | TCP | Webmin | Server-Administration |
Container & Orchestrierung
| Port | Protokoll | Dienst | Beschreibung | |------|-----------|--------|--------------| | 2375 | TCP | Docker | Docker API (unverschlüsselt) | | 2376 | TCP | Docker | Docker API (TLS) | | 6443 | TCP | Kubernetes | Kubernetes API | | 9000 | TCP | Portainer | Docker-Verwaltung |
Firewall-Konfiguration
Nur benötigte Ports öffnen
# UFW Beispiel
ufw default deny incoming
ufw allow ssh
ufw allow http
ufw allow https
ufw enableiptables Beispiel
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPTPorts prüfen
Offene Ports anzeigen
# Alle lauschenden Ports
ss -tulpn
# Nur TCP
ss -tlpn
# Mit netstat (älter)
netstat -tulpnPort von außen testen
# Mit nc (netcat)
nc -zv server.example.com 443
# Mit telnet
telnet server.example.com 443
# Mit nmap
nmap -p 22,80,443 server.example.comWelcher Dienst nutzt einen Port?
ss -tlpn | grep :80
# oder
lsof -i :80Sicherheitshinweise
Niemals öffnen (wenn nicht nötig)
- Port 23 (Telnet) - Immer SSH verwenden
- Port 3306 (MySQL) - Nur lokal oder über SSH-Tunnel
- Port 6379 (Redis) - Standardmäßig ohne Auth
Ports ändern (Security through Obscurity)
SSH auf anderem Port reduziert automatisierte Angriffe:
# /etc/ssh/sshd_config
Port 2222Hinweis: Kein echter Schutz, aber reduziert Lärm in den Logs.
Interne Dienste
Datenbanken und Caches sollten nur auf localhost lauschen:
bind-address = 127.0.0.1TCP vs. UDP
| Aspekt | TCP | UDP | |--------|-----|-----| | Verbindung | Verbindungsorientiert | Verbindungslos | | Zuverlässigkeit | Garantierte Zustellung | Best Effort | | Reihenfolge | Garantiert | Nicht garantiert | | Geschwindigkeit | Langsamer | Schneller | | Typische Dienste | HTTP, SSH, E-Mail | DNS, VPN, Streaming |
Fazit
Die wichtigsten Ports für Webserver: 22 (SSH), 80 (HTTP), 443 (HTTPS). Für E-Mail: 25, 587, 993. Datenbanken sollten nur lokal erreichbar sein. Öffnen Sie in der Firewall nur die Ports, die Sie wirklich brauchen.