GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come impostare e configurare UFW Firewall su Ubuntu 20.04

Una delle chiavi di volta di qualsiasi sistema operativo è un firewall correttamente configurato per la sicurezza completa del sistema. UFW (Uncomplicated Firewall) è installato di default sui sistemi operativi Ubuntu; tuttavia, non è abilitato. Uno dei grandi vantaggi di UFW è la sua semplicità, la riga di comando intuitiva e facile da usare, che lo rende ideale per i principianti in Linux e per gli utenti esperti più avanzati.

Nel seguente tutorial imparerai a installare e configurare UFW Firewall su Ubuntu 20.04 LTS Focal Fossa Desktop o Server usando il terminale di comando.

Prerequisiti

  • Sistema operativo consigliato: Ubuntu 20.04
  • Account utente: Un account utente con sudo o accesso root.

Aggiorna sistema operativo

Aggiorna il tuo Ubuntu sistema operativo per assicurarsi che tutti i pacchetti esistenti siano aggiornati:

sudo apt update && sudo apt upgrade -y

Il tutorial utilizzerà il comando sudo e supponendo che tu abbia lo stato sudo .

Per verificare lo stato di sudo sul tuo account:

sudo whoami

Esempio di output che mostra lo stato di sudo:

[joshua@ubuntu ~]$ sudo whoami
root

Per configurare un account sudo esistente o nuovo, visita il nostro tutorial su Come aggiungere un utente a Sudoer su Ubuntu .

Per utilizzare l'account root , usa il comando seguente con la password di root per accedere.

su

Come abilitare, installare o rimuovere UFW

Il primo passo per configurare un firewall UFW sarà abilitare il firewall.

sudo ufw enable

Esempio di output:

Firewall is active and enabled on system startup

Per impostazione predefinita, tutto il traffico in entrata viene bloccato automaticamente e tutto il traffico in uscita è consentito una volta che il firewall è attivo. Questo proteggerà istantaneamente il tuo sistema impedendo a chiunque di connettersi in remoto al tuo sistema.

Se UFW è stato rimosso in precedenza e desideri reinstallare il firewall utilizzando il comando seguente.

sudo apt install ufw -y

Successivamente, verifica lo stato di UFW per assicurarti che sia attivo e senza errori.

sudo systemctl status ufw

Esempio di output:

In futuro, se hai bisogno di disabilitare UFW per un periodo di tempo temporaneo, usa il comando seguente.

sudo ufw disable

Per rimuovere del tutto UFW dal tuo sistema Ubuntu.

sudo apt autoremove ufw --purge

Non rimuovere UFW a meno che tu non abbia una solida opzione o sappia come usare IPTables, specialmente quando esegui un ambiente server connesso al pubblico. Sarà disastroso.

Come controllare lo stato UFW

Una volta abilitato UFW, visualizza lo stato delle regole del firewall e ciò che è attivo utilizza quanto segue.

sudo ufw status verbose

Esempio di output:

L'esempio precedente utilizzava il flag dettagliato e un'opzione alternativa consiste nell'elencare le regole in sequenza numerica, che è molto più gestibile in seguito quando si eliminano le regole.

sudo ufw status numbered

Esempio di output:

Ora hai [ 1], [ 2] etichette numeriche sulle tue regole UFW per l'identificazione come l'output sopra.

Come impostare le politiche predefinite UFW

La politica predefinita del firewall UFW consiste nel negare tutte le connessioni in entrata e consentire solo le connessioni in uscita al sistema. In genere il modo predefinito più sicuro senza che nessuno possa raggiungere il tuo server a meno che tu non consenta indirizzi IP/intervalli, programmi, porte o combinazioni di tutti. Il tuo sistema, per impostazione predefinita, può accedere all'esterno, cosa che non dovresti modificare a meno che tu non abbia requisiti di sicurezza specifici.

Per riferimento, le politiche firewall UFW predefinite sono disponibili nella posizione /etc/default/ufw .

Per regolare le regole digitando il seguente comando:

