Skip to content

UFW, o Uncomplicated Firewall, è un’interfaccia per iptables orientata alla semplificazione del processo di configurazione di un firewall. Iptables è uno strumento solido e flessibile, tuttavia può essere difficile per i principianti imparare come usarlo per configurare correttamente un firewall. Se stai cercando di iniziare a proteggere la tua rete, e non sei sicuro di quale strumento usare, UFW potrebbe essere la scelta giusta per te.

Questo tutorial ti mostrerà come configurare un firewall con UFW su Ubuntu 16.04 e 18.xx. Se ti interessa avevo parlato di Ubuntu in una guida precedente: Lista comandi Ubuntu per gestire un web server.

Prerequisiti

Per seguire questo tutorial, avrai bisogno di un server Ubuntu 16.04 con un utente non root sudo. UFW è installato di default su Ubuntu. Se è stato disinstallato per qualche motivo, è possibile installarlo con sudo apt-get install ufw.

Abilitare IPv6

Questo tutorial è scritto basandosi su IPv4 ma funzionerà anche per IPv6. Se il tuo server Ubuntu ha IPv6 abilitato, assicurati che UFW sia configurato per supportare IPv6 in modo che gestisca le regole del firewall per IPv6 oltre a IPv4. Per verificare apri la configurazione UFW con nano o il tuo editor preferito. sudo nano/etc/default/ufw Quindi assicurati che il valore di IPV6 sia yes. Dovrebbe essere così: ... IPV6= yes ... Salva e chiudi il file. Ora, quando UFW è abilitato, sarà configurato per scrivere entrambe le regole del firewall IPv4 e IPv6. Tuttavia, prima di abilitare UFW, assicurarti che il firewall sia configurato per permetterti di connetterti tramite SSH.

Configurazione di base

Le prime regole da definire sono le tue politiche predefinite. Queste regole controllano come gestire il traffico che non corrisponde esplicitamente ad altre regole. Per impostazione predefinita, UFW è impostato per negare tutte le connessioni in entrata e consentire tutte le connessioni in uscita. Ciò significa che chiunque cerchi di raggiungere il tuo server cloud non sarebbe in grado di connettersi, mentre qualsiasi applicazione all’interno del server sarebbe in grado di raggiungere il mondo esterno. Riporto le regole UFW ai valori predefiniti per riferimento. Per impostare i valori predefiniti utilizzati da UFW, utilizzare questi comandi: sudo ufw default deny incoming sudo ufw default allow outgoing Questi comandi impostano i valori predefiniti per negare l’ingresso e consentire le connessioni in uscita. Queste impostazioni predefinite del firewall potrebbero essere sufficienti per un personal computer, ma i server in genere devono rispondere alle richieste in arrivo da parte di utenti esterni.

Consentire le connessioni SSH

Se abilitassi ora il firewall UFW, sarebbero negate tutte le connessioni in entrata. Devi creare regole che consentano esplicitamente connessioni in ingresso legittime, ad esempio connessioni SSH o HTTP, se vuoi che il server risponda a questi tipi di richieste. Se utilizzi un server cloud, è probabile che sia necessario consentire le connessioni SSH in entrata in modo da poter connettersi e gestire il server.

Per configurare il server per consentire le connessioni SSH in arrivo, puoi usare questo comando:

sudo ufw allow ssh
Il comando crea regole firewall che consentono tutte le connessioni sulla porta 22, che è la porta che il daemon SSH ascolta per impostazione predefinita. UFW sa cosa significano SSH e un certo numero di altri nomi di servizi perché sono elencati come servizi nel file /etc/services. Tuttavia, possiamo effettivamente scrivere la regola equivalente specificando la porta al posto del nome del servizio. Ad esempio, questo comando funziona come sopra:
sudo ufw allow 22
Se hai configurato il tuo demone SSH per utilizzare una porta diversa, dovrai specificare la porta appropriata. Ad esempio, se il server SSH è in ascolto sulla porta 2222 , è possibile utilizzare questo comando per consentire le connessioni su tale porta:
sudo ufw allow 2222

Ora che il tuo firewall è configurato per consentire le connessioni SSH in arrivo, possiamo abilitarlo.

Per consentire solo specifici IP:

sudo ufw allow from 15.15.15.51
sudo ufw allow from 15.15.15.51 to any port 22

Per abilitare solo alcune porte:

sudo ufw allow 6000:6007/tcp
sudo ufw allow 6000:6007/udp

Abilitare UFW

Per abilitare UFW, utilizza questo comando:

sudo ufw enable

Riceverai un avviso che dice che il comando potrebbe interrompere le connessioni SSH esistenti. Hai già impostato una regola firewall che consente le connessioni SSH, quindi dovrebbe andare bene continuare. Rispondere al prompt con y.

Il firewall è ora attivo. Sentiti libero di eseguire il comando sudo ufw status verbose per vedere le regole che sono state impostate. Il resto di questo tutorial spiega come utilizzare UFW in modo più dettagliato, come consentire o negare diversi tipi di connessioni.

Abilitare richieste HTTP e HTTPS

A questo punto, dovresti consentire le altre connessioni a cui il tuo server deve rispondere. Le connessioni che devi consentire dipendono dalle tue esigenze specifiche. Fortunatamente, sai già come scrivere regole che consentano connessioni basate su un nome di servizio o una porta; lo abbiamo già fatto per SSH sulla porta 22 . Puoi anche farlo per HTTP e HTTPS:

  • HTTP passa dalla porta 80, usata dai web server non crittografati. Per abilitare richieste sulla porta 80 utilizza sudo ufw allow http oppure sudo ufw allow 80
  • HTTPS passa dalla porta 443, usata dai web server crittografati. Per abilitare richieste sulla porta 443 usa sudo ufw allow https oppure sudo ufw allow 443
  • È possibile aprire entrambe le porte con una sola regola: sudo ufw allow proto tcp from any to any port 80,443
  • FTP passa dalla porta 21, usata per trasferimenti di file non cifrati (che probabilmente non dovresti usare comunque). Per abilitare traffico FTP utilizza sudo ufw allow ftp oppure sudo ufw allow 21/tcp

