Moderne Runenleserei

Ports sind die TĂĽren der Computer ins Internet. Portscans mit Programmen wie nmap verraten, welche davon offen stehen und welche geschlossen oder gar verriegelt sind.

vorlesen Druckansicht
Lesezeit: 11 Min.
Von
  • Daniel Bachfeld
Inhaltsverzeichnis

Portscanner gibt es wie Sand am Meer; der Rolls Royce unter ihnen ist immer noch nmap [1]. Mittlerweile gibt es auch ein grafisches Frontend, viele wichtige Scan-Optionen lassen sich aber weiterhin nur auf der Kommandozeile nutzen. Das Programm läuft auf den meisten Unix-Varianten sowie unter Windows und bietet eine ganze Reihe von verschiedenen Scans an.

Im einfachsten Fall ruft man nmap mit der IP-Adresse oder dem Namen des zu testenden Systems auf. Das kann der eigene Webserver oder die Internet-Adresse des Routers sein. Letzters erfolgt sinnvollerweise von auĂźen, im Zweifelsfall testet man vom Rechner eines Freundes aus. Schon dieser einfache so genannte TCP-Connect-Scan liefert oft interessante Ergebnisse. Er nutzt die normalen System-Funktionen und kommt mit normalen Benutzerrechten aus.

Ein Port kann sich nach Lesart von nmap neben "open" auch im Zustand "filtered", "closed" oder "unfiltered" befinden.

beachnet:~# nmap -P0 www.hackmee.com(The 1551 ports scanned but not shown below are in state: closed)
Port State Service
22/tcp filtered ssh
80/tcp open http
443/tcp open https

"open" zeigt an, dass ein Port erreichbar ist und auch einen echte Verbindung möglich war. Nmap absolvierte einen kompletten 3-Wege-Handshake: Es schickte ein SYN-Paket, erhielt als Antwort vom Server ein SYN/ACK und bestätigte dieses mit einem abschließenden ACK, das die Verbindung herstellt. Auf diesem Weg konnte nmap den Webserver von hackmee.com über Port 80 und 443 erreichen.

Ein Port im Zustand "filtered" bedeutet, dass der Scanner auf einen Verbindungsversuch überhaupt keine Antwort erhalten hat. Das lässt darauf schließen, dass eine Firewall die Verbindungsversuche auf Port 22 blockiert, indem sie ohne viel Aufhebens und ohne Benachrichtigung ankommende Pakete einfach verwirft. Man spricht hier auch von einer DROP-Regel.

Ist eine Filterregel auf REJECT gesetzt, so sendet die Firewall höflicherweise eine ICMP-Fehlermeldung "Port unreachable". Erhält nmap solch eine Antwort, stuft es den Port ebenfalls als "filtered" ein. Auf den meisten Firewalls ist aber DROP die bevorzugte Aktion, da das Wegwerfen von Paketen für einen Portscanner genauso aussieht, als wäre das Zielsystem nicht existent. Die Firewall kann somit sich und das dahinter liegende Netz tarnen - was natürlich nur funktioniert, wenn nicht wie im obigen Beispiel Ports offen sind.

Meldet nmap die Mehrzahl der Ports im Zustand "filtered", so verwirft die Firewall offenbar alle Pakete, für die keine expliziten Regeln definiert sind. Der Betreiber erspart sich damit die zusätzlichen Antwort-Pakete, dass der Dienst nicht verfügbar ist und verringert somit seine Netz- und Serverlast.

Im Beispiel deklariert nmap restlichen standardmäßig überprüften 1551 Ports jedoch als "closed". Das heißt, die Firewall ließ die Verbindungsanfragen durch und der Server antwortete TCP/IP-konform mit einem RST-Paket, weil auf diesem Port kein Dienst erreichbar war.