Jag_cz - Fotolia

Mit Nmap Firewall-Regeln testen

Nmap ermöglicht es, potenzielle Schwachstellen in den Firewall-Regeln aufzuspüren. Dadurch lassen sich Lücken in den Sicherheits-Frameworks einfach und kostengünstig schließen.

Firewalls sind eine wichtige Sicherheitskomponente in jeder Computerumgebung. Sie filtern den Netzwerk-Traffic und kontrollieren den Paketfluss zwischen Netzwerken oder Netzwerksegmenten. Host-basierte Firewalls kontrollieren ein- und ausgehende Verbindungen auf einzelnen Workstations und Servern.

Administratoren definieren Regeln, die festlegen, wie Firewalls Datenverkehr zulassen oder abweisen. Diese Regeln müssen richtig angewandt werden, um das Netzwerk vor verschiedenen Bedrohungen zu schützen. Zu diesem Zweck müssen Administratoren die Firewall-Konfigurationen sorgfältig testen, um zu gewährleisten, dass die richtigen Regeln vorhanden sind und entsprechend durchgesetzt werden. An dieser Stelle kommt das Testen von Firewall-Regeln mit Nmap ins Spiel.

Nmap ist ein leistungsstarker Port-Scanner und Auditing-Tool mit vielen Optionen, um die Konnektivität zu testen. Auf diese Weise können Administratoren den Netzwerk-Traffic und die Firewall-Konfigurationen besser verstehen und verwalten.

Dieser Artikel stellt verschiedene Möglichkeiten vor, Firewall-Einstellungen mit verschiedenen Nmap-Scans zu überprüfen. Nutzen Sie diese Methoden, um die Firewall-Konfigurationen in Ihrer Umgebung zu überprüfen.

Hinweis der Redaktion: Nmap und andere Tools, die in diesem Artikel behandelt werden, können auf rechtmäßige und für Sicherheitsfachleute hilfreiche Weise eingesetzt werden. Sie lassen sich aber auch illegal, unrechtmäßig und unethisch nutzen. Vergewissern Sie sich, dass jeder geplante Einsatz ethisch, rechtmäßig und legal ist. Wenn Sie sich hinsichtlich der Rechtmäßigkeit nicht sicher sind, verzichten Sie auf die Nutzung, bis Sie Gewissheit haben. Dies kann einige Recherchen Ihrerseits erfordern, zum Beispiel eine offene Diskussion mit internen Beratern oder Juristen über Ihr Vorhaben.

Warum sollte man Firewalls testen?

Durch sorgfältiges Testen der Firewall-Einstellungen können Sie sich davon überzeugen, dass der entsprechende Traffic zu den gewünschten Subnetzen, Servern, Workstations oder anderen Geräten fließt. Nmap meldet die Ergebnisse seiner Verbindungsversuche und bietet drei Hauptantworten an:

  1. Open (Offen): Ports, die Verbindungen über TCP (Transmission Control Protocol) oder UDP (User Datagram Protocol) akzeptieren, auf die böswillige Akteure oft abzielen.
  2. Closed (Geschlossen): Ports ohne dazugehörige lauschende Anwendungen, aber dennoch nützlich für die Betriebssystemerkennung oder Scans des Host-Status.
  3. Filtered (Gefiltert): Ports, die keine Nmap-Verbindungen akzeptieren – daher kann Nmap ihren Status nicht bestimmen. Paketfilterregeln von Firewalls oder Routern können gefilterte Ports schützen.

Achten Sie auf diese Ergebnisse, wenn Sie die Ausgabe von Nmap nach dem Scannen interpretieren. Es empfiehlt sich zudem, den TCP-Drei-Wege-Handshake zu überprüfen, weil viele der Nmap-Optionen und -Flags von seiner Funktionalität abhängen.

So testen Sie die Firewall-Einstellungen mit Nmap

Nmap ist ein umfassendes Tool, das zahlreiche Optionen bietet. Es verfügt über eine ausführliche Dokumentation und eine große Bibliothek mit Scan-Skripten, die seine Funktionalität erweitern. Außerdem gibt es online eine Fülle von Anwendungstipps. Die grafische Zenmap-Bedienoberfläche ermöglicht es sowohl neuen als auch erfahrenen Benutzern, schnell die benötigten Informationen zu erhalten.

Die allgemeine Syntax für Nmap-Befehle folgt dem üblichen Linux-Standard:

