Dimensione: 12662
Commento: continuo domani
|
Dimensione: 12702
Commento:
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 4: | Linea 4: |
[[WikiBanner(ArticoloInTraduzione)]] |
BR WikiBanner(ArticoloInTraduzione)
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
L'applicazione predefinita in Ubuntu per la configurazione di un firewall è Ufw. Sviluppato per semplificare la configurazione di [:Sicurezza/Iptables:Iptables], Ufw offre un modo semplice per creare un firewall basato su protocolli IPv4 e IPv6.
Ufw, in modo predefinito, è inizialmente disabilitato.
Sintassi di base ed esempi
Impostare le regole predefinite
E' consigliato impostare la modalità predefinita di Ufw prima di abilitarlo.
Per bloccare tutto il traffico in entrata, digitare in una finestra di terminale il seguente comando:
sudo ufw default deny
Per consentire tutto il traffico in entrata, digitare in una finestra di terminale il seguente comando:
sudo ufw default allow
Per abilitare Ufw digitare in una finestra di terminale il seguente comando:
sudo ufw enable
A meno che non si sia impostato inizialmente Ufw su deny, ufw sarà in modalità allow e consentirà tutto il traffico in entrata e in uscita se prima non si è impostato il set di regole. |
Per disabilitare Ufw digitare in una finestra di terminale il seguente comando:
sudo ufw disable
Consentire e bloccare il traffico
In generale, la sintassi è la seguente:
sudo ufw allow/deny porta/protocollo (facoltativo)
Per consentire i pacchetti tcp e udp in ingresso sulla porta 53, digitare il seguente comando in una finestra di terminale:
sudo ufw allow 53
Per consentire i pacchetti tcp in ingresso sulla porta 53, digitare il seguente comando in una finestra di terminale:
sudo ufw allow 53/tcp
Per consentire i pacchetti udp in ingresso sulla porta 53, digitare il seguente comando in una finestra di terminale:
sudo ufw allow 53/udp
Per bloccare i pacchetti tcp e udp sulla porta 53, digitare il seguente comando in una finestra di terminale:
sudo ufw deny 53
Per bloccare i pacchetti tcp sulla porta 53, digitare il seguente comando in una finestra di terminale:
sudo ufw deny 53/tcp
Per bloccare i pacchetti udp sulla porta 53, digitare il seguente comando in una finestra di terminale:
sudo ufw deny 53/udp
Eliminare una regola esistente
Per eliminare una regola, usare delete seguito dalla regola.
Per esempio, se la regola originale era:
ufw deny 80/tcp
Usare questo comando per cancellarla:
sudo ufw delete deny 80/tcp
Servizi
Se la porta che si vuole aprire o chiudere è definita in /etc/services, è possibile usare il nome della porta al posto del numero della porta. Negli esempi seguenti, si sostituirà 22 con ssh.
Per vedere la lista dei servizi, digitare in una finestra ii terminale il seguente comando:
less /etc/services
La sintassi sarà la seguente:
sudo ufw allow/deny nome_servizio
Per consentire il servizio ssh, digitare il seguente comando in una finestra di terminale:
sudo ufw allow ssh
Per bloccare il servizio ssh, digitare il seguente comando in una finestra di terminale:
sudo ufw deny ssh
Stato
Verificare lo stato di Ufw permetterà di sapere se il firewall è attivato o disattivato e verrà mostrato l'elenco delle regole attualmente applicate da Ufw a Iptables.
Per visualizzare lo stato del firewall, digitare il seguente comando in una finestra di terminale:
sudo ufw status
Se abilitato, un possibile output sarà il seguente:
Firewall attivato 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
Viceversa, il risultato del comando sarà:
Stato: inattivo
Registri
I registri del firewall sono molto utili per riconoscere gli attacchi, migliorare le regole del firewall e per verificare attività inusuali nella propria rete. È necessario includere regole di registrazione per fare in modo che vengano eseguite le registrazioni e queste devono essere inserite prima di qualsiasi regola terminante applicabile (un regola con un obiettivo che decide il destino di un pacchetto, come ACCEPT, DROP o REJECT).
Per attivare la registrazione, digitare il seguente comando in una finestra di terminale:
sudo ufw logging on
Per disabilitare la registrazione, digitare il seguente comando in una finestra di terminale:
sudo ufw logging off
Sintassi avanzata
E' anche possibile utilizzare una sintassi più completa specificando gli l'origine e la destinazione degli indirizzi e delle porte.
Per consentire il traffico proveniente da un indirizzo IP specifico, la sintassi è la seguente:
sudo ufw allow from indirizzo_ip
Per esempio, per autorizzare i pacchetti provenienti dall'indirizzo IP 207.46.232.182, digitare il seguente comando in una finestra di terminale:
sudo ufw allow from 207.46.232.182
in sospeso === Autorizzazione tramite Subnet === Si può usare una 'net mask': {{{ sudo ufw allow from 192.168.1.0/24
}}}
Per consentire il traffico proveniente da un indirizzo IP verso una porta specifica, la sintassi è la seguente:
sudo ufw allow from indirizzo_ip to protocollo port numero_porta
Per esempio, per autorizzare l'accesso dell'indirizzo IP 192.168.0.4 alla porta 22 per tutti i protocolli, digitare il seguente comando in una finestra di terminale:
sudo ufw allow from 192.168.0.4 to any port 22
dopo == 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
}}}
Per bloccare il traffico proveniente da un indirizzo IP specifico, la sintassi è la seguente:
sudo ufw deny from indirizzo_ip
Per esempio, per bloccare i pacchetti provenienti dall'indirizzo IP 207.46.232.182, digitare il seguente comando in una finestra di terminale:
sudo ufw deny from 207.46.232.182
Per bloccare il traffico proveniente da un indirizzo IP verso una porta specifica, la sintassi è la seguente:
sudo ufw deny from indirizzo_ip to protocollo port numero_porta
Per esempio, per bloccare l'accesso dell'indirizzo IP 192.168.0.4 alla porta 22 per tutti i protocolli, digitare il seguente comando in una finestra di terminale:
sudo ufw deny from 192.168.0.4 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 dill'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'.
Ulteriori risorse
[https://help.ubuntu.com/community/UFW Documento originale]
[http://manpages.ubuntu.com/manpages/maverick/en/man8/ufw.8.html Pagina man di Ufw]
[:Sicurezza/Gufw:Gufw]: interfaccia grafica per Ufw.
[:Sicurezza/Firewall:Firewall]
[http://wiki.ubuntu-it.org/Sicurezza/Iptables Iptables]
- Nota per revisione: l'ip di esempio è statico ed è del sito di microsoft. lasciarlo tra le regole di blocco Cambiarlo in quello da autorizzare :-D
- Per ridurre lo spazio consolidare le informazioni. Unire le regole di accesso e di blocco.