Einige Linux-Software funktioniert, indem sie auf eingehende Verbindungen wartet. Ein einfaches Beispiel wäre ein Webserver, der Benutzeranfragen verarbeitet, wenn jemand zu einer Website navigiert. Als Linux-Administrator oder -Benutzer ist es wichtig, immer zu wissen, welche Ports Ihres Systems für das Internet geöffnet sind. Andernfalls könnten Sie sich nicht bewusst sein, dass externe Verbindungen zu Ihrem Computer hergestellt werden, was Bandbreite und Ressourcen verbraucht und außerdem eine potenzielle Sicherheitslücke darstellt.
In diesem Handbuch erfahren Sie, wie Sie unter Ubuntu Linux nach offenen Ports suchen. Dies kann mit mehreren verschiedenen Befehlszeilendienstprogrammen erfolgen, auf die wir im Detail eingehen werden. Wir werden auch sehen, wie Sie die ufw-Firewall von Ubuntu verwenden, um sicherzustellen, dass die Ports sicher sind. Wissen Sie also, welche Ports Ihres Systems offen sind? Finden wir es heraus.
In diesem Tutorial lernen Sie:
- Wie man mit
ss
nach offenen Ports sucht Befehl - Wie man mit dem Nmap-Dienstprogramm nach offenen Ports sucht
- So prüfen und fügen Sie zulässige Ports in der ufw-Firewall hinzu
![](https://m.unixlinux.online/article/uploadfiles/202204/2022042507372621.png)
Kategorie | Anforderungen, Konventionen oder verwendete Softwareversion |
---|---|
System | Ubuntu-Linux |
Software | ss, Nmap, ufw-Firewall |
Andere | Privilegierter Zugriff auf Ihr Linux-System als root oder über sudo Befehl. |
Konventionen | # – erfordert, dass bestimmte Linux-Befehle mit Root-Rechten ausgeführt werden, entweder direkt als Root-Benutzer oder durch Verwendung von sudo Befehl$ – erfordert, dass bestimmte Linux-Befehle als normaler, nicht privilegierter Benutzer ausgeführt werden |
Mit dem Befehl ss nach offenen Ports suchen
Der Befehl ss kann verwendet werden, um anzuzeigen, welche Ports auf Verbindungen lauschen. Es zeigt auch, von welchen Netzwerken Verbindungen akzeptiert werden.
Wir empfehlen die Verwendung des -ltn
Optionen mit dem Befehl, um eine prägnante und relevante Ausgabe anzuzeigen. Sehen wir uns ein Beispiel auf unserem Testsystem an.
$ sudo ss -ltn State Recv-Q Send-Q Local Address:Port Peer Address:Port Process LISTEN 0 4096 127.0.0.53%lo:53 0.0.0.0:* LISTEN 0 5 127.0.0.1:631 0.0.0.0:* LISTEN 0 70 127.0.0.1:33060 0.0.0.0:* LISTEN 0 151 127.0.0.1:3306 0.0.0.0:* LISTEN 0 5 [::1]:631 [::]:* LISTEN 0 511 *:80 *:*
Wir können sehen, dass unser Server Verbindungen auf Port 80, 3306 und 33060 abhört. Dies sind die bekannten Ports, die mit HTTP und MySQL verbunden sind.
Sie werden auch sehen, dass die ss
Die Ausgabe zeigt, dass sich die Ports 53 und 631 in einem lauschenden Zustand befinden. Diese gelten für DNS bzw. Internet Printing Protocol. Diese sind standardmäßig aktiviert, sodass Sie wahrscheinlich sehen werden, dass sie auf Ihrem eigenen System lauschen. Der DNS-Port ist nicht wirklich offen, sondern bietet eine Namensauflösung für Anwendungen, die auf unserem System installiert sind.
Um zu sehen, zu welchen Prozessen diese Listening-Ports gehören, fügen Sie -p
ein Option in Ihrem Befehl.
$ sudo ss -ltnp State Recv-Q Send-Q Local Address:Port Peer Address:Port Process LISTEN 0 4096 127.0.0.53%lo:53 0.0.0.0:* users:(("systemd-resolve",pid=530,fd=13)) LISTEN 0 5 127.0.0.1:631 0.0.0.0:* users:(("cupsd",pid=572,fd=7)) LISTEN 0 70 127.0.0.1:33060 0.0.0.0:* users:(("mysqld",pid=2320,fd=32)) LISTEN 0 151 127.0.0.1:3306 0.0.0.0:* users:(("mysqld",pid=2320,fd=34)) LISTEN 0 5 [::1]:631 [::]:* users:(("cupsd",pid=572,fd=6)) LISTEN 0 511 *:80 *:* users:(("apache2",pid=2728,fd=4),("apache2",pid=2727,fd=4),("apache2",pid=2725,fd=4))
Jetzt können wir sehen, dass systemd-resolve, cupsd, mysqld und apache2 die Dienste sind, die die Ports verwenden, um auf eingehende Verbindungen zu lauschen.
Mit nmap nach offenen Ports suchen
Nmap ist ein Tool zur Netzwerkerkundung, mit dem Sie nach offenen Ports auf entfernten Hosts suchen können. Wir können es jedoch auch verwenden, um unser eigenes System zu überprüfen, um eine schnelle Liste der offenen Ports zu erhalten.
Normalerweise würden wir eine Remote-IP-Adresse angeben, die Nmap scannen soll. Stattdessen können wir unser eigenes System scannen, indem wir localhost
angeben im Befehl.
$ sudo nmap localhost Starting Nmap 7.80 ( https://nmap.org ) at 2021-03-12 20:43 EST Nmap scan report for localhost (127.0.0.1) Host is up (0.000012s latency). Not shown: 997 closed ports PORT STATE SERVICE 80/tcp open http 631/tcp open ipp 3306/tcp open mysql Nmap done: 1 IP address (1 host up) scanned in 0.18 seconds
Überprüfen Sie, welche Ports in der ufw-Firewall geöffnet sind
Es gibt einen großen Vorbehalt, den Sie beachten sollten. Bei Verwendung des ss
oder nmap localhost
Befehle auf unserem lokalen System umgehen wir die Firewall. Tatsächlich zeigen diese Befehle Ports an, die sich in einem lauschenden Zustand befinden, aber das bedeutet nicht unbedingt, dass die Ports für das Internet offen sind, da unsere Firewall möglicherweise Verbindungen verweigert.
Überprüfen Sie den Status der ufw-Firewall mit dem folgenden Befehl.
$ sudo ufw status verbose Status: active Logging: on (low) Default: deny (incoming), allow (outgoing), disabled (routed) New profiles: skip
Aus der Ausgabe können wir sehen, dass ufw eingehende Verbindungen ablehnt. Da Port 80 und 3306 nicht als Ausnahmen hinzugefügt wurden, können HTTP und MySQL trotz ss
keine eingehenden Verbindungen empfangen und nmap
melden, dass sie sich im Zuhörzustand befinden.
Lassen Sie uns mit den folgenden Befehlen Ausnahmen für diese Ports hinzufügen.
$ sudo ufw allow 80/tcp Rule added Rule added (v6) $ sudo ufw allow 3306/tcp Rule added Rule added (v6)
Wir können den Status von ufw erneut überprüfen, um zu sehen, dass die Ports jetzt offen sind.
$ sudo ufw status verbose Status: active Logging: on (low) Default: deny (incoming), allow (outgoing), disabled (routed) New profiles: skip To Action From -- ------ ---- 80/tcp ALLOW IN Anywhere 3306/tcp ALLOW IN Anywhere 80/tcp (v6) ALLOW IN Anywhere (v6) 3306/tcp (v6) ALLOW IN Anywhere (v6)
Jetzt sind unsere beiden Ports in der Firewall geöffnet und in einem lauschenden Zustand. Weitere Informationen zur ufw-Firewall, einschließlich Befehlsbeispielen, finden Sie in unserem Leitfaden zur Installation und Verwendung der ufw-Firewall unter Linux.
Abschlussgedanken
In dieser Anleitung haben wir gesehen, wie man ss
verwendet Befehl sowie nmap
Dienstprogramm, um unter Ubuntu Linux nach lauschenden Ports zu suchen. Wir haben auch gelernt, wie man die ufw-Firewall überprüft, um zu sehen, welche Ports offen sind, und bei Bedarf Ausnahmen hinzuzufügen.
Wenn sich ein Port in einem lauschenden Zustand befindet und durch die Firewall zugelassen wird, sollte er für eingehende Verbindungen geöffnet sein. Dies hängt jedoch auch von Ihrem Router oder anderen Netzwerkgeräten ab, die sich zwischen Ihrem Computer und dem Internet befinden, da diese möglicherweise ihre eigenen Regeln haben, die eingehende Verbindungen blockieren.