GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Esempio di utilizzo del firewall UFW in Debian/Ubuntu

Introduzione:
Ho appena iniziato a utilizzare il firewall UFW, che è un firewall basato sui comandi del terminale. All'inizio lo strumento sembrava un po' difficile da capire, ma con un po' di tentativi ed errori ho finalmente ottenuto qualcosa che funzionava. Quindi ecco cosa ho fatto.

Installo il firewall UFW:
apt-get install ufw

Presupposto:
Desidero le seguenti condizioni:
Elenco di porte da consentire dalla LAN interna (192.168.100.0/24):TUTTE
Elenco di porte da consentire da localhost (127.0.0.0/16):TUTTI
Elenco delle porte per consentire l'accesso a Internet:TUTTI
Elenco delle porte per consentire l'accesso da Internet:
ssh:22
FTP:21, 20, 20000-20099(utilizzato da pure-ftp)
HTTP:80
HTTPS:443
Gerrit:2222

Risultato:ad eccezione delle porte di cui sopra, tutte le altre porte dovrebbero essere bloccate da Internet.

Comandi UFW da configurare sopra il firewall:

ufw allow from 192.168.100.0/24
ufw allow from 127.0.0.0/16
ufw allow from any to any port 22
ufw allow from any to any port 21
ufw allow 20000:20099/tcp
ufw allow from any to any port 80
ufw allow from any to any port 443
ufw allow from any to any port 2222

Nota: Sopra non ci sono regole per trasferire tutti i pacchetti dalle applicazioni a Internet. Il motivo è che il comportamento predefinito di questo firewall è che consente a tutte le applicazioni di inviare qualsiasi cosa a Internet.
Può essere verificato dopo che il firewall UFW è stato abilitato eseguendo il comando seguente:
iptables -L -n -v | grep 'Chain OUTPUT'
Risultato:
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
Impostazione delle politiche predefinite
Questo è abbastanza autoesplicativo.
ufw default deny incoming
ufw default allow outgoing

Il firewall non è ancora attivo!
AVVISO: Se stai configurando questo firewall tramite connessione SSH, assicurati che il seguente comando sia stato incluso in quelli precedenti. In caso contrario, non appena attiverai il firewall verrai bloccato fuori dal server e non avrai alcun accesso SSH. Cattive notizie 🙁
ufw allow from any to any port 22
Per controllare l'aggiunto regole prima abilitiamo il firewall:
ufw show added
Ora attiviamo il firewall con il comando:
ufw enable
Esaminiamo la configurazione UFW eseguendo il comando:
ufw status numbered
Dovresti ottenere il seguente risultato:
Status: active
.
To Action From
-- ------ ----
[ 1] Anywhere ALLOW IN 192.168.100.0/24
[ 2] Anywhere ALLOW IN 127.0.0.0/16
[ 3] 22 ALLOW IN Anywhere
[ 4] 21 ALLOW IN Anywhere
[ 5] 20000:20099/tcp ALLOW IN Anywhere
[ 6] 80 ALLOW IN Anywhere
[ 7] 443 ALLOW IN Anywhere
[ 8] 2222 ALLOW IN Anywhere
[ 9] 22 ALLOW IN Anywhere (v6)
[10] 21 ALLOW IN Anywhere (v6)
[11] 20000:20099/tcp ALLOW IN Anywhere (v6)
[12] 80 ALLOW IN Anywhere (v6)
[13] 443 ALLOW IN Anywhere (v6)
[14] 2222 ALLOW IN Anywhere (v6)

Se è necessario riavviare di nuovo, eseguire quanto segue:
ufw disable
ufw reset

Se è necessario eliminare alcune regole, ad esempio le regole sulla porta 2222:(regola 8 e 14), eliminiamo le regole utilizzando il numero di regola che inizia dall'ultima da eliminare nell'elenco. La logica è che se inizi con la prima i numeri delle regole verranno spostati dopo la prima eliminazione e l'ultimo da eliminare non sarà la regola 14 ma la regola 13 ecc.
Esempio:
ufw delete 14
ufw delete 8

