Introduzione
UFW, acronimo di Uncomplicated Firewall, è il modo più semplice e pulito per gestire il firewall su Ubuntu 24.04. Se devi mettere ordine in una VPS, proteggere un server web o ridurre la superficie di attacco senza impazzire con regole complesse, UFW è spesso la scelta giusta.
Questa guida parte da un’installazione pulita e arriva a una configurazione pratica per server reali: SSH, HTTP, HTTPS, DNS, mail e controllo finale. L’obiettivo non è solo “accendere il firewall”, ma farlo senza bloccarti fuori dal server e senza aprire porte inutili.
Regola d’oro: prima autorizza l’accesso amministrativo, poi attiva il firewall. Non il contrario.
Prima di iniziare
UFW su Ubuntu 24.04 usa come base nftables tramite il sistema di gestione del firewall di Ubuntu. Nella pratica, però, tu lavorerai quasi sempre con i comandi UFW, che restano semplici e leggibili.
Ti conviene avere già:
- accesso SSH al server come utente con privilegi sudo;
- un secondo accesso di emergenza, se possibile, tramite console del provider;
- un’idea chiara dei servizi che devono restare raggiungibili;
- una finestra di manutenzione se il server è in produzione.
Se il server ospita un sito, verifica prima quali porte servono davvero. Per esempio: un sito WordPress classico richiede di solito solo 22, 80 e 443; un mail server aggiunge 25, 465, 587, 110, 995, 143 e 993; un DNS server può richiedere 53 TCP e UDP.
Installazione di UFW
Su Ubuntu 24.04 UFW spesso è già presente, ma puoi verificare e installare in pochi secondi.
sudo apt update
sudo apt install ufwControlla lo stato:
sudo ufw status verboseEsito atteso: se UFW non è attivo, vedrai qualcosa come Status: inactive. Questo è normale prima della configurazione.
Configurazione sicura di base
Prima di attivare il firewall, imposta la politica di default in modo prudente. L’idea è bloccare tutto in ingresso, consentire tutto in uscita e poi aprire solo ciò che serve davvero.
sudo ufw default deny incoming
sudo ufw default allow outgoingQuesta è la base più sicura per la maggior parte dei server. In ingresso si accetta solo il traffico autorizzato, in uscita il sistema resta operativo senza problemi per aggiornamenti, DNS, repository e servizi esterni.
Autorizzare SSH prima di attivare UFW
Se lavori via SSH, questo passaggio è obbligatorio. Senza regola SSH rischi di chiuderti fuori.
Se usi la porta standard 22:
sudo ufw allow OpenSSHSe hai cambiato porta, ad esempio 2222:
sudo ufw allow 2222/tcpVerifica che la regola sia presente:
sudo ufw status numberedEsito atteso: una riga che consenta OpenSSH oppure la porta TCP specifica che hai scelto.
Attivare UFW
Quando SSH è già autorizzato, puoi attivare il firewall:
sudo ufw enableUFW chiederà conferma. Rispondi y solo se hai verificato la regola SSH. Dopo l’attivazione, controlla lo stato:
sudo ufw status verboseEsito atteso: Status: active, con le policy di default impostate e almeno una regola per SSH.
Regole pratiche per i servizi più comuni
Qui si fa la differenza tra un firewall teorico e uno utile davvero. Apri solo le porte necessarie al servizio reale che stai eseguendo.
Sito web HTTP e HTTPS
Per un server web classico, abilita le porte standard del traffico web:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcpSe preferisci, puoi usare i profili applicativi disponibili:
sudo ufw app list
sudo ufw allow 'Nginx Full'
# oppure
sudo ufw allow 'Apache Full'Esito atteso: il sito deve rispondere in HTTP e HTTPS, ma non devono esserci porte extra aperte inutilmente.
DNS
Se il server fa da resolver o da nameserver, il DNS richiede sia TCP sia UDP sulla porta 53:
sudo ufw allow 53In molti casi UFW applica la regola a entrambi i protocolli. Se vuoi essere esplicito:
sudo ufw allow 53/tcp
sudo ufw allow 53/udpUsa questa apertura solo se il server deve davvero rispondere a richieste DNS dall’esterno.
Mail server
Per un server di posta la configurazione varia molto, ma in genere servono queste porte:
- 25/tcp per SMTP in ingresso tra server;
- 465/tcp per SMTPS, se usato;
- 587/tcp per submission;
- 110/tcp e 995/tcp per POP3/POP3S;
- 143/tcp e 993/tcp per IMAP/IMAPS.
Esempio:
sudo ufw allow 25/tcp
sudo ufw allow 587/tcp
sudo ufw allow 993/tcpApri solo ciò che il tuo stack mail usa davvero. Se usi un servizio come Postfix con Dovecot e accesso IMAPS, spesso bastano 25, 587 e 993.
Accesso remoto a database
Se il database deve essere raggiungibile dall’esterno, la scelta migliore è quasi sempre evitare l’esposizione pubblica e usare una VPN o un tunnel SSH. Se però è indispensabile, limita l’accesso a un IP preciso.
Per MySQL/MariaDB sulla porta 3306, esempio con un IP singolo:
sudo ufw allow from 203.0.113.10 to any port 3306 proto tcpEsito atteso: solo quell’indirizzo può raggiungere il database. Tutti gli altri restano bloccati.
Gestione delle regole in modo ordinato
Con il tempo un firewall si sporca facilmente. Per evitarlo, usa regole chiare e verifica regolarmente cosa è aperto.
Mostra le regole con numerazione:
sudo ufw status numberedSe devi rimuovere una regola, usa il numero visualizzato. Ad esempio:
sudo ufw delete 3Prima di eliminare, controlla bene che la regola sia davvero superflua. La cancellazione è reversibile solo se sai ricrearla correttamente.
Se vuoi limitare tentativi ripetuti su SSH, puoi usare il rate limit:
sudo ufw limit OpenSSHEsito atteso: riduce l’efficacia di brute force semplici, senza bloccare gli accessi normali.
Logging e diagnosi
I log sono la tua cassetta degli attrezzi quando qualcosa non funziona. Se un servizio non risponde, prima controlla se il firewall sta bloccando il traffico.
Abilita il logging:
sudo ufw logging onPuoi impostare diversi livelli, ma per la maggior parte dei casi il livello low o medium è un buon compromesso:
sudo ufw logging lowPer consultare i log su Ubuntu, usa:
sudo tail -f /var/log/ufw.logSe il file non esiste, controlla anche il journal:
sudo journalctl -u ufw -fEsito atteso: quando una connessione viene bloccata, trovi una traccia utile con sorgente, destinazione e porta.
Verifiche finali dopo la configurazione
Un firewall ben fatto si controlla sempre dopo l’attivazione. Non basta leggere “active”. Devi verificare che i servizi critici rispondano davvero.
- Verifica lo stato del firewall con
sudo ufw status verbose, che deve mostrare active e le regole corrette. - Controlla la raggiungibilità SSH da una seconda sessione prima di chiudere quella attuale.
- Testa il sito con
curl -I http://localhostocurl -I https://localhost, con esito atteso 200 o un redirect coerente. - Se hai aperto DNS o mail, prova il servizio con strumenti dedicati o da un host esterno autorizzato.
Se qualcosa non risponde, non improvvisare: torna a controllare la regola, il servizio in ascolto e l’eventuale filtro di un altro layer, come security group cloud, firewall hardware o ACL del provider.
Rollback e ripristino
Il rollback deve essere semplice e immediato. Se dopo l’attivazione perdi accesso o un servizio essenziale smette di funzionare, hai due opzioni sicure.
Per disattivare temporaneamente UFW:
sudo ufw disableEsito atteso: il firewall si ferma e il traffico torna gestito dagli altri livelli di rete eventualmente presenti.
Se vuoi ripartire da zero, puoi resettare la configurazione:
sudo ufw resetAttenzione: questa operazione cancella tutte le regole UFW. Usala solo se sai esattamente cosa stai facendo e hai già un piano per ricreare le regole corrette.
Dopo un rollback, verifica sempre con:
sudo ufw status verboseEsito atteso: inactive se hai disabilitato il firewall, oppure configurazione pulita se hai eseguito il reset.
Configurazione consigliata per un server web tipico
Se hai una VPS con un sito web, spesso questa è la base più equilibrata:
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enableQuesta configurazione è adatta a un web server standard senza servizi extra esposti. Se poi aggiungi DNS, mail o pannelli di controllo, apri solo le porte necessarie e documenta ogni modifica.
Per un server gestito con cPanel, Plesk o altri pannelli, la logica resta identica: apri solo i servizi realmente usati dal pannello e dal sito, non l’intero catalogo delle porte “per sicurezza”.
Buone pratiche da portare a casa
- Fai sempre un backup della configurazione prima di modifiche importanti.
- Non aprire porte solo perché “potrebbero servire”.
- Controlla anche firewall esterni: cloud, router, security group, appliance.
- Usa regole con IP limitato quando possibile.
- Rivedi periodicamente le porte aperte, soprattutto dopo installazioni e migrazioni.
UFW funziona bene proprio quando resta essenziale: poche regole chiare, servizi ben definiti e controlli regolari. Su Ubuntu 24.04 è uno strumento concreto, leggero e adatto sia ai server piccoli sia alle VPS di produzione.
Commenti (0)
Nessun commento ancora.
Segnala contenuto
Elimina commento
Eliminare definitivamente questo commento?
L'azione non si può annullare.