Come conoscere e vedere le porte aperte in Linux

Tra i compiti di amministrazione ce n'è uno a livello di sicurezza che è essenziale per la sicurezza dell'intera infrastruttura e queste sono le porte del sistema. Per questo dobbiamo tenere presente che ogni applicazione che richiede la connessione al computer, tramite Internet o tramite la rete locale, avrà bisogno di alcune porte di connessione per questo scopo, queste porte sono chiamate porte di ascolto e questo tipo di connessioni può avere due direzioni che sono in entrata e in uscita.

Lo stato di una porta può essere aperto, filtrato, chiuso o senza filtro, ma dobbiamo prestare molta attenzione alle porte aperte poiché alcune politiche di sicurezza dell'organizzazione possono essere violate attraverso queste porte.

Solvetic spiegherà alcuni modi su come possiamo vedere le porte attualmente aperte in Linux e quindi determinare se intraprendere o meno azioni di gestione.

1. Come convalidare le porte in Linux usando netstat


Il comando netstat (statistiche di rete) è stato sviluppato per visualizzare un elenco di tutte le connessioni attive su un computer, comprese quelle in entrata e in uscita.

Il modo di base per eseguire netstat su Linux è con la seguente riga:

 sudo netstat -ltup
I parametri utilizzati sono:
  • Il valore -l dice a netstat di stampare tutti i socket listener.
  • Il valore -t visualizza tutte le connessioni TCP.
  • Con il valore -u vedremo tutte le connessioni UDP.
  • Con -p è possibile stampare in ascolto del nome dell'applicazione o del programma sulla porta.

Il risultato sarà il seguente:

INGRANDIRE

Se vogliamo stampare dei valori numerici al posto dei nomi dei servizi, sarà necessario aggiungere il parametro n:

 sudo netstat -lntup
Vedremo quanto segue:

INGRANDIRE

Con netstat sarà possibile utilizzare il comando grep per determinare quale applicazione sta ascoltando attraverso una determinata porta, ad esempio se vogliamo vedere quali porte utilizza Apache:

 sudo netstat -lntup | grep "apache2"
Ma sarà anche possibile specificare la porta da validare:
 sudo netstat -lntup | grep ": 80"
Alcuni dei parametri aggiuntivi da utilizzare con netstat sono:

Visualizza tutte le connessioni e le porte in modalità di ascolto

 -a

Visualizza le applicazioni e i file eseguibili responsabili della creazione di connessioni sulle porte di ascolto
 -B

Genera statistiche Ethernet
 -e

Visualizza porte e indirizzi in formato numerico
 -n

Permette di vedere l'identità di ogni processo (PID) coinvolto
 -o

Mostra le connessioni tramite protocolli come TCP, UDP, TCPv6 o UDPv6
 -P

Visualizza la tabella del percorso
 -R

Genera statistiche per protocolli
 -S

Viene utilizzato con -b, e in questo modo puoi vedere sequenze di componenti coinvolti nella creazione di una connessione
 -v

2. Come convalidare le porte utilizzando il comando ss Linux


Il comando SS è integrato nel pacchetto IPROUTE2 e serve per visualizzare le statistiche dei socket, questo tipo di socket può essere TCP, UDP, PACKET, DCCP, RAW, UNIX e altro.

Le informazioni che possiamo ottenere con il comando SS sono:

  • Informazioni sui socket TCP e UDP con dettagli molto più completi.
  • Connessioni stabilite da SSH, FTP, HTTP, HTTP e altro.
  • Connessioni al computer server X.
  • Filtra per stato come SYN-RECV, SYN-SENT, TIME-WAIT utilizzando indirizzi e porte.
  • Determina quale tipo di socket TCP si trova nello stato FIN-WAIT-1.

Con il seguente comando andremo a visualizzare tutte le porte di ascolto per le connessioni TCP e UDP in valore numerico:

 sudo ss -lntu

INGRANDIRE

3. Come convalidare le porte usando il comando Nmap Linux


Il comando Nmap (Network Mapper) è una delle soluzioni più complete non solo per convalidare le porte di ascolto ma per svolgere molte più attività di amministrazione a livello di rete poiché con esso è possibile eseguire ping sweep, scansionare porte, identificare servizi, eseguire il rilevamento degli indirizzi IP e il rilevamento del sistema operativo e altro ancora.

È una delle utility più pratiche per gli amministratori poiché grazie a Nmap possiamo esplorare reti locali o esterne, eseguire scansioni di sicurezza, audit di rete, cercare host live, sistemi operativi, filtri di pacchetti e altro ancora.

Per installare Nmap dobbiamo eseguire uno dei seguenti comandi:

 sudo apt install nmap (Debian / Ubuntu) sudo yum install nmap (CentOS / RHEL) sudo dnf install nmap (Fedora)
Dopodiché, per scansionare tutte le porte aperte o in ascolto in Linux, eseguiremo il seguente comando:
 sudo nmap -n -PN -sT -sU -p- localhost

INGRANDIRE

Alcuni dei parametri da utilizzare con Nmap sono:

Scansione del protocollo

 s0

Scansione ACK
 -sA

Scansione di Windows
 -sW

Scansione RPC
 -Sig

Elenco / scansione DNS
 -sL

Scansione inattiva
 -Sì

Senza ping
 -Po

ping TCP
 -PT

Ping SYN
 -

Ping ICMP
 -PI

Ping TCP e ICMP
 -PB

Data e ora ICMP
 -PB

Maschera di rete ICMP
 -P.M

Uscita normale
 -sopra

Output XML
 -bue

Uscita greppabile
 -oG

Tutte le uscite
 -oA

Esegui una scansione seria con 300 secondi tra le scansioni
 -T Paranoico

Esegue una scansione seriale con un intervallo di 15 secondi tra le scansioni
 -T furtivo

Esegue una scansione seriale con un intervallo di 4 secondi tra le scansioni
 -T educato

Scansione parallela
 -T Normale

4. Come convalidare le porte utilizzando il comando Lsof Linux


Il comando lsof è uno strumento attraverso il quale sarà possibile elencare i file aperti nel sistema con dettagli come quali file un determinato processo (PID) o utente mantiene aperti e con dettagli come la porta utilizzata da quei servizi.

Per elencare tutti i file Internet e di rete, dobbiamo utilizzare l'opzione -i, con questo comando viene visualizzata una combinazione di nomi di servizi e porte numeriche:

 sudo lsof -i

INGRANDIRE

Se vogliamo vedere quale applicazione utilizza una porta specifica, possiamo eseguire quanto segue:

 sudo lsof -i: 80
Con una qualsiasi di queste opzioni sarà possibile visualizzare le porte aperte in Linux e avere un controllo migliore su di esse.

wave wave wave wave wave