Kategorie: Linux

Verifica delle porte di ascolto nei sistemi Linux

Internet non è stato un luogo sicuro per molto tempo, vale la pena vedere per chi lasciamo la porta aperta e a cosa conduce. Le porte sono un equivalente delle porte nelle reti di computer.

Quando sappiamo quali applicazioni utilizziamo, sapremo quindi cosa aggiungere alle nostre regole del firewall iptables o alla whitelist UDP:

Come farlo?

Sulla maggior parte dei sistemi, il comando è sufficiente:

netstat -l

Come leggerlo?

A prima vista sembra un piatto di pasta all'italiana, ma basta guardare più da vicino che il risultato di questo comando è una miniera di conoscenze

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

Dopo questo risultato, possiamo concludere che questo sistema esegue MySQL e MongoDB.

Hai MySQL:

tcp        0      0 localhost:mysql         *:*                     LISTEN     

MySQL usa la porta per impostazione predefinita 3306 ed è un'applicazione abbastanza nota da molti anni, quindi l'applicazione ci dice immediatamente che è la porta utilizzata da MySQL invece del numero di porta

Hai MongoDB?:

tcp        0      0 localhost:27017         *:*                     LISTEN     

Mongo è meno conosciuto e molto più giovane, qui è dove ci viene mostrata la porta 27017.

Possiamo anche usare netstat -ln, quindi otterremo un elenco di tutte le porte senza rilevare cosa è cosa.

Entrambe le app hanno localhost: davanti alla porta in modo che ascoltino solo localmente, cioè, non è possibile accedervi dall'esterno tramite la rete. È una soluzione sicura perché è meglio non dare accesso a estranei al nostro database, anche se è protetto da password.
Ad esempio, se consentiamo l'accesso dall'esterno, potrebbe risultare in futuro che esiste una scappatoia che ti consente di accedere senza password e ci dimenticheremo dell'aggiornamento e il problema è pronto.

Qui possiamo vedere un server SSH in ascolto su una porta standard:

tcp        0      0 *:ssh                   *:*                     LISTEN    

È esposto all'esterno, ma SSH è un'applicazione collaudata e in qualche modo dobbiamo anche raggiungere il server, quindi non preoccuparti troppo finché abbiamo una password lunga e generata casualmente o accedi con una coppia di chiavi (pubblico e privato).

Abbiamo anche una curiosità in fondo:

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

È un porto, ma non proprio. È una presa (spina) che consente all'applicazione di connettersi non tramite un indirizzo di rete standard ma tramite un file. Alcune applicazioni supportano la connessione tramite socket UNIX, ed ecco un esempio di questo. Questi file non sono in alcun modo esposti al mondo, sono una buona soluzione per connettere servizi su un server con utenti diversi perché puoi modificare i diritti degli utenti su questa risorsa come qualsiasi altro file sul disco.

Non funziona!

Se non abbiamo un tale comando nel sistema come netstat, devi installare il pacchetto net-tools.
Nel caso di Debian e derivati, ad es.. Ubuntu basta eseguire questi comandi per installarlo:

apt-get update
apt-get install net-tools

Sufficiente per CentOS e altri derivati ​​RHEL:

yum install net-tools

Linux

Udostępnij
Opublikowane przez
Linux

Post recenti

KeePass2 2.52 w Ubuntu 22.04

La guida seguente descrive come installare KeePass su Ubuntu. Całość wykonamy za pomocą kilku poleceń

2 years temu

Installazione dell'editor PDF Master in Ubuntu 22.04

Master PDF Editor è un programma PDF completo, che include molte funzionalità. Oprócz tworzenia i edycji

2 years temu

iotop - monitoraggio della memoria

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

Esegui più comandi in un lavoro cron

Puoi separare due o più comandi con il punto e virgola (;), Punto e virgola (;): służy do oddzielania

2 years temu

Modifica dei dati exif di una foto nel terminale Linux

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

2 years temu

Installazione di Rocket.Chat Server su Rocky Linux 8

La seguente guida descrive come installare Rocket.Chat su Rocky Linux 8 Całość bardzo prosto zainstalujemy

2 years temu