Miklix

Come impostare un firewall su Ubuntu Server

Pubblicato: 15 febbraio 2025 alle ore 21:33:50 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 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 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" avendo profili per applicazioni server comuni (ad esempio, puoi abilitare "Nginx full" invece delle porte 80 e 443 separatamente) e disabilitare/abilitare l'intero firewall per ottenere l'applicazione di nuove regole non è più necessario)

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

Nella mia installazione di Ubuntu Server 14.04 era già installato ufw, ma se nella tua non è così, installalo semplicemente dai repository:

sudo apt-get install ufw

UFW è in realtà solo uno strumento che semplifica la configurazione di iptables: dietro le quinte, sono ancora iptables e il firewall del kernel Linux a fare il filtraggio, quindi ufw non è né meno né più sicuro di questi. Tuttavia, poiché ufw rende molto più facile configurare correttamente un firewall, potrebbe ridurre il rischio di errore umano ed è quindi probabilmente più sicuro per gli amministratori inesperti.

Se il tuo server è configurato con IPv6 e 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à lì, ma se non lo è o se dice no, dovresti modificarlo

Quindi usa semplicemente il prompt dei comandi per abilitare le porte che vuoi aprire. Se sei connesso al tuo server tramite ssh, assicurati di consentirlo anche tu o potrebbe interrompere la tua connessione e bloccarti fuori dal tuo 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) che 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 hai finito! Il firewall è in esecuzione e si avvierà automaticamente quando riavvierai il 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 Bang Christensen

Sull'autore

Mikkel Bang 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.