Mehr Netzwerk-Sicherheit

Ports scannen mit Nmap und Zenmap

Offene Ports sind potenzielle Einfalltore für Angreifer. Für die Konfiguration von Firewalls ist ein Verständnis der Ports daher unerlässlich. Mit dem Port-Scanner Nmap lassen sich die Sicherheit im Netzwerk überprüfen und Sicherheitslücken stopfen.

Der Löwenanteil der Internetkommunikation zum Browsen und für E-Mails läuft über das TCP- und das UDP-Protokoll ab. Jeder Anwendung, die mit dem Internet in Verbindung steht, weisen die Protokolle TCP und UDP eine Portnummer zu. So „weiß“ jedes Datenpaket, zu welcher Anwendung es gehört, der Port ist sozusagen die Adresse für einen bestimmten Typ von Internet-Daten. Ein HTTP-Paket für den Browser landet also nicht im Mailprogramm und ein Paket mit Mail findet den Weg in Ihren Mailclient und landet nicht im Browser, jedes Datenpaket erreicht dank der Portnummern sein richtiges Ziel.

Sockets sind die Adressen von PC und Servern

Komplettiert wird die Adresse eines Datenpaketes mit der IP-Adresse des Zielrechnerns. Die Kombination aus IP-Adresse des Zielrechners und Portnummer der Zielanwendung auf dem Zielrechner nennt man Socket. Zwei Sockets definieren eine Verbindung, einer für den Ausgangs- und einer für den Zielrechner. Dank des Sockets landet jedes Datenpakt auf dem richtigen Rechner in der richtigen Anwendung. Umgekehrt gibt es natürlich auch auf dem Server, der die Daten bereit stellt, die Sockets, sprich: Auch dort müssen die entsprechenden Ports geöffnet sein. Womit wir wieder beim Thema wären.

Der für eingehende Mails zuständige POP3-Server arbeitet beispielsweise am Port 110, ein Webserver lauscht am Port 80. Soll es ein andere Port sein, weil Sie zum Beispiel zwei Webserver gleichzeitig betreiben, müssen Sie das ausdrücklich so festlegen, beispielsweise bei Apache in dessen Konfigurationsdatei.

Jedes Datenpaket weiß also, an welchen Port es gerichtet ist. Dafür wird ihm nämlich im Header des Datensegments die Absender- und Ziel-Portnummer hinzugefügt. Das gilt sowohl für das TCP- als auch für das UDP-Protokoll.

Serverprozesse haben immer statische Portnummern, Clientanfragen bekommen dagegen bei jeder Anfrage eine dynamische Portnummer zugewiesen. Ein eindeutiges Socket für eine Anfrage an einen Webserver mit der IP-Adresse 192.168.1.18 kann beispielsweise folgendermaßen aussehen: 192.168.1.18:80. Und wenn der anfragende Clientrechner die IP-Adresse 192.168.100.12 hat, dann würde das Socket für die ausgelieferte Website folgendermaßen aussehen: 192.168.100.12:49152 – wobei letzteres der dynamisch zugeteilte Port für die Antwort wäre.