GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come mostrare/controllare le porte aperte su Ubuntu Linux

Alcuni software Linux funzionano ascoltando le connessioni in entrata. Un semplice esempio potrebbe essere un server web, che gestisce le richieste degli utenti ogni volta che qualcuno naviga su un sito web. In qualità di amministratore o utente Linux, è importante sapere sempre quali porte del tuo sistema sono aperte a Internet. Altrimenti, potresti non essere a conoscenza delle connessioni esterne effettuate al tuo computer, che consuma larghezza di banda e risorse, oltre a rappresentare una potenziale falla nella sicurezza.

In questa guida vedremo come verificare la presenza di porte aperte su Ubuntu Linux. Questo può essere fatto con diverse utilità della riga di comando, che esamineremo in dettaglio. Vedremo anche come utilizzare il firewall ufw di Ubuntu per assicurarci che le porte siano sicure. Quindi, sai quali porte del tuo sistema sono aperte? Scopriamolo.

In questo tutorial imparerai:

  • Come controllare le porte aperte con ss comando
  • Come controllare le porte aperte con l'utility Nmap
  • Come verificare e aggiungere porte consentite nel firewall ufw

Verifica delle porte aperte su Ubuntu Linux con il comando ss

Requisiti software e convenzioni della riga di comando Linux
Categoria Requisiti, convenzioni o versione del software utilizzata
Sistema Ubuntu Linux
Software ss, Nmap, ufw firewall
Altro Accesso privilegiato al tuo sistema Linux come root o tramite sudo comando.
Convenzioni # – richiede che i comandi linux dati vengano eseguiti con i privilegi di root direttamente come utente root o usando sudo comando
$ – richiede che i comandi linux dati vengano eseguiti come un normale utente non privilegiato

Verifica porte aperte con il comando ss

Il comando ss può essere utilizzato per mostrare quali porte sono in ascolto per le connessioni. Mostra anche da quali reti sta accettando le connessioni.

Ti consigliamo di utilizzare il -ltn opzioni con il comando per vedere un output conciso e pertinente. Diamo un'occhiata a un esempio sul nostro sistema di test.

$ 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                         *:* 

Possiamo vedere che il nostro server è in attesa di connessioni sulle porte 80, 3306 e 33060. Queste sono le porte ben note associate a HTTP e MySQL.

Vedrai anche che il ss l'uscita mostra che le porte 53 e 631 sono in uno stato di ascolto. Questi sono rispettivamente per DNS e Internet Printing Protocol. Questi sono abilitati per impostazione predefinita, quindi probabilmente li vedrai in ascolto sul tuo sistema. La porta DNS non è effettivamente aperta, ma fornisce la risoluzione dei nomi alle applicazioni installate sul nostro sistema.

Per vedere a quali processi appartengono queste porte in ascolto, includi il -p opzione nel tuo comando.

$ 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))

Ora possiamo vedere che systemd-resolve, cupsd, mysqld e apache2 sono i servizi che utilizzano le porte per ascoltare le connessioni in entrata.

Verifica porte aperte con nmap

Nmap è uno strumento di ricognizione di rete che può essere utilizzato per verificare la presenza di porte aperte su host remoti. Tuttavia, possiamo anche usarlo per controllare il nostro sistema per ottenere un rapido elenco di quali porte sono aperte.

Normalmente, specifichiamo un indirizzo IP remoto per la scansione di Nmap. Invece, possiamo scansionare il nostro sistema specificando localhost nel comando.

$ 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

Verifica quali porte sono aperte nel firewall ufw

C'è un grande avvertimento che dovresti tenere a mente. Quando si utilizza il ss o nmap localhost comandi sul nostro sistema locale, stiamo bypassando il firewall. In effetti, questi comandi mostrano le porte in stato di ascolto, ma ciò non significa necessariamente che le porte siano aperte a Internet, perché il nostro firewall potrebbe negare le connessioni.

Controlla lo stato del firewall ufw con il seguente comando.

$ sudo ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

Dall'output, possiamo vedere che ufw sta negando le connessioni in entrata. Poiché le porte 80 e 3306 non sono state aggiunte come eccezioni, HTTP e MySQL non sono in grado di ricevere connessioni in entrata, nonostante ss e nmap segnalando che sono in stato di ascolto.

Aggiungiamo eccezioni per queste porte con i seguenti comandi.

$ sudo ufw allow 80/tcp
Rule added
Rule added (v6)
$ sudo ufw allow 3306/tcp
Rule added
Rule added (v6)

Possiamo controllare di nuovo lo stato di ufw, per vedere che le porte sono ora aperte.

$ 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)

Ora le nostre due porte sono aperte nel firewall e in stato di ascolto. Per ulteriori informazioni sul firewall ufw, inclusi esempi di comandi, consulta la nostra guida sull'installazione e l'utilizzo del firewall ufw su Linux.

Pensieri conclusivi

In questa guida abbiamo visto come utilizzare il ss comando, così come il comando nmap utility per verificare la presenza di porte in ascolto su Ubuntu Linux. Abbiamo anche imparato come controllare il firewall ufw per vedere quali porte sono aperte e aggiungere eccezioni se necessario.

Se una porta è in stato di ascolto ed è consentita attraverso il firewall, dovrebbe essere aperta alle connessioni in entrata. Ma questo dipende anche dal tuo router o da altri dispositivi di rete che si trovano tra il tuo computer e Internet, poiché potrebbero avere le proprie regole che bloccano le connessioni in entrata.


Ubuntu
  1. Come verificare la presenza di porte aperte in Linux con netstat, lsof e nmap

  2. Come aprire le porte in Ubuntu/Debian

  3. Controlla Uptime su Ubuntu Linux Server - Come farlo?

  4. Ubuntu:come aprire un file .bak su Linux?

  5. Come controllare l'ascolto / aprire le porte con Netstat su Linux

Come aprire una porta su Ubuntu 20.04

Come controllare le porte aperte su Debian 10

Come aprire libri ePub in Ubuntu Linux

Come aprire il terminale in Ubuntu Linux

Come verificare la presenza di errori nella RAM tramite Linux?

Come controllare le porte aperte in Linux?