Wie man unter Debian 10 auf offene Ports prüft
Die Prüfung auf Ports ist sehr wichtig, um zu überprüfen, welche Ports auf Ihrem System geöffnet sind und lauschen. Lauschende Dienste können ein Einfallstor für Hacker sein, die Schwachstellen in Systemen ausnutzen können, um sich Zugang zu verschaffen oder ein System zu kompromittieren. Es ist nicht empfehlenswert, einen Dienst laufen zu lassen, wenn Sie ihn nicht verwenden. Außerdem verbraucht er zusätzliche Ressourcen. Daher ist es notwendig, die offenen Ports auf Ihrem System ständig zu überprüfen.
In diesem Artikel erklären wir, wie Sie auf vier verschiedene Arten auf offene Ports auf einem Debian 10-System prüfen können.
Hinweis: Die in diesem Artikel besprochenen Befehle und Vorgehensweisen wurden auf einem Debian 10 Buster-System getestet.
Offene Ports mit dem ss-Befehl überprüfen
Der ss-Befehl (socket statistics) in Linux liefert wichtige Informationen über Netzwerkverbindungen, einschließlich offener Ports und lauschender Sockets. Er bezieht diese Informationen vom Linux-Kernel. Wenn der ss-Befehl ohne Kommandozeilenargumente verwendet wird, zeigt er detaillierte Informationen über alle aktuellen Verbindungen an, unabhängig davon, in welchem Zustand sie sich befinden. Der ss-Befehl ist der Ersatz für den Befehl netstat. Der ss-Befehl ist mit dem iproute2-Paket gebündelt und auf dem Debian-System verfügbar. Sollten Sie ihn jedoch nicht in Ihrem System finden, können Sie ihn einfach installieren.
Öffnen Sie das Terminal in Ihrem Debian 10-System und geben Sie darin folgenden Befehl ein:
$ sudo apt install iproute2
Um offene Ports auf Ihrem Debian-System zu überprüfen, geben Sie folgenden Befehl im Terminal ein:
$ sudo ss -tulpn
wobei:
- -t, -tcp: Um alle TCP-Sockets zu sehen
- -u, -udp: Um alle UDP-Sockets zu sehen
- -l, -listening: Um alle lauschenden Sockets zu sehen
- -p, -prozesse: Um zu sehen, welche Prozesse Sockets verwenden
- -n, -numerisch: Verwenden Sie diese Option, wenn Sie eine Portnummer anstelle von Dienstnamen sehen wollen
In der Ausgabe sehen Sie eine Liste aller lauschenden TCP- und UDP-Verbindungen.
Die obige Ausgabe zeigt, dass nur Port 22 auf dem System geöffnet ist.
Hinweis: Wenn Sie die Option -p oder -processes mit dem Befehl ss verwenden, müssen Sie root-Benutzer oder der Benutzer mit sudo-Rechten sein. Andernfalls können Sie die Prozess-Identifikationsnummer (PID) des Prozesses, der auf den Ports läuft, nicht sehen.
Offene Ports mit dem Befehl netstat prüfen
Der Befehl Netstat in Linux liefert Informationen über aktuelle Netzwerkverbindungen und Statistiken. Netstat hat fast die gleichen Befehlsoptionen wie der Befehl ss. Um den netstat-Befehl verwenden zu können, müssen Sie die net-tools installieren. Geben Sie dazu folgenden Befehl im Terminal ein:
$ sudo apt-get install net-tools
Nach der Installation können Sie den Befehl netstat im Debian-Terminal verwenden.
Um offene Ports auf Ihrem Debian-System zu überprüfen, geben Sie darin folgenden Befehl ein:
$ sudo netstat –tulnp
Wobei:
- -t, -tcp: Um alle TCP-Sockets zu sehen
- -u, -udp: Um alle UDP-Sockets zu sehen
- -l, -listening: Um alle lauschenden Sockets zu sehen
- -p, -prozesse: Um zu sehen, welche Prozesse Sockets verwenden
- -n, -numerisch: Verwenden Sie diese Option, wenn Sie eine Portnummer anstelle von Dienstnamen sehen möchten
Die obige Ausgabe zeigt, dass nur Port 22 auf dem System geöffnet ist.
Hinweis: Wenn Sie die Option -p oder -processes mit dem netstat-Befehl verwenden, müssen Sie Root-Benutzer oder der Benutzer mit sudo-Rechten sein. Andernfalls können Sie die Prozess-Identifikationsnummer (PID) des Prozesses, der auf den Ports läuft, nicht sehen.
Offene Ports mit dem lsof-Befehl prüfen
Der lsof-Befehl steht in Linux für list open files (da alles in Linux eine Datei ist, einschließlich Geräte, Verzeichnisse, Ports usw.). Mit dem lsof-Befehl können Sie nach Informationen über die Dateien suchen, die von verschiedenen Prozessen geöffnet sind.
Der lsof-Befehl ist auf dem Debian-System verfügbar. Sollten Sie ihn jedoch nicht in Ihrem System finden, können Sie ihn einfach mit folgendem Befehl im Terminal installieren:
$ apt-get install lsof
Um mit lsof alle lauschenden TCP-Ports einzusehen, geben Sie folgenden Befehl im Terminal ein:
$ sudo lsof -nP -iTCP -sTCP:LISTEN
Die obige Ausgabe zeigt, dass nur Port 22 auf dem System geöffnet ist.
Geöffnete Ports mit dem Dienstprogramm Nmap überprüfen
Nmap ist ein Linux-Kommandozeilen-Dienstprogramm, mit dem sich System- und Netzwerk-Scans durchführen lassen. Es wird hauptsächlich für Netzwerk-Audits und Sicherheitsscans verwendet. Es ist nicht standardmäßig auf Linux-Systemen installiert, Sie können es jedoch mit folgendem Befehl im Terminal installieren:
$ sudo apt install nmap
Nach dem Ausführen des obigen Befehls fragt das System möglicherweise nach einer Bestätigung, ob Sie die Installation fortsetzen möchten oder nicht. Drücken Sie y, um fortzufahren, danach wird die Installation auf Ihrem System gestartet.
Nach der Installation können Sie Nmap verwenden, um nach offenen Ports auf Ihrem System zu suchen. Geben Sie dazu den folgenden Befehl im Terminal ein:
$ sudo nmap –sT –p-65535 ip-address
Da die IP-Adresse unseres Systems 192.168.72.158 lautet, würde der Befehl also lauten: