Kategorie: Linux

Überprüfung von Listening-Ports in Linux-Systemen

Das Internet ist schon lange kein sicherer Ort mehr, es ist sehenswert, für wen wir die Tür offen lassen und wozu sie führt. Ports sind ein solches Äquivalent zu Türen in Computernetzwerken.

Wenn wir wissen, welche Anwendungen wir verwenden, Wir wissen dann, was wir unseren eigenen iptables-Firewall-Regeln oder der UDP-Whitelist hinzufügen müssen:

Wie es geht?

Auf den meisten Systemen ist der Befehl ausreichend:

netstat -l

Wie man es liest?

Auf den ersten Blick wirkt es wie ein italienisches Nudelgericht, aber es reicht, genauer hinzusehen, dass das Ergebnis dieses Befehls eine Fundgrube an Wissen ist

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 *:ssh                   *:*                     LISTEN     
tcp        0      0 *:40833                 *:*                     LISTEN     
tcp        0      0 localhost:27017         *:*                     LISTEN     
tcp        0      0 localhost:mysql         *:*                     LISTEN     
tcp        0      0 *:sunrpc                *:*                     LISTEN     
tcp        0      0 *:46834                 *:*                     LISTEN     
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN     
tcp6       0      0 [::]:43937              [::]:*                  LISTEN     
tcp6       0      0 [::]:57793              [::]:*                  LISTEN     
tcp6       0      0 [::]:sunrpc             [::]:*                  LISTEN     
udp        0      0 localhost:608           *:*                                
udp        0      0 *:674                   *:*                                
udp        0      0 *:59774                 *:*                                
udp        0      0 *:bootpc                *:*                                
udp        0      0 *:sunrpc                *:*                                
udp        0      0 *:41251                 *:*                                
udp6       0      0 [::]:674                [::]:*                             
udp6       0      0 [::]:43086              [::]:*                             
udp6       0      0 [::]:40189              [::]:*                             
udp6       0      0 [::]:sunrpc             [::]:*                             
Active UNIX domain sockets (only servers)
Proto RefCnt Flags       Type       State         I-Node   Path
unix  2      [ ACC ]     STREAM     LISTENING     7424585  /tmp/mongodb-27017.sock
unix  2      [ ACC ]     STREAM     LISTENING     24344048 /run/user/1000/systemd/private
unix  2      [ ACC ]     STREAM     LISTENING     7467947  /run/user/1002/systemd/private
unix  2      [ ACC ]     STREAM     LISTENING     7459911  /run/user/1001/systemd/private
unix  2      [ ACC ]     SEQPACKET  LISTENING     7951     /run/udev/control
unix  2      [ ACC ]     STREAM     LISTENING     7885     /run/systemd/journal/stdout
unix  2      [ ACC ]     STREAM     LISTENING     7931     /run/lvm/lvmetad.socket
unix  2      [ ACC ]     STREAM     LISTENING     7952     /run/lvm/lvmpolld.socket
unix  2      [ ACC ]     STREAM     LISTENING     13305    /var/lib/lxd/unix.socket
unix  2      [ ACC ]     STREAM     LISTENING     13303    /run/uuidd/request
unix  2      [ ACC ]     STREAM     LISTENING     13304    /var/run/dbus/system_bus_socket
unix  2      [ ACC ]     STREAM     LISTENING     13306    /run/acpid.socket
unix  2      [ ACC ]     STREAM     LISTENING     13307    /run/snapd.socket
unix  2      [ ACC ]     STREAM     LISTENING     13308    /run/snapd-snap.socket
unix  2      [ ACC ]     STREAM     LISTENING     14766    @ISCSIADM_ABSTRACT_NAMESPACE
unix  2      [ ACC ]     STREAM     LISTENING     24019    /run/systemd/private
unix  2      [ ACC ]     STREAM     LISTENING     42459    /var/run/mysqld/mysqld.sock
unix  2      [ ACC ]     STREAM     LISTENING     45141    /run/rpcbind.sock

Nach diesem Ergebnis können wir schließen, dass dieses System MySQL und MongoDB ausführt.

Sie haben MySQL:

tcp        0      0 localhost:mysql         *:*                     LISTEN     

MySQL verwendet standardmäßig den Port 3306 und es ist seit vielen Jahren eine ziemlich bekannte Anwendung, daher teilt uns die Anwendung sofort mit, dass es sich um den von MySQL verwendeten Port anstelle der Portnummer handelt

Hast du MongoDB:

tcp        0      0 localhost:27017         *:*                     LISTEN     

Mongo ist weniger bekannt und viel jünger, hier wird uns der Port angezeigt 27017.

Wir können auch verwenden netstat -ln, dann erhalten wir eine Liste aller Ports, ohne zu erkennen, was was ist.

Beide Apps haben localhost: vor dem Hafen, damit sie nur lokal zuhören, das heißt, sie sind von außen über das Netzwerk nicht zugänglich. Es ist eine sichere Lösung, da es besser ist, Fremden keinen Zugriff auf unsere Datenbank zu gewähren, auch wenn diese passwortgeschützt ist.
Zum Beispiel, wenn wir den Zugriff von außen erlauben, es kann sich in Zukunft herausstellen, dass es eine Lücke gibt, die es Ihnen ermöglicht, sich ohne Passwort einzuloggen, und wir werden das Update vergessen und das Problem ist fertig.

Hier sehen wir einen SSH-Server, der auf einem Standardport lauscht:

tcp        0      0 *:ssh                   *:*                     LISTEN    

Es ist draußen exponiert, aber SSH ist eine bewährte Anwendung und irgendwie müssen wir auch auf den Server kommen, also mach dir keine Sorgen, solange wir ein langes und zufällig generiertes Passwort haben oder uns mit einem Schlüsselpaar anmelden (öffentlich und privat).

Wir haben auch eine Neugier am Boden:

unix  2      [ ACC ]     STREAM     LISTENING     42459    /var/run/mysqld/mysqld.sock

Es ist ein Hafen, aber nicht wirklich. Es ist eine Steckdose (Stecker) wodurch sich die Anwendung nicht über eine Standard-Netzwerkadresse, sondern über eine Datei verbinden kann. Einige Anwendungen unterstützen die Verbindung über UNIX-Sockets, und hier ist ein Beispiel dafür. Diese Dateien sind in keiner Weise der Welt ausgesetzt, Sie sind eine gute Lösung, um Dienste auf einem Server mit verschiedenen Benutzern zu verbinden, da Sie die Rechte der Benutzer für diese Ressource wie jede andere Datei auf der Festplatte ändern können.

Es funktioniert nicht!

Wenn wir keinen solchen Befehl im System haben wie netstat, du musst das paket installieren net-tools.
Bei Debian und Derivaten wie z.B.. Ubuntu führe einfach diese Befehle aus, um es zu installieren:

apt-get update
apt-get install net-tools

Ausreichend für CentOS und andere RHEL-Derivate:

yum install net-tools

Linux

Udostępnij
Opublikowane przez
Linux

Neue Beiträge

KeePass2 2.52 w Ubuntu 22.04

In der folgenden Anleitung wird beschrieben, wie Sie KeePass unter Ubuntu installieren. Całość wykonamy za pomocą kilku poleceń

2 years temu

Installieren des Master-PDF-Editors in Ubuntu 22.04

Master PDF Editor ist ein umfassendes PDF-Programm, die viele Funktionen enthält. Oprócz tworzenia i edycji

2 years temu

iotop - Speicherüberwachung

Iotop jest prostym narzędziem dla systemów Uniksowych umożliwiającym monitorowanie użycia dowolnego nośnika pamięci flash/hdd/ssd w

2 years temu

Führen Sie mehrere Befehle in einem Cron-Job aus

Sie können zwei oder mehr Befehle durch Semikolons trennen (;), Semikolon (;): służy do oddzielania

2 years temu

Ändern der Exif-Daten eines Fotos im Linux-Terminal

Poniższy poradnik opisuje w jaki sposób za pomocą konsoli możemy dokonać edycji danych zdjęcia exif.

2 years temu

Installation von Rocket.Chat Server auf Rocky Linux 8

Die folgende Anleitung beschreibt, wie Rocket.Chat unter Rocky Linux installiert wird 8 Całość bardzo prosto zainstalujemy

2 years temu