Installa UFW: Come Configurare un Firewall di Base su Linux
UFW (Uncomplicated Firewall) semplifica la gestione del firewall su Linux fornendo un'interfaccia facile da usare per iptables. Questa guida copre l'installazione e la configurazione di UFW sulle distribuzioni basate su Debian, dalla configurazione di base a configurazioni pratiche del firewall per desktop e server web.
In questo tutorial imparerai:
- Come installare UFW sulle distribuzioni basate su Debian
- Come configurare le regole predefinite del firewall
- Come consentire e negare il traffico per servizio, porta e IP
- Come usare i profili delle applicazioni UFW
- Come configurare le regole del firewall per desktop e server
Riepilogo dell'articolo: Installa UFW con sudo apt install ufw, poi configura le policy predefinite e abilita il firewall.
| Passo | Comando/Azione |
|---|---|
| 1. Installa UFW | |
| 2. Imposta le politiche predefinite | sudo ufw default deny incomingsudo ufw default allow outgoing |
| 3. Consenti l'accesso SSH | |
| 4. Abilitare il firewall | |
Installa UFW
UFW è disponibile nei repository predefiniti delle distribuzioni basate su Debian. Installalo utilizzando il gestore di pacchetti apt:
$ sudo apt install ufw
Dopo l'installazione, UFW è inattivo per impostazione predefinita. Questo ti permette di configurare le tue regole prima di attivare il firewall, evitando blocchi accidentali dai sistemi remoti.
Imposta i tuoi predefiniti
Come con iptables, è meglio iniziare impostando il comportamento predefinito. Sui desktop, di solito si vuole negare il traffico in entrata mentre si consentono le connessioni in uscita.
$ sudo ufw default deny incomingLa sintassi per consentire il traffico è simile:
$ sudo ufw default allow outgoingQueste impostazioni predefinite garantiscono che le connessioni in arrivo non richieste siano bloccate, mentre il tuo sistema può comunque accedere a Internet e ai servizi esterni.
Uso di base
Ora sei pronto per iniziare a impostare le regole e gestire il tuo firewall. I comandi UFW sono progettati per essere leggibili e intuitivi.
Avvio e Arresto
Anche se puoi usare systemd per controllare UFW, esso ha i propri comandi che sono più semplici. Inizia abilitando UFW:
$ sudo ufw enableATTENZIONE
Se sei connesso tramite SSH, assicurati di consentire il traffico SSH prima di abilitare UFW, altrimenti potresti perdere l'accesso al tuo sistema.
Per interrompere e disabilitare UFW durante l'avvio:
$ sudo ufw disableVerifica se UFW è in esecuzione e visualizza le regole attive:
$ sudo ufw statusPer un output più dettagliato, inclusi i numeri delle regole:
$ sudo ufw status numberedComandi
Consenti il traffico HTTP in ingresso utilizzando il nome del servizio:
$ sudo ufw allow http
Consenti connessioni SSH:
$ sudo ufw allow sshPuoi ottenere lo stesso risultato utilizzando i numeri di porta. Questo comando consente il traffico HTTPS in ingresso sulla porta 443:
$ sudo ufw allow 443Consenti il traffico da un indirizzo IP specifico o da un intervallo di rete. Questo esempio permette tutto il traffico dalla rete locale:
$ sudo ufw allow from 192.168.1.0/24Per un intervallo di porte, specificare il protocollo (TCP o UDP):
$ sudo ufw allow 56881:56889/tcpUsa deny invece di allow per bloccare il traffico:
$ sudo ufw deny from 192.168.1.110Per mirare specificamente alle connessioni in uscita, includi out:
$ sudo ufw allow out sshPer eliminare una regola, usa il numero della regola da ufw status numbered:
$ sudo ufw delete 3Profili delle applicazioni UFW
UFW include profili delle applicazioni che definiscono le regole del firewall per i servizi comuni. Questi profili semplificano la configurazione raggruppando impostazioni di porte e protocolli sotto nomi di applicazioni riconoscibili.
Elenca i profili delle applicazioni disponibili:
$ sudo ufw app listVisualizza i dettagli di un profilo applicazione specifico:
$ sudo ufw app info OpenSSH
Questo mostra le porte e i protocolli utilizzati dall'applicazione. Per consentire a un'applicazione di passare attraverso il firewall:
$ sudo ufw allow OpenSSHI profili applicativi comuni includono OpenSSH, Apache, Apache Full, Nginx Full e altri a seconda del software installato. I profili applicativi sono memorizzati in /etc/ufw/applications.d/ e puoi creare profili personalizzati per le tue applicazioni.
Configurazione di un desktop
Questo esempio fornisce un punto di partenza per una configurazione di base di un firewall desktop. Modifica le regole in base alle tue esigenze specifiche.
Inizia impostando i valori predefiniti:
$ sudo ufw default deny incoming
$ sudo ufw default allow outgoingConsenti il traffico HTTP e HTTPS per la navigazione web:
$ sudo ufw allow http
$ sudo ufw allow httpsAbilita l'accesso SSH:
$ sudo ufw allow sshConsenti NTP per la sincronizzazione dell'orologio di sistema:
$ sudo ufw allow ntpA meno che tu non stia usando un IP statico, consenti il DHCP sulle porte 67 e 68:
$ sudo ufw allow 67:68/udpConsenti il traffico DNS per la risoluzione dei nomi di dominio:
$ sudo ufw allow 53Per i client torrent come Deluge:
$ sudo ufw allow 56881:56889/tcpSteam richiede più porte:
$ sudo ufw allow 27000:27036/udp
$ sudo ufw allow 27036:27037/tcp
$ sudo ufw allow 4380/udpConfigurare un server web
I server web richiedono una configurazione più restrittiva per ridurre al minimo la superficie di attacco garantendo al contempo che il traffico legittimo scorra senza ostacoli.
Per i server, rifiuta tutto il traffico per impostazione predefinita. Disabilita il firewall prima di apportare queste modifiche per evitare di perdere l'accesso SSH:
$ sudo ufw default deny incoming
$ sudo ufw default deny outgoing
$ sudo ufw default deny forwardAbilita sia il traffico web in entrata che in uscita:
$ sudo ufw allow http
$ sudo ufw allow out http
$ sudo ufw allow https
$ sudo ufw allow out httpsConsenti SSH per la gestione remota:
$ sudo ufw allow ssh
$ sudo ufw allow out sshAbilita NTP per la sincronizzazione dell'orario:
$ sudo ufw allow ntp
$ sudo ufw allow out ntpConsenti DNS per gli aggiornamenti dei pacchetti e la risoluzione dei domini:
$ sudo ufw allow 53
$ sudo ufw allow out 53Conclusione
UFW offre un approccio semplice alla gestione del firewall sui sistemi Linux. Nonostante la sua semplicità, UFW è pronto per l'uso in produzione perché funziona come interfaccia front-end di iptables, offrendo la stessa sicurezza robusta. Gli esempi in questa guida coprono configurazioni comuni per desktop e server, ma dovresti personalizzare le regole in base alle tue esigenze specifiche e alla configurazione della rete. Per una documentazione completa, consulta la manpage ufficiale di UFW.
Domande Frequenti
- Come posso verificare se UFW sta bloccando una connessione specifica? Usa
sudo ufw status verboseper vedere tutte le regole attive e le loro policy. Puoi anche controllare i log di UFW in/var/log/ufw.logper i tentativi di connessione bloccati. Abilita il logging consudo ufw logging onse non è già attivo. - Posso reimpostare UFW al suo stato predefinito? Sì, esegui
sudo ufw resetper rimuovere tutte le regole e disattivare il firewall. Questo riporta UFW al suo stato iniziale post-installazione, utile se hai commesso errori di configurazione e vuoi ricominciare da capo. - Qual è la differenza tra ufw allow e ufw limit? Il comando
allowpermette tutto il traffico corrispondente, mentrelimitaggiunge un limite di velocità per prevenire attacchi brute-force. Ad esempio,sudo ufw limit sshpermette le connessioni SSH ma blocca un indirizzo IP che tenta più di 6 connessioni entro 30 secondi. - UFW persiste dopo il riavvio? Sì, una volta abilitato con
sudo ufw enable, UFW si avvia automaticamente all'avvio e carica le regole salvate. Le regole sono memorizzate in/etc/ufw/e persistono tra i riavvii senza configurazioni aggiuntive.