Befehl -Optionen/Flags Argument

Sie können eine bestimmte IP-Adresse oder einen Adressbereich als Ziel angeben:

nmap -sS 192.168.2.200

Sie haben auch die Möglichkeit, bestimmte Portnummern anzugeben, die Nmap überprüfen soll:

nmap -p<Ports> -sS <IP>
nmap -p22,3389 -sS 192.168.2.200

Beachten Sie, dass die Portnummern nach dem Flag -p ohne Leerzeichen folgen.

In den folgenden Abschnitten finden Sie verschiedene Ansätze für Firewall-Tests mit Nmap unter Verwendung dieser Syntax.

Nmap: TCP-SYN-Scan

Diese Scan-Option sendet die initiale TCP-SYN-Anfrage wie jeder andere Client. Das Zielsystem sollte mit einem SYN/ACK antworten, wenn der Port lauscht, oder mit RST (Reset), falls nicht. SYN-Scans sind schnell und einfach zu interpretieren. Sie sind unauffällig genug, um vielen Netzwerkmonitoren zu entgehen.

nmap -sS 192.168.2.200

Es kann hilfreich sein, Ihren Scan auf die Ergebnisse der TCP- oder UDP-Transportschicht zu beschränken. Wenn Sie Ihre Netzwerkuntersuchung fortsetzen, müssen Sie Ihre Scans unter Umständen auf bestimmte Protokolle konzentrieren.

Nmap: TCP-ACK-Scan

Nmap-ACK-Scans erkennen keine offenen oder geschlossenen Ports. Stattdessen erkennen diese Scans gefilterte Ports und Firewall-Regeln. Hier ist ein Beispiel für die Syntax:

nmap -sA 192.168.2.200

Ein ACK-Scan kann nützlich sein, um sich ein Bild vom Netzwerk zu verschaffen und zu verstehen, welche Regelsätze das Netzwerk steuern.

Nmap-Stealth-Scan

Ein anderer Ansatz besteht darin, einen Nmap-Stealth-Scan zu nutzen. Nmap verwendet Stealth-Scans, um die Wahrscheinlichkeit zu minimieren, von Intrusion-Detection-Systemen (IDS) oder anderen Monitoring Tools entdeckt zu werden. Ein Stealth-Scan ist effektiv, da er den TCP-Drei-Wege-Handshake nicht abschließt. Stattdessen empfängt er die SYN/ACK-Antwort des Zielsystems auf den initialen SYN-Verbindungsversuch von Nmap, sendet aber RST, anstatt die Verbindung zu beenden.

Nachfolgend ein Überblick über einen normalen TCP-Drei-Wege-Handshake.

Nmap-Client sendet SYN --> Zielserver
Nmap-Client empfängt <--- SYN/ACK von Zielserver
Nmap-Client sendet ACK --> Zielserver

Im Gegensatz dazu ein Überblick über einen TCP-Drei-Wege-Handshake per Stealth-Scan.

Nmap-Client sendet SYN --> Zielserver
Nmap-Client empfängt <-- SYN/ACK von Zielserver
Nmap-Client sendet RST --> Zielserver

Mit Stealth-Scans lässt sich eine Entdeckung vermeiden. Außerdem sind sie schnell beendet, was sie effizient macht. Probieren Sie die folgenden drei Stealth-Scans gegen die Ziel-Firewall aus.

Der erste Scan sendet eine FIN-Nachricht, die bei geschlossenen Ports zu einem RST der Firewall führen oder bei offenen Ports ignoriert werden sollte. Die FIN-Nachricht versucht, die Verbindung ordnungsgemäß zu beenden. Da keine Verbindung besteht, antwortet das Ziel mit RST.

-sF (FIN-Scan)

Die Ergebnisse sind nicht immer genau. Daher sollten Sie diesen Scan mit anderen kombinieren, um möglichst vollständige Informationen zu erhalten.

Die folgenden beiden Scans ähneln dem FIN-Ansatz, helfen aber möglicherweise, bestimmte Filter zu umgehen.

-sX (XMAS-Scan)

-sN (NULL-Scan)

Wenn Sie die XMAS- und NULL-Scans zusammen mit einem FIN-Scan nutzen, kann das helfen, die Ergebnisse zu präzisieren oder einzugrenzen. Sie sollten sich aber bewusst sein, dass Sie so eventuell nicht alle offenen Ports erkennen.

Mit Nmap das Betriebssystem ermitteln

