Miklix

Come impostare un firewall su Ubuntu Server

Pubblicato: 15 febbraio 2025 alle ore 21:33:50 UTC
Ultimo aggiornamento: 12 gennaio 2026 alle ore 08:37:08 UTC

Questo articolo spiega e fornisce alcuni esempi su come impostare un firewall su GNU/Linux utilizzando ufw, abbreviazione di Uncomplicated FireWall. Il nome è appropriato: è davvero un modo molto semplice per assicurarsi di non avere più porte aperte del necessario.


Questa pagina è stata tradotta automaticamente dall'inglese per renderla accessibile al maggior numero di persone possibile. Purtroppo, la traduzione automatica non è ancora una tecnologia perfezionata, quindi possono verificarsi degli errori. Se preferite, potete consultare la versione originale in inglese qui:

How to Set Up a Firewall on Ubuntu Server

Le informazioni contenute in questo post si basano su Ubuntu Server 14.04 x64. Potrebbero essere valide o meno per altre versioni. (Aggiornamento: posso confermare che le informazioni contenute in questo post sono sostanzialmente ancora valide e funzionali a partire da Ubuntu Server 24.04; tuttavia, negli ultimi 10 anni, ufw è diventato un po' più "intelligente" grazie all'aggiunta di profili per le applicazioni server più comuni (ad esempio, è possibile abilitare "Nginx full" anziché le porte 80 e 443 separatamente) e non è più necessario disabilitare/abilitare l'intero firewall per applicare le nuove regole).

Quando ho iniziato a usare i server GNU/Linux (Ubuntu), configurare un firewall implicava la creazione e la manutenzione manuale di un file di configurazione per iptables potenzialmente complesso. Tuttavia, ho scoperto di recente ufw, abbreviazione di Uncomplicated Firewall – e lo è davvero :-)

Nella mia installazione di Ubuntu Server 14.04 era già installato ufw, ma se la tua non ce l'ha, puoi semplicemente installarlo dai repository:

sudo apt-get install ufw

UFW è in realtà solo uno strumento che semplifica la configurazione di iptables: dietro le quinte, sono sempre iptables e il firewall del kernel Linux a eseguire il filtraggio, quindi ufw non è né meno né più sicuro di questi. Tuttavia, poiché ufw semplifica notevolmente la corretta configurazione di un firewall, può ridurre il rischio di errore umano ed è quindi potenzialmente più sicuro per gli amministratori inesperti.

Se il tuo server è configurato sia con IPv6 che con IPv4, assicurati che sia abilitato anche per UFW. Modifica il file /etc/default/ufw e cerca una riga che dice IPV6=yes. Nella mia installazione era già presente, ma se non lo è o se dice no, dovresti modificarla.

Quindi, utilizza semplicemente il prompt dei comandi per abilitare le porte che desideri aprire. Se sei connesso al server tramite SSH, assicurati di abilitare anche questa funzionalità, altrimenti potrebbe interrompere la connessione e bloccarti l'accesso al server quando lo attivi. A seconda che tu abbia accesso fisico al server o meno, questo potrebbe essere un po' scomodo ;-)

Ad esempio, se si utilizza ssh sulla porta standard 22 e si sta configurando un server web che supporta sia connessioni non crittografate (HTTP sulla porta 80) sia connessioni crittografate (HTTPS sulla porta 443), è necessario immettere i seguenti comandi per configurare ufw:

sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

Se hai bisogno di altre regole, aggiungile semplicemente come sopra.

Se hai un indirizzo IP statico e hai bisogno di connetterti tramite SSH solo da una posizione, puoi anche limitare le connessioni SSH a un singolo indirizzo di origine in questo modo:

sudo ufw allow from 192.168.0.1 to any port 22

Naturalmente, inserisci il tuo indirizzo IP.

Al termine, abilitare ufw immettendo:

sudo ufw enable

E il gioco è fatto! Il firewall è in funzione e si avvierà automaticamente al riavvio del server :-)

Se apporti modifiche alla configurazione ufw, potrebbe essere necessario disabilitarla e abilitarla nuovamente per renderle effettive, in questo modo:

sudo ufw disable
sudo ufw enable

Per visualizzare la configurazione attuale, è sufficiente immettere:

sudo ufw status

Se ufw non è abilitato, verrà semplicemente visualizzato un messaggio "inattivo", altrimenti verranno elencate le regole attualmente definite.

Condividi su BlueskyCondividi su FacebookCondividi su LinkedInCondividi su TumblrCondividi su XCondividi su LinkedInAggiungi su Pinterest

Mikkel Christensen

Sull'autore

Mikkel Christensen
Mikkel è il creatore e proprietario di miklix.com. Ha oltre 20 anni di esperienza come programmatore di computer/sviluppatore di software ed è attualmente impiegato a tempo pieno in una grande azienda IT europea. Quando non scrive sul blog, dedica il suo tempo libero a una vasta gamma di interessi, hobby e attività, che in qualche modo si riflettono nella varietà di argomenti trattati in questo sito.