Einführung
In diesem Lab lernen Sie, wie Sie mit Nmap häufig verwendete Netzwerkports scannen. Portscans sind eine wichtige Technik in der Netzwerksicherheit. Sie helfen dabei, offene Ports auf einem Zielsystem zu erkennen. Diese offenen Ports können potenzielle Einstiegspunkte für Angreifer sein. Deshalb gehören Portscans zu den grundlegenden Fähigkeiten von Netzwerkadministratoren und Sicherheitsexperten.
Wenn Sie Nmap beherrschen, ein leistungsstarkes Open-Source-Tool für Netzwerkscans, können Sie aktive Dienste in einem Netzwerk entdecken, Sicherheitslücken bewerten und die Integrität Ihrer Systeme wahren.
Netzwerkports verstehen und einen Webserver installieren
In diesem Schritt lernen Sie, was Netzwerkports sind und warum sie für die Cybersicherheit wichtig sind. Netzwerkports ermöglichen die Kommunikation zwischen verschiedenen Anwendungen und Diensten in einem Computernetzwerk. Sie dienen als Schnittstellen, über die Daten in ein System hinein- und aus ihm herausfließen. Wer sich mit Netzwerksicherheit beschäftigt, sollte dieses Konzept daher verstehen.
Was sind Netzwerkports?
Netzwerkports sind virtuelle Kommunikationsendpunkte in einem Computernetzwerk. Stellen Sie sie sich als Türen vor, durch die verschiedene Anwendungen und Dienste Daten senden und empfangen. So können mehrere Anwendungen und Dienste die Netzwerkressourcen desselben Systems gemeinsam nutzen, ohne sich gegenseitig zu stören. Ports werden durch Nummern von 0 bis 65535 gekennzeichnet. Die Nummernbereiche sind bestimmten Zwecken zugeordnet:
- Ports 0 - 1023: Diese bekannten Ports sind für Standarddienste reserviert. HTTP (für den Zugriff auf Webseiten) verwendet zum Beispiel üblicherweise Port 80, FTP (für die Dateiübertragung) Port 21 und SSH (für den sicheren Fernzugriff) Port 22.
- Ports 1024 - 49151: Dies sind registrierte Ports für bestimmte Anwendungen. Softwareentwickler können eine bestimmte Portnummer für ihre Anwendung registrieren.
- Ports 49152 - 65535: Dies sind dynamische oder private Ports. Anwendungen verwenden sie, wenn sie eine temporäre Verbindung herstellen müssen.
Einen Webserver für den Scan einrichten
Für die Übung richten wir zunächst einen Webserver auf dem lokalen Computer ein. Ein Webserver ist ein Programm, das Dateien, aus denen Webseiten bestehen, über HTTP (Hypertext Transfer Protocol) an Benutzer ausliefert. Wenn ein Benutzer eine Website-Adresse in den Browser eingibt, sendet der Browser eine Anfrage an den Webserver. Dieser antwortet mit den entsprechenden Webseiten. Webserver verwenden standardmäßig Port 80.
Öffnen Sie im LabEx-VM-Umfeld ein Terminalfenster. Das Terminal bietet eine textbasierte Schnittstelle, über die Sie mit eingegebenen Befehlen mit dem Betriebssystem interagieren. Sie sollten sich im Standardverzeichnis /home/labex/project befinden. Prüfen Sie Ihr aktuelles Verzeichnis mit folgendem Befehl:
pwd
pwd steht für „print working directory“ (Arbeitsverzeichnis ausgeben). Der Befehl zeigt den Pfad Ihres aktuellen Verzeichnisses an. Die Ausgabe sollte in etwa so aussehen:
/home/labex/project
Installieren Sie den Apache2-Webserver:
sudo apt update && sudo apt install apache2 -y
Mit sudo führen Sie Befehle mit Administratorrechten aus. apt update aktualisiert die Paketinformationen auf Ihrem System. apt install apache2 -y installiert den Apache2-Webserver. Die Option -y bestätigt Installationsabfragen automatisch mit „yes“.
Starten Sie den Apache2-Dienst:
sudo service apache2 start
Mit service verwalten Sie Systemdienste. Hiermit starten Sie Apache2, damit der Dienst eingehende Anfragen annehmen kann.
Prüfen Sie, ob Apache2 ordnungsgemäß läuft:
sudo service apache2 status
Die Option status zeigt den aktuellen Zustand des Apache2-Dienstes an. Die Ausgabe sollte etwa so aussehen:
* apache2 is running
Sie können auch prüfen, ob der Webserver erreichbar ist: Erstellen Sie dazu einen neuen Tab „Web Service“. Klicken Sie oben in der Tab-Leiste der virtuellen Umgebung auf das Symbol +, wählen Sie „Web Service“ aus und geben Sie Port 80 ein. Wenn alles korrekt eingerichtet ist, wird die Apache2-Standard-Willkommensseite angezeigt.
Der Webserver läuft nun auf Ihrem System und hat Port 80 für die Kommunikation geöffnet. Im nächsten Schritt verwenden Sie Nmap, um diesen offenen Port zu finden.
Nmap kennenlernen und häufig verwendete Ports scannen
In diesem Schritt ermitteln Sie mit Nmap, welche Ports auf dem eingerichteten Webserver-System geöffnet sind. Offene Ports zu kennen, ist für die Netzwerksicherheit wichtig, da sie potenzielle Einstiegspunkte für Angreifer darstellen können. Mit Nmap können Sie diese Ports erkennen und geeignete Sicherheitsmaßnahmen ergreifen.
Was ist Nmap?
Nmap, kurz für Network Mapper, ist ein bekanntes, kostenloses Open-Source-Tool für die Netzwerkerkennung und Sicherheitsüberprüfungen. Es bietet zahlreiche Einsatzmöglichkeiten im Bereich der Netzwerksicherheit:
- Hosts und Dienste in einem Netzwerk entdecken: Mit Nmap können Sie ermitteln, welche Geräte mit einem Netzwerk verbunden sind und welche Dienste sie anbieten. So lässt sich zum Beispiel feststellen, ob sich ein Datei-, Web- oder Mailserver im Netzwerk befindet.
- Eine Bestandsaufnahme der Systeme in einem Netzwerk erstellen: Mit Nmap können Sie alle Systeme eines Netzwerks samt IP-Adressen und laufenden Diensten auflisten. Diese Übersicht hilft Netzwerkadministratoren bei der Verwaltung und Wartung des Netzwerks.
- Offene Ports auf Zielsystemen ermitteln: Ports sind wie Türen zu einem Computer. Ein offener Port bedeutet, dass ein Dienst Verbindungen annimmt. Nmap kann ein Zielsystem scannen und feststellen, welche Ports geöffnet sind.
- Betriebssysteme und Dienstversionen von Netzwerkhosts identifizieren: Die Kenntnis der Betriebssysteme und Dienstversionen eines Hosts hilft Sicherheitsexperten festzustellen, ob bekannte Sicherheitslücken vorliegen, die Angreifer ausnutzen könnten.
Häufig verwendete Ports mit Nmap scannen
Nmap bietet verschiedene Scanoptionen. Für den Einstieg eignet sich der schnelle Scan (-F). Standardmäßig scannt Nmap 1000 Ports. Das kann längere Zeit dauern. Die Option -F beschränkt den Scan auf die 100 häufigsten Ports und macht ihn dadurch deutlich schneller.
Führen Sie auf Ihrem lokalen Computer einen schnellen Scan durch, um den gerade eingerichteten Webserver zu finden:
Öffnen Sie das Terminal und starten Sie einen schnellen Scan des lokalen Systems:
nmap -F localhost
Der Befehl besteht aus drei Teilen:
nmap: Startet das Netzwerkscan-Tool.-F: Aktiviert den schnellen Scan und beschränkt ihn auf die 100 häufigsten Ports.localhost: Gibt Ihren lokalen Computer mit der IP-Adresse 127.0.0.1 als Ziel an.
Nach der Ausführung des Befehls sehen Sie eine ähnliche Ausgabe:
Starting Nmap 7.80 ( https://nmap.org ) at 2023-XX-XX XX:XX UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000097s latency).
Not shown: 96 closed ports
PORT STATE SERVICE
80/tcp open http
Nmap done: 1 IP address (1 host up) scanned in X.XX seconds
Die Ausgabe enthält wichtige Informationen:
- Der Scan wurde auf Ihrem lokalen Computer mit der IP-Adresse 127.0.0.1 ausgeführt.
- Port 80 ist geöffnet und stellt den HTTP-Dienst bereit. Dabei handelt es sich um den zuvor installierten Apache-Webserver, der standardmäßig auf Port 80 lauscht.
- Die anderen häufig verwendeten Ports sind geschlossen und werden nicht einzeln aufgeführt.
Weitere Informationen, darunter die Versionen der Dienste auf geöffneten Ports, erhalten Sie mit folgendem Befehl:
nmap -sV -F localhost
Die Option -sV ermittelt die Versionen der Dienste auf geöffneten Ports. Die Ausgabe enthält dann mehr Details:
Starting Nmap 7.80 ( https://nmap.org ) at 2023-XX-XX XX:XX UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000097s latency).
Not shown: 96 closed ports
PORT STATE SERVICE VERSION
80/tcp open http Apache httpd 2.4.X
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in X.XX seconds
Die Ausgabe bestätigt, dass der Apache-Webserver auf Port 80 läuft, und nennt seine Version.
Scanergebnisse verstehen
Die Scanergebnisse zeigen, dass Port 80 geöffnet ist und den HTTP-Dienst bereitstellt. Das ist zu erwarten, da wir den Apache-Webserver installiert und gestartet haben. Apache lauscht standardmäßig auf Port 80. In der Praxis ist es für Sicherheitsexperten sehr wichtig zu wissen, welche Ports geöffnet sind:
- Potenzielle Sicherheitslücken erkennen: Für verschiedene Dienste auf geöffneten Ports können bekannte Sicherheitslücken bestehen. Wenn Sicherheitsexperten wissen, welche Ports geöffnet sind und welche Dienste dort laufen, können sie mögliche Sicherheitsrisiken überprüfen.
- Nur notwendige Dienste betreiben: Unnötige Dienste auf geöffneten Ports vergrößern die Angriffsfläche. Mithilfe der Erkennung offener Ports können Sicherheitsexperten sicherstellen, dass nur tatsächlich benötigte Dienste laufen.
- Prüfen, ob die Firewall wie vorgesehen konfiguriert ist: Firewalls kontrollieren ein- und ausgehenden Netzwerkverkehr. Mit einem Portscan können Sicherheitsexperten überprüfen, ob die Firewall die vorgesehenen Ports blockiert oder freigibt.
Scanergebnisse dokumentieren und Auswirkungen auf die Sicherheit verstehen
In der Netzwerksicherheit ist es wichtig, die Ergebnisse der eigenen Untersuchung zu dokumentieren. Nmap bietet integrierte Funktionen zur Ausgabe von Berichten, mit denen sich Scanergebnisse effizienter festhalten lassen. In diesem Schritt erstellen Sie Nmap-Berichte, analysieren die Ergebnisse und besprechen die Auswirkungen offener Ports auf die Sicherheit. Zum Schluss stoppen Sie die für dieses Lab gestarteten Dienste, damit die Systemsicherheit gewahrt bleibt.
Mit Nmap Berichte erstellen
Nmap kann Scanergebnisse direkt in verschiedenen Berichtsformaten ausgeben, darunter Klartext, XML, JSON und weitere Formate. Das ist effizienter und genauer, als Berichte manuell zu erstellen. Verwenden Sie die Ausgabeoptionen von Nmap, um einen Bericht zu erstellen:
Führen Sie einen Nmap-Scan mit Ausgabeoptionen aus:
nmap -F -sV localhost -oN /home/labex/project/nmap_report.txt
Dieser Befehl verwendet folgende Optionen:
-Fführt einen schnellen Scan durch und scannt nur die 100 häufigsten Ports.-sVversucht, die Versionen der Dienste auf geöffneten Ports zu ermitteln.-oN /home/labex/project/nmap_report.txtspeichert die Ausgabe im Klartextformat in der angegebenen Datei.
Rufen Sie den erstellten Bericht auf:
cat /home/labex/project/nmap_report.txt
Der Bericht enthält die vollständigen Scaninformationen, darunter:
- Datum und Uhrzeit des Scans
- Informationen zum Ziel
- Liste der geöffneten Ports
- Dienste und Versionen auf den einzelnen geöffneten Ports
Weitere Berichtsformate
Nmap unterstützt mehrere Ausgabeformate für unterschiedliche Zwecke:
-oX filename- Ausgabe im XML-Format, geeignet für die automatisierte Verarbeitung-oG filename- Ausgabe im Grepable-Format, praktisch für die Suche mit grep-oJ filename- Ausgabe im JSON-Format, geeignet für moderne Anwendungen-oA filename- Gleichzeitige Ausgabe in allen Formaten (Normal, XML und Grepable)
Erstellen Sie zum Beispiel einen Bericht im XML-Format:
nmap -F -sV localhost -oX /home/labex/project/nmap_report.xml
Auswirkungen der Scanergebnisse auf die Sicherheit verstehen
Unser Scanbericht zeigt, dass Port 80/tcp geöffnet ist und einen HTTP-Dienst ausführt (Apache-Webserver). Das hat mehrere wichtige Auswirkungen auf die Sicherheit:
- Möglicher Einstiegspunkt für Angriffe: Offene Ports sind wie Türen in einem Gebäude. Jeder offene Port kann Angreifern möglicherweise einen Zugang zu Ihrem System bieten.
- Risiken durch Sicherheitslücken in Diensten: Dienste auf geöffneten Ports können Sicherheitslücken aufweisen, die Angreifer ausnutzen könnten.
- Überwachungsbedürftiger Kommunikationskanal: Über offene Ports findet Kommunikation statt. Sie müssen die Aktivitäten auf diesen Ports überwachen, um ungewöhnliches Verhalten zu erkennen.
Beachten Sie die folgenden bewährten Maßnahmen, um die Ports abzusichern:
- Lassen Sie nur notwendige Ports geöffnet: Unnötig geöffnete Ports vergrößern die Angriffsfläche Ihres Systems.
- Aktualisieren Sie regelmäßig die Dienste, die diese Ports verwenden: Updates enthalten häufig Sicherheitskorrekturen für bekannte Schwachstellen.
- Beschränken Sie den Zugriff mit Firewall-Regeln: Firewalls helfen dabei zu kontrollieren, wer über bestimmte Ports auf Ihr System zugreifen kann.
- Überwachen Sie die Portaktivität auf ungewöhnliche Muster: So können Sie potenzielle Bedrohungen rechtzeitig erkennen und darauf reagieren.
Lab aufräumen
Nachdem Sie den Scan abgeschlossen haben, stoppen Sie den Apache-Webserver. Nicht benötigte laufende Dienste können ein Sicherheitsrisiko darstellen. Deshalb ist eine ordnungsgemäße Bereinigung wichtig.
Stoppen Sie den Apache-Dienst:
sudo service apache2 stop
Prüfen Sie, ob der Dienst gestoppt wurde:
sudo service apache2 status
Die Ausgabe sollte anzeigen, dass Apache2 nicht läuft, zum Beispiel:
* apache2 is not running
Prüfen Sie, ob Port 80 geschlossen ist:
nmap -F localhost
In der Ausgabe sollte Port 80 als geschlossen erscheinen oder nicht unter den geöffneten Ports aufgeführt sein. Diese Bereinigung ist auch in der Praxis wichtig: Sie stellt sicher, dass Dienste nicht unnötig weiterlaufen und dadurch ein Sicherheitsrisiko darstellen.
Zusammenfassung
In diesem Lab haben Sie die Grundlagen des Portscannens mit Nmap kennengelernt, einem leistungsstarken Open-Source-Tool für die Netzwerksicherheit. Sie haben praktisch geübt, Netzwerkports zu verstehen, einen Webserver mit einem offenen Port einzurichten, mit Nmap häufig verwendete Ports zu scannen, Scanergebnisse auszuwerten, Befunde in einem Sicherheitsbericht zu dokumentieren und Dienste ordnungsgemäß zu stoppen.
Diese Fähigkeiten bilden die Grundlage für die Bewertung der Netzwerksicherheit. Sie sind für Fachleute in den Bereichen IT-Sicherheit, Netzwerkadministration und Systemverwaltung unverzichtbar. Mit Portscans lassen sich Sicherheitslücken im Netzwerk erkennen und Systeme vor unbefugtem Zugriff schützen.