Per negare tutte le connessioni in entrata:

sudo ufw default deny incoming

Per consentire tutte le connessioni in uscita:

sudo ufw default allow outgoing

Questa è già impostata come regole predefinite quando è abilitata, ma puoi utilizzare lo stesso principio per cambiarle in base al tuo scopo.

Ad esempio, tutte le comunicazioni in entrata sono bloccate per impostazione predefinita, ma desideri che tutte le comunicazioni in uscita siano bloccate e consenti solo le connessioni approvate in uscita, quindi utilizza il comando seguente.

Per bloccare tutte le connessioni in uscita:

sudo ufw default deny outgoing

Questa è una misura estrema; il blocco delle connessioni in entrata è in genere sufficiente per il server e il desktop medio, ma ambienti specifici possono trarre vantaggio dall'ulteriore precauzione di sicurezza. Lo svantaggio è che devi mantenere tutte le connessioni in uscita, il che può richiedere molto tempo e impostare continuamente nuove regole.

Come visualizzare i profili delle applicazioni UFW

Per mostrare tutti i profili dell'applicazione, puoi farlo digitando quanto segue.

sudo ufw app list

Esempio di output:

Quanto sopra è solo un esempio e ognuno avrà elenchi diversi poiché nessuno avrà le stesse applicazioni installate.

Una caratteristica utile dei profili delle applicazioni è scoprire di più sul servizio elencato nell'elenco delle applicazioni UFW.

Per fare ciò, digita il seguente comando per trovare maggiori informazioni su un profilo esistente.

sudo ufw app info CUPS

Esempio di output:

Come sopra, la stampa della descrizione generale dell'applicazione e la porta che utilizza. Questa è una funzione utile quando si esaminano le porte aperte e non si è sicuri a quali applicazioni si riferiscono e cosa fa l'applicazione.

Come abilitare IPv6 su UFW

Se il tuo sistema Ubuntu è configurato con IPv6, devi assicurarti che UFW sia configurato con supporto IPv6 e IPv4. Per impostazione predefinita, questo dovrebbe essere abilitato automaticamente; tuttavia, dovresti controllarlo e, se necessario, modificarlo. Puoi farlo nel modo seguente.

Apri il file firewall UFW predefinito.

sudo nano /etc/default/ufw

Regola la riga seguente su sì se non è impostata.

IPV6=yes

CTRL+O per salvare le nuove modifiche al file, quindi premi CTRL+X per uscire dal file.

Ora riavvia il servizio firewall UFW per rendere attive le modifiche.

sudo systemctl restart ufw

Come consentire le connessioni SSH UFW

Per impostazione predefinita, UFW non consente connessioni SSH. Se avessi già abilitato il firewall da remoto, ti saresti notato bloccato.

Per risolvere questo problema, devi impostare la seguente configurazione SSH prima di abilitare il firewall UFW, specialmente se connesso a un server remoto.

Innanzitutto, abilita il profilo dell'applicazione SSH.

sudo ufw allow ssh

Se hai impostato una porta di ascolto personalizzata per le connessioni SSH diversa dalla porta predefinita 22, ad esempio la porta 3541, aprirai la porta sul firewall UFW digitando quanto segue.

sudo ufw allow 3541/tcp

Se vuoi bloccare tutte le connessioni SSH o cambiare la porta e bloccare quelle vecchie.

Per bloccare tutte le connessioni SSH (assicurati che l'accesso locale sia possibile) , usa il comando seguente.

sudo ufw deny ssh/tcp

Se si modifica la porta SSH personalizzata, aprire una nuova porta e chiudere quella esistente; esempio di tutorial è la porta 3541.

sudo ufw deny 3541/tcp 

Come abilitare le porte UFW

Con UFW, puoi aprire porte specifiche nel firewall per consentire le connessioni specificate per una particolare applicazione. È possibile impostare regole personalizzate per l'applicazione. Un ottimo esempio di questa regola è la configurazione di un server Web in ascolto sulla porta 80 (HTTP) e 443 (HTTPS) per impostazione predefinita.

Consenti porta HTTP 80

Consenti per profilo dell'applicazione:

sudo ufw allow 'Nginx HTTP'

Consenti in base al nome del servizio:

sudo ufw allow http

Consenti per numero di porta:

sudo ufw allow 80/tcp

Consenti porta HTTPS 443

Consenti per profilo dell'applicazione:

sudo ufw allow 'Nginx HTTPS'

Consenti in base al nome del servizio:

sudo ufw allow https

Consenti per numero di porta:

sudo ufw allow 443/tcp

Nota, puoi abilitare tutte le regole insieme per impostazione predefinita usando il comando seguente.

sudo ufw allow 'Nginx Full'

Intervalli di porte consentiti UFW

UFW può consentire l'accesso agli intervalli di porte. Nota, quando si apre un intervallo di porte, è necessario identificare il protocollo della porta.

Consenti intervallo di porte con TCP e UDP:

sudo ufw allow 6500:6800/tcp
sudo ufw allow 6500:6800/udp

In alternativa, puoi consentire più porte in un colpo solo, ma consentire l'intervallo potrebbe essere più accessibile come sopra.

sudo ufw allow 6500, 6501, 6505, 6509/tcp
sudo ufw allow 6500, 6501, 6505, 6509/udp

Come consentire connessioni remote su UFW

UFW Consenti indirizzo IP specifico

Ad esempio, per consentire indirizzi IP specifici, sei su una rete interna e richiedi che i sistemi comunichino tra loro, utilizza il comando seguente.

sudo ufw allow from 192.168.55.131

UFW Consenti indirizzo IP specifico su una porta specifica

Per consentire a un IP di connettersi al tuo sistema su una porta definita (porta di esempio "3900") , digita quanto segue.

sudo ufw allow from 192.168.55.131 to any port 3900

Consenti connessioni di sottorete a una porta specifica

Se hai bisogno di un'intera gamma di connessioni da una sottorete di un intervallo IP a una porta particolare, puoi abilitarla creando la seguente regola.

sudo ufw allow from 192.168.1.0/24 to any port 3900

Ciò consentirà a tutti gli indirizzi IP da 192.168.1.1 a 192.168.1.254 di connettersi alla porta 3900.

Consenti un'interfaccia di rete specifica

Ad esempio, consenti le connessioni a una particolare interfaccia di rete, "eth2" a una porta 3900 specificata. Puoi ottenere ciò creando la regola seguente.

sudo ufw allow in on eth2 to any port 3900

Come negare le connessioni remote su UFW

Secondo la politica di configurazione predefinita di UFW, una volta installata, tutte le connessioni in entrata sono impostate su "nega". Questo rifiuta tutto il traffico in entrata a meno che tu non crei una regola per consentire il passaggio delle connessioni.

Tuttavia, hai notato nei tuoi log un particolare indirizzo IP che continua ad attaccarti. Bloccalo con quanto segue.

sudo ufw deny from 203.13.56.121

Un hacker sta utilizzando più indirizzi IP dalla stessa sottorete per tentare di hackerarti. Crea quanto segue per bloccare.

sudo ufw deny from 203.13.56.121/24

È possibile creare regole specifiche se si desidera negare l'accesso a determinate porte. Digita il seguente esempio.

sudo ufw deny from 203.13.56.121/24 to any port 80
sudo ufw deny from 203.13.56.121/24 to any port 443

Come eliminare le regole UFW

Hai creato e negato le regole, ma devi eliminarle perché non ti servono più. Questo può essere ottenuto in due modi diversi.

Innanzitutto, per eliminare una regola UFW utilizzando il numero di regola, devi elencare i numeri di regola digitando quanto segue.

sudo ufw status numbered

Esempio di output:

L'esempio eliminerà la quarta regola per l'indirizzo IP 1.1.1.1 evidenziata sopra.

Digita quanto segue nel tuo terminale.

sudo ufw delete 1

In secondo luogo, puoi eliminare una regola UFW utilizzando la regola stessa.

sudo ufw delete allow 80/tcp

Quando le regole vengono eliminate e vengono eseguite correttamente, otterrai il seguente output.

Rule deleted
Rule deleted (v6)

Come accedere e visualizzare i registri UFW

Per impostazione predefinita, la registrazione UFW è impostata su bassa. Questo va bene per la maggior parte dei sistemi desktop. Tuttavia, i server potrebbero richiedere un livello di registrazione più elevato.

Per impostare la registrazione UFW su bassa (impostazione predefinita):

sudo ufw logging low

Per impostare la registrazione UFW su media:

sudo ufw logging medium

Per impostare la registrazione UFW su alto:

sudo ufw logging high

L'ultima opzione è disabilitare del tutto la registrazione, assicurati di essere soddisfatto e non richiederà il controllo del registro.

sudo ufw logging off

Per visualizzare i registri UFW, vengono mantenuti nella posizione predefinita di /var/log/ufw.log .

Un modo semplice e veloce per visualizzare i log in tempo reale consiste nell'usare il comando tail.

sudo ufw tail -f /var/log/ufw.log

In alternativa, puoi stampare una determinata quantità di righe recenti con -n .

sudo ufw tail /var/log/ufw.log -n 30

Questo stamperà le ultime 30 righe del registro. Puoi perfezionare ulteriormente con GREP e altri comandi di ordinamento.

Come testare le regole UFW

I sistemi altamente critici, una buona opzione quando si gioca con le impostazioni del firewall, possono aggiungere il indicatore di funzionamento a secco . Ciò consente di vedere un esempio delle modifiche che sarebbero avvenute ma non di elaborarlo.

sudo ufw --dry-run enable

Per disattivare il indicatore di funzionamento a secco , usa il comando seguente.

sudo ufw --dry-run disable

Come reimpostare le regole UFW

Per ripristinare il firewall allo stato originale con tutti i blocchi in entrata e in uscita impostati per consentire, digita quanto segue per ripristinare.

sudo ufw reset

Conferma il ripristino, inserisci quanto segue:

sudo ufw status

L'output dovrebbe essere:

Status: inactive 

Con il ripristino del firewall UFW, ora dovrai riattivare il firewall e avviare l'intero processo di aggiunta delle regole. Il comando di ripristino dovrebbe essere usato con moderazione, se possibile.

Come trovare tutte le porte aperte (controllo di sicurezza)

La maggior parte dei sistemi non si rende conto che possono avere le porte aperte. Nell'era in cui ogni indirizzo IP su Internet viene scansionato quotidianamente, è fondamentale osservare cosa sta succedendo dietro le quinte.

L'opzione migliore è installare Nmap, quindi, utilizzando questa famosa applicazione, elencare le porte aperte.

sudo apt install nmap

Quindi, trova l'indirizzo IP interno del sistema.

hostname -I

Esempio di output:

192.168.50.45

Ora usa il seguente comando Nmap con l'indirizzo IP del server.

sudo nmap 192.168.50.45

Esempio di output:

Come sopra, le porte 9090 e 80 sono aperte. Prima di bloccare le porte, verifica prima cosa sono se non sei sicuro.

Da questo punto, puoi creare regole UFW personalizzate che hai appreso nel tutorial per chiudere o limitare le porte aperte.


Ubuntu
  1. Come installare e configurare Nginx su Ubuntu 20.04

  2. Come configurare UFW Firewall su Ubuntu 18.04

  3. Come installare e configurare Varnish su Ubuntu 20.04?

  4. Come configurare un firewall con UFW su Ubuntu 18.04

  5. Come configurare UFW Firewall su Ubuntu 18.04

Come configurare UFW Firewall su Debian 10

Come configurare UFW Firewall su Ubuntu 18.04 LTS

Come configurare UFW Firewall su Ubuntu 20.04 LTS

Come installare e configurare Memcached su Ubuntu

Come configurare il firewall con UFW su Ubuntu Linux

Come configurare UFW Firewall su Ubuntu 20.04