Se devi inserire una regola sopra una esistente, usa il numero della regola che dovrebbe diventare dopo la nuova. Ad esempio, se vogliamo aggiungere la regola di negare la porta 20005 da Internet.
Nota. Qui non ha senso (non pratico) ma solo come esempio. Inserirei la nuova regola 'deny' prima della regola 11. Ecco il comando:
ufw insert 11 deny 20005
Diamo un'occhiata al risultato:
ufw status numbered
Risultato:
Status: active
.
To Action From
-- ------ ----
[ 1] Anywhere ALLOW IN 192.168.100.0/24
[ 2] Anywhere ALLOW IN 127.0.0.0/16
[ 3] 22 ALLOW IN Anywhere
[ 4] 21 ALLOW IN Anywhere
[ 5] 20005 DENY IN Anywhere
[ 6] 20000:20099/tcp ALLOW IN Anywhere
[ 7] 80 ALLOW IN Anywhere
[ 8] 443 ALLOW IN Anywhere
[ 9] 2222 ALLOW IN Anywhere
[10] 22 ALLOW IN Anywhere (v6)
[11] 21 ALLOW IN Anywhere (v6)
[12] 20005 DENY IN Anywhere (v6)
[13] 20000:20099/tcp ALLOW IN Anywhere (v6)
[14] 80 ALLOW IN Anywhere (v6)
[15] 443 ALLOW IN Anywhere (v6)
[16] 2222 ALLOW IN Anywhere (v6)

Come puoi vedere UFW è stato abbastanza intelligente da inserire la regola per IPv4 e IPv6 nelle posizioni corrette.

Nota per il riavvio:
Ogni volta che il firewall UFW viene 'abilitato' e si verifica un riavvio, tutte le regole che sono già salvate in:/lib/ufw/user.rules
/lib/ufw/user6.rules

OPPURE in:
/etc/ufw/user.rules
/etc/ufw/user6.rules

sarà riattivato al riavvio.
AVVERTENZA:non provare a modificare questi file di cui sopra perché alcuni watchdog si stanno assicurando che non venga modificato e ritornerà automaticamente alla versione pre-modificata.;-(. Usa il comando UFW per apportare modifiche al firewall.

Utilizzo di UFW su Xen DOM0:
Ho avuto dei problemi con l'utilizzo di UFW su XEN DOM0 perché come comportamento predefinito UFW blocca l'inoltro dei pacchetti alle DOMU.
Per rimediare modifica il file /etc/default/ufw e cambia il seguenti impostazioni da ACCETTARE:
DEFAULT_FORWARD_POLICY="ACCEPT"
Ciò proteggerebbe solo DOM0 e inoltra tutto il resto del traffico alle DOMU, lasciando che ciascuna DOMU protegga se stessa.
Quindi riavvia UFW come segue:
ufw disable
ufw enable

Per maggiori info sull'argomento vi consiglio il seguente link:
https://www.digitalocean.com/community/tutorials/how-to-setup-a-firewall-with-ufw-on-an-ubuntu- e-debian-cloud-server

Registrazione

La registrazione di UFW viene eseguita di serie in /var/log/syslog . Per disabilitare questa registrazione, procedi come segue:
– Modifica il file:/etc/rsyslog.d/20-ufw.conf (vedi contenuto di seguito), elimina il "#" che inizia l'ultima riga ed esegui i seguenti comandi per aggiornare le modifiche al firewall:
ufw disable
ufw enable

Contenuto di /etc/rsyslog.d/20-ufw.conf :
# Log kernel generated UFW log messages to file
:msg,contains,"[UFW " /var/log/ufw.log
#
# Uncomment the following to stop logging anything that matches the last rule.
# Doing this will stop logging kernel generated UFW log messages to the file
# normally containing kern.* messages (eg, /var/log/kern.log)
#& ~


Ubuntu
  1. Configurazione del firewall utilizzando Iptables su Ubuntu 14.04

  2. Come aprire le porte in Ubuntu/Debian

  3. Configura UFW Firewall su Ubuntu 18.04 - Metodo migliore?

  4. Come configurare un firewall con UFW in Ubuntu \ Debian

  5. Come configurare un firewall con UFW su Ubuntu 18.04

Come installare UFW Firewall su Ubuntu 16.04 LTS

Come configurare UFW Firewall su Ubuntu 18.04 LTS

Come configurare UFW Firewall su Ubuntu 20.04 LTS

Come configurare il firewall con UFW su Ubuntu Linux

Ubuntu Firewall UFW – Una guida completa

Come configurare UFW Firewall su Ubuntu 20.04