Website-Suche

So zeigen Sie unter Ubuntu Linux an/prüfen auf offene Ports


Die Überprüfung auf offene Ports unter Ubuntu Linux ist ein wesentlicher Bestandteil der Sicherheitsverwaltung. Einige Linux-Software funktioniert, indem sie auf eingehende Verbindungen wartet. Ein einfaches Beispiel wäre ein Webserver, der Benutzeranfragen über HTTP-Port 80 oder HTTPS-Port 443 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 offen sind. Andernfalls könnten Sie nicht wissen, dass externe Verbindungen zu Ihrem Computer hergestellt werden, die Bandbreite und Ressourcen verbrauchen und eine potenzielle Sicherheitslücke darstellen.

In diesem Tutorial sehen wir, wie Sie unter Ubuntu Linux nach offenen Ports suchen. Dies kann mit verschiedenen Befehlszeilenprogrammen 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:

  • So überprüfen Sie mit dem Befehl ss auf offene Ports
  • So überprüfen Sie mit dem Nmap-Dienstprogramm auf offene Ports
  • So suchen und fügen Sie zulässige Ports in der UFW-Firewall hinzu

Mit dem Befehl ss nach offenen Ports suchen

Der Befehl ss kann verwendet werden, um anzuzeigen, welche Ports auf Verbindungen warten. Es zeigt auch an, von welchen Netzwerken die Verbindungen akzeptiert werden.

WUSSTEN SIE SCHON?
Der Befehl ss hat den älteren Befehl netstat unter Linux ersetzt. Sie können weiterhin den Befehl netstat installieren und verwenden, um auch nach offenen Ports zu suchen.

Es wird empfohlen, die -ltn-Optionen mit dem Befehl zu verwenden, um eine prägnante und relevante Ausgabe zu erhalten. Schauen 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 auf Verbindungen an Port 80, 3306 und 33060 lauscht. Dies sind die bekannten Ports, die mit HTTP und MySQL verbunden sind.

Sie werden auch sehen, dass die ss-Ausgabe anzeigt, dass sich die Ports 53 und 631 in einem Überwachungszustand befinden. Diese gelten für DNS bzw. Internet Printing Protocol. Diese sind standardmäßig aktiviert, so dass Sie wahrscheinlich sehen werden, dass sie auf Ihrem eigenen System lauschen. Der DNS-Port ist nicht wirklich geöffnet, sondern bietet eine Namensauflösung für Anwendungen, die auf unserem System installiert sind.

Um zu sehen, zu welchen Prozessen diese Überwachungsports gehören, fügen Sie die Option -p in Ihren Befehl ein.

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 nutzen, um auf eingehende Verbindungen zu lauschen.

Mit nmap nach offenen Ports suchen

Nmap ist ein Netzwerk-Reconnaissance-Tool, mit dem auf entfernten Hosts nach offenen Ports gesucht werden kann. Wir können es aber 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 im Befehl angeben.

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 im Hinterkopf behalten sollten. Wenn wir die Befehle ss oder nmap localhost auf unserem lokalen System verwenden, umgehen wir die Firewall. In der Tat zeigen diese Befehle Ports an, die sich in einem Überwachungszustand befinden, aber das bedeutet nicht unbedingt, dass die Ports für das Internet geöffnet 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 keine eingehenden Verbindungen empfangen, obwohl ss und nmap melden, dass sie sich in einem Überwachungszustand befinden.

Fügen wir mit den folgenden Befehlen Ausnahmen für diese Ports hinzu.

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 noch einmal ü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 befinden sich im Überwachungszustand. Weitere Informationen zur ufw-Firewall, einschließlich Befehlsbeispielen, finden Sie in unserer Anleitung zur Installation und Verwendung der ufw-Firewall unter Linux.

Abschließende Gedanken

In diesem Tutorial haben wir gesehen, wie Sie den Befehl ss sowie das Dienstprogramm nmap verwenden, 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 hinzufügt. Zur Härtung der Sicherheit sollten Administratoren nur die erforderlichen Ports für das Internet geöffnet haben. Wenn Ihr Server nichts hostet, was auf einem bestimmten Port überwacht werden muss, empfiehlt es sich, diesen Port in Ihrer Firewallkonfiguration zu schließen.

Wenn sich ein Port in einem Überwachungszustand 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.

Verwandte Artikel: