GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So zeigen/überprüfen Sie offene Ports unter Ubuntu Linux

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

Unter Ubuntu Linux mit dem Befehl ss nach offenen Ports suchen

Softwareanforderungen und Linux-Befehlszeilenkonventionen
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.


Ubuntu
  1. So suchen Sie unter Linux mit netstat, lsof und nmap nach offenen Ports

  2. Wie überprüfe ich die Linux-Kernel-Version in Ubuntu?

  3. So öffnen Sie Ports in Ubuntu / Debian

  4. Überprüfen Sie die Betriebszeit auf Ubuntu Linux Server – wie geht das?

  5. Ubuntu – Wie öffnet man eine .bak-Datei unter Linux?

So öffnen Sie einen Port auf Ubuntu 20.04

Wie man unter Debian 10 nach offenen Ports sucht

So öffnen Sie ePub-Bücher in Ubuntu Linux

So öffnen Sie das Terminal in Ubuntu Linux

Wie überprüfe ich Ram-Fehler über Linux?

Wie überprüfe ich offene Ports in Linux?