UFW-Firewall
UFW-Firewall con interfaccia semplificata per gestire firewall, nasconde la complessità delle tecnologie di filtraggio dei pacchetti di livello inferiore come iptables e nftables. Se stai cercando di iniziare a proteggere la tua rete e non sei sicuro di quale strumento utilizzare, UFW potrebbe essere la scelta giusta per te.
1: Installare
Per installare apri un terminale (ctrl+alt+t) e scrivi i seguenti comandi:
- sudo apt install ufw
Questo tutorial è stato scritto pensando a IPv4, ma, dopo averlo abilitato, funzionerà anche per IPv6. Se il tuo server Ubuntu ha IPv6 abilitato, assicurati che UFW sia configurato per supportare IPv6 in modo che gestirà le regole del firewall sia per IPv6 che per IPv4. Per fare ciò, apri la configurazione UFW con nano o il tuo editor preferito.
- sudo nano /etc/default/ufw
Quindi assicurati che il valore di IPV6 sia sì:
Salva e chiudi il file con ctrl+x poi si. Ora, quando UFW è abilitato, sarà configurato per scrivere sia le regole del firewall IPv4 che IPv6. Tuttavia, prima di abilitare UFW, vorremo assicurarci che il tuo firewall sia configurato per consentirti di connetterti tramite SSH. Iniziamo con l’impostazione dei criteri predefiniti.
2: Impostazione dei criteri predefiniti
Se hai appena iniziato con il tuo firewall, le prime regole da definire sono le politiche predefinite. Queste regole controllano come gestire il traffico che non corrisponde esplicitamente ad altre. Per impostazione predefinita, UFW è impostato per negare tutte le connessioni in entrata e consentire tutte quelle in uscita. Ciò significa che chiunque tenti di raggiungere il tuo server non sarà in grado di connettersi, mentre qualsiasi applicazione all’interno del server sarebbe in grado di raggiungere il mondo esterno.
Riportiamo le tue regole UFW sui valori predefiniti in modo da poter essere sicuri che sarai in grado di seguire questo tutorial. Per impostare i valori predefiniti utilizzati da UFW, utilizza questi comandi:
- sudo ufw default deny incoming
- sudo ufw default allow outgoing
Questi comandi impostano le impostazioni predefinite per negare l’ingresso e consentire le connessioni in uscita. Queste impostazioni predefinite del firewall da sole potrebbero essere sufficienti per un personal computer, ma i server in genere devono rispondere alle richieste in arrivo da utenti esterni.
3: Consentire le connessioni SSH
Se abilitassimo ora il nostro UFW-firewall , negherebbe tutte le connessioni in entrata. Se volessimo che il nostro server risponda a questo tipo di richieste e che il nostro server risponda ad esse dovremo creare regole che consentano connessioni in entrata, ad esempio connessioni SSH o HTTP. Se stai utilizzando un server cloud, probabilmente vorrai consentire le connessioni SSH in entrata in modo da poterti connettere e gestire il tuo server.
Per configurare il tuo server per consentire le connessioni SSH in entrata, puoi usare questo comando:
- sudo ufw allow ssh
Questo creerà regole firewall che consentiranno tutte le connessioni sulla porta 22, che è la porta su cui il demone SSH, per impostazione predefinita è in ascolto. UFW sa cosa significa port allow ssh perché è elencato come servizio nel file /etc/services.
Tuttavia, possiamo effettivamente scrivere la regola equivalente specificando la porta invece del nome del servizio. Ad esempio, questo comando è lo stesso di quello sopra:
- sudo ufw permetti 22
Se hai configurato il tuo demone SSH per utilizzare una porta diversa, dovrai specificare la porta appropriata. Ad esempio, se il tuo server SSH è in ascolto sulla porta 2222, puoi utilizzare questo comando per consentire le connessioni:
- sudo ufw consentire 2222
Ora che il tuo firewall è configurato per consentire le connessioni SSH in entrata, abilitiamolo.
4: Abilitare UFW
Per abilitare UFW, usa questo comando:
- sudo ufw enable
Riceverai un avviso che dirà: il comando potrebbe interrompere le connessioni SSH esistenti. Le regole del firewall per consentire connessioni ssh sono già state impostate, possiamo tranquillamente continuare. Rispondi al prompt con y e premi INVIO.
Il firewall ora è attivo. Esegui il comando sudo ufw status verbose per vedere le regole impostate. Il resto di questo tutorial illustra come utilizzare UFW in modo più dettagliato, ad esempio consentire o negare diversi tipi di connessioni.
- sudo ufw status verbose
5: Consentire altre connessioni
A questo punto, puoi consentire tutte le altre connessioni a cui il tuo server deve rispondere. Le connessioni che dovresti consentire dipendono dalle tue esigenze. Fortunatamente, sai già come scrivere regole che consentono connessioni basate su un nome di servizio o una porta; lo abbiamo già visto per ssh sulla porta 22. Puoi anche farlo per:
HTTP sulla porta 80, che è ciò che utilizzano i server Web non crittografati, con:
- sudo ufw allow http
oppure
- sudo ufw allow 80
Esistono molti altri modi per consentire connessioni, oltre a specificare una porta o un servizio noto.
Intervalli di specifiche porte
Possiamo specificare gli intervalli di porte. Alcune applicazioni, invece di una singola porta, utilizzano più porte.
Ad esempio, per consentire le connessioni X11, che utilizzano le porte 6000-6007, usano questi comandi:
- sudo ufw allow 6000:6007/tcp
- sudo ufw allow 6000:6007/udp
Quando si specificano gli intervalli di porte, dobbiamo specificare il protocollo (tcp o udp) a cui devono essere applicate le regole. Non l’abbiamo menzionato prima perché non specificare il protocollo consente automaticamente entrambi i protocolli, il che nella maggior parte dei casi va bene.
Indirizzi IP specifici
Quando lavoriamo con UFW, possiamo anche specificare gli indirizzi IP. Ad esempio, se vogliamo consentire le connessioni da un indirizzo IP specifico, come un indirizzo IP di lavoro o di casa di 203.0.113.4, dobbiamo specificare la provenienza, quindi l’indirizzo IP::
- sudo ufw allow from 203.0.113.4
Puoi anche specificare una porta distinta a cui l’indirizzo IP può connettersi, aggiungendo un numero a qualsiasi porta. Ad esempio, se si desidera consentire a 203.0.113.4 di connettersi alla porta 22 (SSH), usa questo comando:
- sudo ufw allow from 203.0.113.4 to any port 22
Sottoreti
Se desideri consentire una sotto rete agli indirizzi IP, puoi farlo utilizzando la notazione CIDR per specificare una maschera di rete. Ad esempio, se vuoi consentire tutti gli indirizzi IP che vanno da 203.0.113.1 a 203.0.113.255 puoi usare questo comando:
- sudo ufw allow from 203.0.113.0/24
Allo stesso modo, puoi anche specificare la porta di destinazione a cui la sotto rete 203.0.113.0/24 può connettersi. Ancora una volta, useremo la porta 22 (SSH) come esempio:
- sudo ufw allow from 203.0.113.0/24 to any port 22
Connessioni a una specifica interfaccia di rete
Se vuoi creare una regola firewall che si applichi solo a un’interfaccia di rete specifica, puoi farlo specificando “consenti accesso” seguito dal nome dell’interfaccia di rete.
Potresti voler cercare le tue interfacce di rete prima di continuare. Per farlo, con questo comando:
L’output evidenziato indica i nomi dell’interfaccia di rete. In genere sono chiamati qualcosa come eth0 o enp3s2.
Quindi, se il tuo server ha un’interfaccia di rete pubblica chiamata eth0, puoi consentire il traffico HTTP (porta 80) con questo comando:
- sudo ufw allow in on eth0 to any port 80
Ciò consentirebbe al tuo server di ricevere richieste HTTP dalla rete Internet pubblica.
Oppure, se vuoi che il tuo server di database MySQL (porta 3306) ascolti le connessioni sull’interfaccia di rete privata eth1, puoi usare questo comando:
- sudo ufw allow in on eth1 to any port 3306
Ciò consentirebbe ad altri server sulla tua rete privata di connettersi al tuo database MySQL.
6: Negare le connessioni
Se non hai modificato la politica predefinita per le connessioni in entrata, UFW è configurato per negarle tutte. In genere, ciò semplifica il processo di creazione di una policy firewall sicura richiedendo la creazione di regole che consentano esplicitamente il passaggio di porte e indirizzi IP specifici.
Tuttavia, può capitare che tu voglia negare connessioni specifiche in base all’indirizzo IP o alla sotto rete di origine, forse perché sai che il tuo server viene attaccato. Inoltre, se desideri modificare la tua politica in entrata predefinita per consentire (cosa non consigliata), dovrai creare regole di negazione per tutti i servizi o indirizzi IP per i quali non desideri consentire le connessioni.
Per scrivere regole di negazione, è possibile utilizzare i comandi sopra descritti, sostituendo allow connega.
Ad esempio, per negare le connessioni HTTP, puoi usare questo comando:
- sudo ufw deny http
Oppure se vuoi negare tutte le connessioni da 203.0.113.4 puoi usare questo comando:
- sudo ufw deny da 203.0.113.4
Ora diamo un’occhiata a come eliminare le regole.
7: Eliminazione delle regole
Sapere come eliminare le regole del firewall è importante sapere come crearle. Esistono due modi diversi per specificare quali regole eliminare: in base al numero di regola o in base alla regola effettiva (in modo analogo a come sono state specificate le regole al momento della creazione). Inizieremo, con il più semplice, il metodo di eliminazione per numero di regola.
Per numero di regola
Se stai utilizzando il numero di regola per eliminare le regole del firewall, la prima cosa che vorrai fare è ottenere un elenco delle regole. Il comando di stato UFW ha un’opzione per visualizzare i numeri accanto a ciascuna regola:
- sudo ufw status numbered
Se decidiamo di voler eliminare la regola 2, quella che consente connessioni alla porta 80 (HTTP), possiamo specificarla in un comando di eliminazione UFW come questo:
- sudo ufw delete 2
Ciò mostrerebbe una richiesta di conferma, quindi eliminerebbe la regola 2, che consente le connessioni HTTP. Tieni presente che se hai abilitato IPv6, dovrai eliminare anche la regola IPv6 corrispondente.
Per regola reale
L’alternativa ai numeri delle regole consiste nello specificare la regola effettiva da eliminare. Ad esempio, se vuoi rimuovere la regola http di autorizzazione, puoi scriverla in questo modo:
- sudo ufw delete allow http
Puoi anche specificare la regola con allow 80, invece del nome del servizio:
- sudo ufw delete consenti 80
Questo metodo eliminerà sia le regole IPv4 che IPv6, se esistono.
8: Verifica dello stato delle regole UFW
In qualsiasi momento è possibile verificare lo stato di UFW con questo comando:
- sudo ufw state details
Se UFW è disabilitato, per impostazione predefinita, vedrai qualcosa del genere:
Produzione
Stato: inattivo
Se UFW è attivo, come dovrebbe essere se hai seguito il passaggio 3, l’output dirà che è attivo ed elencherà tutte le regole impostate.
Utilizzare il comando di stato se desideri verificare come UFW ha configurato il firewall.
Passaggio 9: disabilitazione o ripristino dell’UFW (opzionale)
Se decidi di non voler utilizzare UFW, puoi disabilitarlo con questo comando:
- sudo ufw disable
Tutte le regole che hai creato con UFW non saranno più attive. Puoi sempre eseguire sudo ufw enable se è necessario attivarlo in un secondo momento.
Se hai già configurato le regole UFW ma decidi di voler ricominciare, puoi usare il comando reset:
- sudo ufw reset
Ciò disabiliterà UFW ed eliminerà tutte le regole precedentemente definite. Tieni presente che le politiche predefinite non cambieranno alle loro impostazioni originali, se le hai modificate in qualsiasi momento. Questo dovrebbe darti un nuovo inizio con UFW.
Conclusione
Il tuo firewall è ora configurato per consentire connessioni SSH. Assicurati di consentire qualsiasi altra connessione in entrata di cui il tuo server ha bisogno, limitando al contempo le connessioni non necessarie, in modo che il tuo server sia funzionante e sicuro.
Articoli Correlati
Grazie! per l’utilizzo della Guida di Linuxiano.
Trovi questo tutorial utile? Condividi con i tuoi amici per tenerlo in vita.
Sii il primo a commentare, apprezzo i tuoi suggerimenti. Per ulteriori domande potete commentare qui sotto.
Fonte: https://linuxiano.altervista.org/2022/01/ufw-firewall-2/
Se vuoi sostenerci, puoi farlo acquistando qualsiasi cosa dai diversi link di affiliazione che abbiamo nel nostro sito o partendo da qui oppure alcune di queste distribuzioni GNU/Linux che sono disponibili sul nostro negozio online, quelle mancanti possono essere comunque richieste, e su cui trovi anche PC, NAS e il ns ServerOne. Se ti senti generoso, puoi anche donarmi solo 1€ o più se vuoi con PayPal e aiutarmi a continuare a pubblicare più contenuti come questo. Grazie!
Hai dubbi o problemi? Ti aiutiamo noi!
Se vuoi rimanere sempre aggiornato, iscriviti al nostro canale Telegram.Se vuoi ricevere supporto per qualsiasi dubbio o problema, iscriviti alla nostra community Facebook o gruppo Telegram.
Cosa ne pensi? Fateci sapere i vostri pensieri nei commenti qui sotto.
Ti piace quello che leggi? Per favore condividilo con gli altri.