Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "Sicurezza/Ufw"
Differenze tra le versioni 14 e 15
Versione 14 del 02/02/2011 17.44.35
Dimensione: 11583
Autore: MarcoBuono
Commento:
Versione 15 del 02/02/2011 19.02.28
Dimensione: 11866
Commento: prime modifiche di rito.
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 6: Linea 6:
[[Informazioni(rilasci="10.10 10.04 9.10 8.04"; forum="http://forum.ubuntu-it.org/index.php/topic,440673.0.html"; help="http://help.ubuntu-it.org/current/ubuntu/serverguide/it/firewall.html")]]
Linea 402: Linea 403:
= Ulteriori risorse =

 * [https://help.ubuntu.com/community/UFW Documento originale]
Linea 404: Linea 409:

BR Indice() Informazioni(rilasci="10.10 10.04 9.10 8.04"; forum="http://forum.ubuntu-it.org/index.php/topic,440673.0.html"; help="http://help.ubuntu-it.org/current/ubuntu/serverguide/it/firewall.html")

Introduzione


Per una introduzione ai Firewall si prega di vedere questa pagina wiki: [http://wiki.ubuntu-it.org/Sicurezza/Firewall Firewall]

UFW - Uncomplicated Firewall

Lo strumento di configurazione di default dei firewall per Ubuntu è ufw. Sviluppato per semplificare la configurazione del firewall [http://wiki.ubuntu-it.org/Sicurezza/Iptables iptables], ufw fornisce un modo facile per creare un firewall host-based IPv4 o IPv6. Per impostazione predefinita ufw è attivato ma tutte le porte vengono lasciate aperte (altrimenti non ci sarebbe accesso a Internet dopo l'installazione). Gufw è una GUI che è disponibile come frontend.

Sintassi di base ed esempi


Fissare le regole di default

E' consigliato impostare la modalità predefinita di ufw prima di avviarlo. Con i comandi successivi si negheranno o consentiranno rispettivamente tutte le connessioni in entrata.

Fissare il diniego di default:

 sudo ufw default deny

Fissare il consenso di default:

 sudo ufw default allow

Abilitare e Disabilitare

Abilitare ufw

Per abilitare il firewall ufw:

 sudo ufw enable

Nota: A meno che non si è impostato il default su 'DENY' (rifiuto), inizialmente ufw è in modalità 'ALLOW' (permesso),e consentirà tutto il traffico in entrata e in uscita se prima non si è impostato il set di regole.

Disabilitare ufw

Per disabilitare il firewall ufw:

 sudo ufw disable

Permessi e Divieti

Permessi

 sudo ufw allow <port>/<optional: protocol>

Esempio: per autorizzare pacchetti tcp e udp in ingresso sulla porta 53

 sudo ufw allow 53

Esempio: per autorizzare pacchetti tcp in ingresso sulla porta 53

 sudo ufw allow 53/tcp

Esempio: per autorizzare pacchetti udp in ingresso sulla porta 53

 sudo ufw allow 53/udp

Esempio: per autorizzare pacchetti tcp in ingresso sulla porta 53

 sudo ufw allow 53/tcp

Divieti

 sudo ufw deny <port>/<optional: protocol>

Esempio: per bloccare pacchetti tcp e udp sulla porta 53

 sudo ufw deny 53

Esempio: per bloccare pacchetti tcp in ingresso sulla porta 53

 sudo ufw deny 53/tcp

Esempio: per bloccare pacchetti udp sulla porta 53

 sudo ufw deny 53/udp

Cancellare una regola già esistente

Per cancellare una regola si deve semplicemente fissare la regola originale con 'delete'. Per esempio se la regola originale era:

 ufw deny 80/tcp

Usare questo comando per cancellarla:

sudo ufw delete deny 80/tcp

Servizi

Si può inoltre autorizzare o bloccare attraverso il nome del servizio che ufw legge attraverso il file ,'/etc/services`. Per vedere, ottenere un elenco di servizi:

less /etc/services

Autorizzare tramite il nome di un servizio

sudo ufw allow <service name>

Esempio: per autorizzare il servizio ssh con il nome:

 sudo ufw allow ssh

Bloccare tramite il nome di un servizio

sudo ufw deny <service name>

Esempio: per bloccare il servizio ssh con il nome:

 sudo ufw deny ssh

Status

Verificare lo stato di ufw permetterà di sapere se ufw è attivato o disattivato e produrrà una lista delle regole ufw attualmente applicate alla iptables.

Per controllare lo status di ufw:

 sudo ufw status

 Firewall loaded

 To                         Action  From
 --                         ------  ----
 22:tcp                     DENY    192.168.0.1
 22:udp                     DENY    192.168.0.1
 22:tcp                     DENY    192.168.0.7
 22:udp                     DENY    192.168.0.7
 22:tcp                     ALLOW   192.168.0.0/24
 22:udp                     ALLOW   192.168.0.0/24

Se invece ufw non è abilitato il risultato del comando sarà:

 sudo ufw status
 Status: inactive

Registrazione

Per abilitare il modo 'Registrazione':

 sudo ufw logging on

Per disabilitare il modo ' Registrazione':

 sudo ufw logging off

Sintassi avanzata

Si può anche usare una sintassi più completa specificando gli indirizzi e le porte delle sorgenti e delle destinazioni:

Permettere l'accesso

Questa sezione mostra come autorizzare un accesso specifico.

Autorizzazione tramite IP specifico

 sudo ufw allow <ip address>

Esempio: per autorizzare pacchetti da 207.46.232.182:

 sudo ufw allow from 207.46.232.182

Autorizzazione tramite Subnet

Si può usare una 'net mask':

 sudo ufw allow from 192.168.1.0/24

Autorizzazione tramite un indirizzo ed una porta specifica

 sudo ufw allow from <ip address> to <protocol> port <port number>

esempio: autorizzare l'accesso dell'indirizzo IP 192.168.0.4 alla porta 22 per tutti i protocolli

 sudo ufw allow from 192.168.0.4 to any port 22

Autorizzare PING

Nota: La sicurezza tramite segretezza può essere di ben poco vantaggio effettivo con i moderni 'cracker script'. Per impostazione predefinita, UFW consente richieste ping. Si potrebbe desiderare di lasciare autorizzate le richieste (ICMP) ping al fine di diagnosticare eventuali problemi di rete.

Per fare ciò si ha bisogno di modificare il file /etc/ufw/before.rules e rimuovere modificare le seguenti righe:

 # ok icmp codes
 -A ufw-before-input -p icmp --icmp-type destination-unreachable -j ACCEPT
 -A ufw-before-input -p icmp --icmp-type source-quench -j ACCEPT
 -A ufw-before-input -p icmp --icmp-type time-exceeded -j ACCEPT
 -A ufw-before-input -p icmp --icmp-type parameter-problem -j ACCEPT
 -A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT

cambiando la voce "ACCEPT" con "DROP":

 # ok icmp codes
 -A ufw-before-input -p icmp --icmp-type destination-unreachable -j DROP
 -A ufw-before-input -p icmp --icmp-type source-quench -j DROP
 -A ufw-before-input -p icmp --icmp-type time-exceeded -j DROP
 -A ufw-before-input -p icmp --icmp-type parameter-problem -j DROP
 -A ufw-before-input -p icmp --icmp-type echo-request -j DROP

Negare l'accesso

Negare tramite IP specifico

 sudo ufw deny from <ip address>

example: Per bloccare i pacchetti da 207.46.232.182:

 sudo ufw deny from 207.46.232.182

Negare tramite porta e IP specifici

 sudo ufw deny from <ip address> to <protocol> port <port number>

esempio: negare l'accesso all'indirizzo ip 192.168.0.1 sulla porta 22 per tutti i protocolli

 sudo ufw deny from 192.168.0.1 to any port 22

Regole di blocco avanzate

Bloccare gli indirizzi IP non è così semplice se si dispone già di un set di regole esistenti come IPTABLES. Quindi, se si è iniziato con le regole di default impostate su 'deny' e si è aggiunto una autorizzazione sulla porta 80 per un server pubblico:

 sudo ufw allow 80

ma successivamente si è trovato l'indirizzo IP 111.222.3.44 che sta forzando il nostro server:

il comando:

 sudo ufw deny 111.222.3.44

non farà nulla ( perchè precedentemente si è autorizzato l'accesso con una regola)

Si avrà bisogno di modificare il file '/etc/ufw/before.rules' e aggiungere una sezione "Block IP" dopo "Drop INVALID packets" :

 -A ufw-before-input -s 111.222.3.44 -j DROP #Assuming no loging is desired of course)
 # drop INVALID packets
 # uncomment to log INVALID packets
 #-A ufw-before-input -m conntrack --ctstate INVALID -j LOG --log-prefix "[UFW B$
 -A ufw-before-input -m conntrack --ctstate INVALID -j DROP

 # Block IP
 # This it is efective :)
 -A ufw-before-input -s 111.222.3.44 -j DROP

Esempio di tipo avanzato

Scenario: si desidera bloccare l'accesso alla porta 22 dagli indirizzi IP 192.168.0.1.e 192.168.0.7 ma contemporaneamente permettere l'accesso a tutti gli altri indirizzi IP 192.168.0.x IPs alla porta 22

 sudo ufw deny from 192.168.0.1 to any port 22
 sudo ufw deny from 192.168.0.7 to any port 22
 sudo ufw allow from 192.168.0.0/24 to any port 22

Questo pone le norme specifiche prima e successivamente le generice. Una volta che una regola è definita le altre non verranno valutate (manuale vedi sotto), quindi è necessario mettere le regole specifiche per prime. Quando le regole cambiano può essere necessario cancellare le vecchie regole per garantire che le nuove regole vengano messe e valutate nel giusto ordine.

Per verificare l'ordine delle regole si può controllare lo statu; per lo scenario sopra descritto qui sotto vi è il settaggio desiderato per ifar sì che le regole lavorino nella maniera giusta;

 sudo ufw status
 Firewall loaded

 To                         Action  From
 --                         ------  ----
 22:tcp                     DENY    192.168.0.1
 22:udp                     DENY    192.168.0.1
 22:tcp                     DENY    192.168.0.7
 22:udp                     DENY    192.168.0.7
 22:tcp                     ALLOW   192.168.0.0/24
 22:udp                     ALLOW   192.168.0.0/24

Cambio di scenario: si vuole bloccare l'accesso alla porta 22 da parte diell'IP 192.168.0.3, 192.168.0.1 e 192.168.0.7.

 sudo ufw delete allow from 192.168.0.0/24 to any port 22
 sudo ufw status
 Firewall loaded

 To                         Action  From
 --                         ------  ----
 22:tcp                     DENY    192.168.0.1
 22:udp                     DENY    192.168.0.1
 22:tcp                     DENY    192.168.0.7
 22:udp                     DENY    192.168.0.7

 sudo ufw deny 192.168.0.3 to any port 22
 sudo ufw allow 192.168.0.0/24 to any port 22
 sudo ufw status

 Firewall loaded

 To                         Action  From
 --                         ------  ----
 22:tcp                     DENY    192.168.0.1
 22:udp                     DENY    192.168.0.1
 22:tcp                     DENY    192.168.0.7
 22:udp                     DENY    192.168.0.7
 22:tcp                     DENY    192.168.0.3
 22:udp                     DENY    192.168.0.3
 22:tcp                     ALLOW   192.168.0.0/24
 22:udp                     ALLOW   192.168.0.0/24

Se si fosse semplicemente aggiunta la regola 'deny' la regola ' allow' savrebbe dovuto essere prima di 'deny' e applicata al posto di 'deny'.

Altre risorse

 man ufw

Ulteriori risorse


CategoryNuoviDocumenti CategoryInTraduzione