So funktioniert’s
Jeder Dienst auf einem Server lauscht auf einem Port: Webserver auf 80 und 443, Mailserver auf 25, MySQL auf 3306, PostgreSQL auf 5432, RDP auf 3389. Nimmt ein Port Verbindungen von beliebigen Adressen im Internet an, ist der Dienst „offen“, unabhängig davon, ob ein Passwort davor liegt.
Auf einem Webserver sollten von außen nur die Ports erreichbar sein, die Besucher brauchen. Datenbanken, Caches wie Redis oder Memcached, Fernwartung (RDP, VNC, Telnet), Dateifreigaben (SMB) und Verwaltungsschnittstellen wie die Docker-API gehören hinter eine Firewall, in ein VPN oder auf localhost.
Oft werden solche Ports gar nicht bewusst geöffnet: Ein Docker-Container veröffentlicht seinen Port auf allen Schnittstellen, ein Server-Image startet MySQL ohne Bindung an localhost, oder eine Firewall-Regel für einen Test bleibt einfach stehen.
Warum gefährlich
Automatisierte Scanner durchsuchen ständig das gesamte IPv4-Internet nach offenen Datenbank- und Fernwartungsports. Ein erreichbarer Redis ohne Passwort, eine MongoDB mit Standardkonfiguration oder ein RDP-Zugang mit schwachem Passwort führt dann zu Datenabfluss, Ransomware oder einem übernommenen Server.
FTP und POP3/IMAP ohne TLS übertragen Zugangsdaten im Klartext. Und selbst ein gut geschützter Dienst vergrößert die Angriffsfläche: Jede Sicherheitslücke in seiner Software ist direkt aus dem Internet ausnutzbar.
So vermeidest du es
- Binde Datenbanken und Caches an localhost oder ein privates Netz statt an alle Schnittstellen.
- Sperre in der Firewall alles außer den benötigten Ports und erlaube Fernwartung nur über VPN oder für feste Adressen.
- Ersetze FTP durch SFTP und nutze für den Mailabruf IMAPS und POP3S auf den Ports 993 und 995.
- Prüfe bei Docker, welche Ports mit -p veröffentlicht werden, und binde sie bei Bedarf an 127.0.0.1.
- Kontrolliere nach jeder Serverinstallation und jedem Hosterwechsel von außen, welche Ports antworten.
So erkennt DomainWarn es
Der Check Offene Dienste baut täglich TCP-Verbindungen zu einer festen, kurzen Portliste der Website- und Mailserver-Adressen auf – kein Portscan, kein Banner, keine Daten. Offene Datenbank- und Cache-Ports (1433, 1521, 3306, 5432, 6379, 9200, 11211, 27017) und Fernwartung oder Freigaben (23, 3389, 5900, 445, 2375) sind kritisch und eröffnen die Incidents „Datenbankport offen“ bzw. „Fernwartungsport offen“. FTP (21) und POP3/IMAP ohne TLS (110, 143, nur auf Mailservern) sind Warnungen mit eigenen Incidents, SSH und übliche Alternativports (22, 8080, 8443, 8000, 9000) nur Hinweise.
Erwartete Dienste wie SSH auf dem eigenen Server markierst du als „erwartet“, dann zählen sie nicht. Hinter einem CDN wird nicht geprüft, weil dort die Server des Anbieters antworten, und Mailserver fremder Anbieter wie Google oder Microsoft bleiben außen vor. Der Betreiber schaltet den Check bewusst frei, er ist ab dem Tarif Freelancer verfügbar; ein neu geöffneter oder geschlossener Port steht in der Zeitleiste.
DomainWarn prüft das für alle deine Domains regelmäßig und meldet sich, wenn etwas fehlt oder sich ändert.