Senza un firewall, non ci sono regole o restrizioni sul traffico di rete e ciò porta a una serie di conseguenze negative. Il sistema Linux viene fornito con un tool di configurazione del firewall predefinito, che è Uncomplicated Firewall (UFW). Ma come si configura un firewall UFW? Rilassati e lascia fare a questo tutorial!
In questo tutorial imparerai come configurare UFW e impostare un firewall sul tuo sistema Linux per proteggere la tua rete e respingere attacchi maligni.
Pronto? Continua a leggere per iniziare!
Prerequisiti
Questo tutorial sarà una dimostrazione pratica. Se vuoi seguirci, assicurati di avere quanto segue:
- Una macchina Ubuntu – Questo tutorial utilizza Ubuntu 20.04 LTS, ma altre distribuzioni Linux funzioneranno.
- Privilegi di root sulla tua macchina.
Installazione di UFW e abilitazione della connessione IPv6
Anche se UFW è incluso nel sistema Ubuntu, non è installato per impostazione predefinita. Installa prima UFW con il gestore di pacchetti apt
e configuralo per consentire le connessioni su IPv6.
1. Apri il tuo terminale e esegui il comando apt update
qui sotto per aggiornare l’indice dei pacchetti locali. Il comando accetta tutte le richieste (-y
) durante l’aggiornamento per una minore intervento dell’utente.

2. Successivamente, esegui il comando qui sotto per installare UFW (installa uwf
) sul tuo sistema accettando tutte le richieste (-y
) durante l’installazione.

3. Apri il file di configurazione UFW (/etc/default/ufw) con il tuo editor di testo preferito. UFW supporta IPv6, ma è necessario assicurarsi che il firewall sia configurato per accettare connessioni su IPv6.
Se hai solo IPv4 abilitato, ti stai comunque esponendo agli attacchi IPv6.
4. Scorri fino alla variabile IPV6 e impostane il valore su sì, come mostrato di seguito, quindi salva le modifiche ed esci dall’editor

5. Infine, esegui il comando qui sotto per disabilitare e riabilitare UFW. Il comando riavvia il servizio UFW in modo che le modifiche possano avere effetto.
Dopo che il comando è completato, il tuo firewall può ora scrivere sia le regole del firewall IPv4 che IPv6.
Configurazione delle politiche predefinite per le regole del firewall
Se stai iniziando con UFW, è consigliabile impostare una politica predefinita per le tue regole. Le politiche predefinite vengono applicate a una catena che non ha ancora regole specifiche definite.
Configura UFW per negare tutte le connessioni in ingresso e consentire tutte le connessioni in uscita. Di conseguenza, chiunque cerchi di raggiungere la tua macchina dal mondo esterno viene negato, mentre tu puoi ancora connetterti liberamente a qualsiasi sito web o server.
Esegui il comando ufw
qui sotto per negare
tutte le connessioni
in ingresso
per impostazione predefinita
.

Ora esegui il seguente comando per consentire
tutte le connessioni
in uscita
per impostazione predefinita
.

Consentire le connessioni SSH sul firewall UFW
Hai appena impostato le politiche predefinite sul tuo firewall UFW per negare tutto il traffico in ingresso e la regola “consenti tutto – nega tutto” è una buona impostazione per un utente regolare. Ma cosa succede se stai eseguendo un server? Dovrai consentire il traffico specifico dentro e fuori. Consentire la connessione SSH sul tuo firewall UFW risolverà il problema per consentire il traffico specifico dentro e fuori.
Configurerai un server SSH che consente connessioni SSH in ingresso sulla porta 22. Ma perché la porta 22 e non un’altra porta? Nei sistemi simili a Unix, il demone SSH è in ascolto sulla porta 22 per impostazione predefinita, quindi è una buona pratica utilizzare la porta SSH predefinita per semplificarti la vita.
1. Esegui i comandi seguenti per installare il server OpenSSH (installa openssh-server
) sul tuo sistema e avvia un server OpenSSH (avvia ssh
).
2. Ora esegui il comando qui sotto per consentire le connessioni SSH in ingresso. Senza specificare la porta 22 sarà sufficiente in quanto UFW sa quale porta è per SSH.

Il file /etc/services contiene un elenco di tutti i servizi disponibili nel tuo sistema. Apri il file sul tuo editor di testo, scorri fino a ssh e verifica che il numero di porta (22) faccia parte della descrizione del servizio, come mostrato di seguito.

Ma forse preferisci specificare il numero di porta (22
) per consentire l’accesso SSH. In tal caso, esegui invece il seguente comando.
3. Ora esegui il seguente comando per abilitare UFW.
Digita Y nella finestra di conferma, come mostrato di seguito, e premi Invio per continuare l’esecuzione del comando. UFW inizierà ora a filtrare i pacchetti nel tuo sistema.