Negare le connessioni

Se non è stata modificata la politica predefinita per le connessioni in entrata, UFW è configurato per negare tutte le connessioni in entrata. In genere, questo semplifica il processo di creazione di un criterio firewall sicuro richiedendo la creazione di regole che consentano esplicitamente porte e indirizzi IP specifici. Tuttavia, a volte serve negare connessioni specifiche basate sull’indirizzo IP o sulla sottorete di origine, forse perché sai che il tuo server viene attaccato da lì. Inoltre, se desideri modificare la politica in ingresso predefinita in allow (che non è consigliato), è necessario creare regole di rifiuto per tutti i servizi o gli indirizzi IP per i quali non desideri consentire le connessioni. Per scrivere le regole di negazione puoi usare i comandi sopra descritti, sostituendo allow con deny. Ad esempio, per negare le connessioni HTTP puoi utilizzare questo comando:
sudo ufw deny http

Oppure se vuoi negare tutte le connessioni da 150.150.150.51 puoi usare questo comando:

sudo ufw deny from 150.150.150.51

Eliminare le regole

Sapere come eliminare le regole del firewall è importante quanto sapere come crearle. Esistono due modi diversi per specificare quali regole eliminare: per numero di regola o per la regola effettiva (simile a come le regole sono state specificate al momento della creazione). Iniziamo con il metodo di eliminazione per numero di regola perché è più semplice, rispetto alla scrittura delle regole effettive da eliminare, se sei nuovo in UFW.

Per numero di regola

Se stai usando il numero della regola per eliminare le regole del firewall, la prima cosa da fare è ottenere un elenco delle regole del tuo firewall. Il comando di stato UFW ha un’opzione per visualizzare i numeri accanto a ciascuna regola, come illustrato qui:

sudo ufw status numbered
Numbered Output:
Status: active

     To                         Action      From
     --                         ------      ----
[ 1] 22                         ALLOW IN    150.150.150.0/24
[ 2] 80                         ALLOW IN    Anywhere

Per eliminare la regola 2 puoi specificarla in un comando di cancellazione UFW come questo:

sudo ufw delete 2

Dopo un prompt di conferma il sistema elimina la regola 2. Nota che se hai IPv6 abilitato devi cancellare anche la regola IPv6 corrispondente.

Secondo la regola effettiva

L’alternativa ai numeri delle regole è specificare la regola effettiva da eliminare. Ad esempio, se desideri rimuovere la regola allow http è possibile usare questo comando:

sudo ufw delete allow http

Verificare dello stato e delle regole UFW

In qualsiasi momento, puoi controllare lo stato di UFW con questo comando:

sudo ufw status verbose

Disabilitare o reimpostare UFW

Se decidi di non voler utilizzare UFW, puoi disabilitarlo con questo comando:

sudo ufw disable

Qualsiasi regola creata con UFW non sarà più attiva. È sempre possibile eseguire sudo ufw enable se è necessario attivarlo in seguito.

Se hai già configurato le regole UFW ma decidi di voler ricominciare, puoi usare il comando reset:

sudo ufw reset

Questo comando disabilita UFW ed elimina tutte le regole precedentemente definite. Tieni presente che le politiche di default non cambieranno alle loro impostazioni originali.

Log di UFW

Esegui sudo ufw status verbose per verificare se il log è attivo. Se è disattivato puoi abilitarlo con sudo ufw logging oppure sudo ufw logging on . Per disabilitare il logging digita sudo ufw logging off . Puoi trovare il file di log in /var/log/, il nome file inizia con ufw.

Conclusione

Il tuo firewall dovrebbe ora essere configurato per consentire (almeno) connessioni SSH ed accettare le richieste tipiche di un web server. Assicurati di consentire qualsiasi altra connessione in entrata del tuo server, limitando nel contempo le connessioni non necessarie, in modo che il tuo server sia funzionante e sicuro.

Articoli correlati

Autore

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Ultimi articoli aggiornati

Richiedi un preventivo SEO e Google Ads

Porta il tuo sito web al livello successivo con l’expertise di EVE Milano. La nostra agenzia di Search Marketing ha ricevuto oltre 1128 richieste di preventivo, un segnale chiaro della fiducia che imprenditori e manager, come te, ripongono nella nostra specializzazione tecnica e verticale nella SEO e PPC. Se la tua organizzazione cerca competenze specifiche per emergere nei risultati di Google, noi siamo pronti a fornire quel valore aggiunto. Affidati alla nostra esperienza per fare la differenza.
Richiedi un preventivo

Non perderti altre guide, iscriviti per ricevere un avviso mensile con gli aggiornamenti del blog!

Iscriviti alla newsletter!

Informativa sui cookies

Noi e terze parti selezionate utilizziamo cookie o tecnologie simili per finalità tecniche e, con il tuo consenso, anche per le finalità di esperienza e misurazione come specificato nella cookie policy. Puoi liberamente prestare, rifiutare o revocare il tuo consenso, in qualsiasi momento, accedendo al pannello delle preferenze. Il rifiuto del consenso può rendere non disponibili le relative funzioni. Usa il pulsante “Accetta” per acconsentire. Usa il pulsante “Rifiuta” per continuare senza accettare.