Scans zur Identifizierung des Betriebssystems mögen auf den ersten Blick nicht nützlich erscheinen. Doch Sie können anhand der Ergebnisse einige ziemlich genaue Aussagen treffen.

Nehmen wir beispielsweise an, Nmap meldet, dass die Ports 135, 137 und 139 lauschen. Diese Antwort deutet auf die Verwendung des älteren SMB-Protokolls (Server Message Block) für die Windows-Dateifreigabe hin. Die moderne SMB-Portnummer ist 445. Daher lassen Ergebnisse mit diesen Portnummern auf ein Windows-System schließen.

Ein Nmap-Scan der gängigen Windows-Ports für die Dateifreigabe.
Abbildung 1: Ein Nmap-Scan der gängigen Windows-Ports für die Dateifreigabe.
Die Windows-Firewall zeigt die gleichen Ports als offen an.
Abbildung 2: Die Windows-Firewall zeigt die gleichen Ports als offen an.

Oder was ist mit Port 3389? Er unterstützt in der Regel das Remote Desktop Protocol (RDP), ein gängiges Protokoll für die Remote-Verwaltung von Windows mit Remote-Desktop-Anwendungen. Auch dies ist ein weiteres Indiz für ein Windows-System.

Nmap-Scan nach RDP-Port 3389.
Abbildung 3: Nmap-Scan nach RDP-Port 3389.

Vielleicht melden die Nmap-Ergebnisse auch, dass Port 22 lauscht. Linux-Systeme setzen mehr auf SSH-Remote-Administration als Windows, deshalb handelt es sich wahrscheinlich um eine Linux-basierte Umgebung.

Nmap und andere Utilities

Eine andere Methode, Firewall-Regeln mit Nmap zu testen, besteht darin, Ergebnisse von anderen Netzwerksicherheits-Tools hinzuzufügen. Lassen Sie zum Beispiel zunächst einen Protokollanalysator wie tcpdump oder Wireshark laufen, um Traffic-Daten zu sammeln. Diese Analysatoren erfassen Pakete, und wenn Sie sich die Header genau ansehen, können Sie die genutzten Services und zugehörigen Ports erkennen. Passen Sie Ihre Nmap-Scans so an, dass sie diese Informationen berücksichtigen, um noch genauere Firewall-Scanergebnisse zu erhalten.

Angenommen, Sie führen ein Wireshark-Capture durch, das sehr viel SSH-basierten Datenverkehr zeigt. Sie stellen fest, dass die Nummer des SSH-Zielports nicht wie standardmäßig 22, sondern 2222 lautet. Dies lässt vermuten, dass der Administrator den Standard-SSH-Port geändert hat, wie es gängige Praxis ist. Sie wissen nun, dass Sie speziell nach Port 2222 scannen sollten, um mehr über die Konfiguration der Firewall für SSH-Verbindungen herauszufinden.


Einige Administratoren ändern die Datei sshd_config, damit SSH auf einem anderen als dem Standardport lauscht, zum Beispiel auf Port 2222.
Abbildung 4: Einige Administratoren ändern die Datei sshd_config, damit SSH auf einem anderen als dem Standardport lauscht, zum Beispiel auf Port 2222.
Aktualisieren Sie Ihre Firewall-Regeln, wenn Sie den Standardport ändern.
Abbildung 5: Aktualisieren Sie Ihre Firewall-Regeln, wenn Sie den Standardport ändern.

Abschließende Überlegungen

Für viele, die sich mit IT-Sicherheit beschäftigen, ist Nmap eines der ersten Tools, das sie zu schätzen gelernt haben. Es ist nicht nur praktisch und flexibel, sondern liefert auch eine Vielzahl an Informationen. Firewall-Regeln mit Nmap zu testen, ist eine hervorragende Methode, um Netzwerkumgebungen zu überprüfen, Ressourcen abzubilden und Fehlkonfigurationen aufzuspüren, die Systeme angreifbar machen könnten. Es ist sogar noch effektiver, wenn es mit Tools wie Wireshark kombiniert wird.

Experimentieren Sie mit den verschiedenen Optionen und Skripten, um die passende Kombination von Flags zu finden, die die nützlichsten Ergebnisse liefert. Beginnen Sie jetzt, Ihre Firewalls per Nmap zu scannen, um die Sicherheit in Ihrer Umgebung zu gewährleisten.

Erfahren Sie mehr über Netzwerksoftware