4. Infine, esegui uno dei seguenti comandi per verificare lo stato del tuo firewall UFW.
Se esegui il comando con l’opzione verbose
, vedrai un output simile al seguente:
- Status: attivo – Indica che il firewall è attualmente in esecuzione.
- Logging: on (basso) – Indica che UFW sta registrando tutti i pacchetti elaborati dal firewall.
- Predefinito: nega (in entrata), consente (in uscita), disabilitato (instradato) – Indica che la politica predefinita è di negare tutte le connessioni in entrata e consentire tutte le connessioni in uscita.
- Profili nuovi: salta – Indica che il firewall sta attualmente utilizzando l’insieme predefinito di regole.

Se esegui il comando con l’opzione numerato
invece, vedrai l’output qui sotto. Puoi vedere un elenco di regole numerate e il loro corrispondente stato CONSENTI o NEGA.

Consentire connessioni HTTP e HTTPS
A questo punto, hai consentito solo connessioni SSH sul tuo firewall UFW, ma questo limita le capacità del tuo server. Consenti altri tipi di connessioni, come HTTP o HTTPS, e aggiungi più regole al firewall UFW.
Esegui uno qualsiasi dei seguenti comandi per consentire connessioni HTTP in entrata.

Ora, esegui uno qualsiasi dei seguenti comandi per consentire connessioni HTTPS in entrata.

Consentire connessioni da un determinato intervallo di porte e indirizzo IP
Alcune applicazioni utilizzano più porte per fornire i loro servizi. E forse hai un intervallo di porte da aprire o devi consentire la connessione da un determinato indirizzo IP. In tal caso, aggiungi più regole al firewall UFW.
Esegui i comandi seguenti per consentire le connessioni in ingresso alle porte da 5001 a 5009. Dovresti sempre specificare il protocollo (tcp
o udp
) dopo l’intervallo di porte a cui si applicano le regole, poiché non tutte le porte sono utilizzate da entrambi i protocolli.
Ad esempio, le porte TCP comunemente utilizzate includono 80 (HTTP) e 443 (HTTPS). Ma le porte UDP comuni includono 53 (DNS) e 67/68 (DHCP).

Esegui il comando sottostante se preferisci consentire le connessioni SSH da un indirizzo IP specifico. Il comando consente connessioni SSH (porta 22
) solo dall’indirizzo IP 192.168.1.2
.

Consentire il Traffico da una Specifica Interfaccia di Rete
UFW ti consente anche di consentire il traffico solo su una specifica interfaccia di rete, come ad esempio eth0 è la prima interfaccia Ethernet e wlan0 è la prima interfaccia Wi-Fi.
Esegui uno dei comandi seguenti per consentire solo connessioni HTTP sulle interfacce eth0
e wlan0
.

Eliminazione delle Regole del Firewall UFW
Forse alcune regole del firewall UFW non servono più. In tal caso, potresti voler rimuovere alcune regole da UFW. Ma prima, devi conoscere il numero o il nome della regola da eliminare.
1. Esegui il comando sottostante per ottenere un elenco numerato delle regole aggiunte a UFW.
Nota il numero o il nome della regola nell’output, come nell’esempio qui sotto.

2. Successivamente, esegui il comando sottostante per eliminare
la regola numero 4
, che è l’intervallo di porte 5001:5010/tcp
.

3. Esegui il comando sottostante per eliminare
una regola dal suo nome effettivo con lo stato allow
. In questo esempio, elimineresti la regola http
eseguendo il seguente comando.

4. Ora esegui il seguente comando per eliminare
una regola specificando un numero di porta (443
) con lo stato allow
.

5. Infine, esegui nuovamente il seguente comando come hai fatto al passo uno per elencare tutte le regole.
Come mostrato di seguito, le regole per l’intervallo di porte 5001:5010/tcp
, la http
e la porta 443
sono ora sparite.

Ripristino del firewall UFW
A volte potrebbe essere necessario ripristinare UFW alle impostazioni predefinite, ad esempio dopo la configurazione di un gran numero di regole. Un aggiornamento potrebbe cambiare la configurazione, richiedendoti di riconfigurare UFW e forse ricominciare da zero.
Esegui il comando ufw reset
qui sotto per ripristinare tutte le regole del tuo firewall alle impostazioni predefinite. Questo comando disabilita UFW e elimina tutte le tue attuali regole del firewall.
Digita ‘Y’ e premi Invio per continuare a reimpostare il firewall UFW.

Dopo che il reset è completo, avrai una nuova installazione di UFW completamente disabilitata, e anche le tue politiche predefinite sono andate.
Ora esegui il comando seguente per riabilitare UFW e inizia a configurare le regole del tuo firewall da zero.
Se decidi di non voler più utilizzare UFW, allora non c’è bisogno di riabilitarlo. Oppure esegui il comando seguente per assicurarti che UFW sia disabilitato.

Conclusione
Durante questo tutorial, hai capito che configurare un firewall non è troppo difficile quando si utilizza UFW. Dovresti ora avere una buona comprensione di come impostare e implementare le tue regole con UFW su Ubuntu.
Ora, perché non approfittare di questa nuova conoscenza imparando di più sulla Sicurezza di UFW e Docker su una macchina Linux?