: concetti di base Alberto Ferrante OSLab & ALaRI, Facoltà d informatica, USI ferrante@alari.ch 4 giugno 2009 A. Ferrante : concetti di base 1 / 21
Sommario A. Ferrante : concetti di base 2 / 21
A. Ferrante : concetti di base 3 / 21
Un elemento della rete: permette solo le connessioni autorizzate; firewall locale; firewall stand-alone. 3 tipi: packet filter stateful filter application layer. A. Ferrante : concetti di base 4 / 21
esempio A. Ferrante : concetti di base 5 / 21
esempio Gestione degli accessi (ACL) ai servizi TCP; accessi regolati in base agli indirizzi dei client; [1] TCP wrappers su wikipedia. Http://en.wikipedia.org/wiki/TCP_Wrapper [2] Red hat linux reference guide. Http://www.redhat.com/docs/manuals/linux/RHL-9-Manual/ref-guide/s1- tcpwrappers-access.html A. Ferrante : concetti di base 6 / 21
(1/2) esempio Regole di accesso in 2 file: hosts.allow e hosts.deny: contengono regole del tipo: servizio: host1, host2,... es: SENDMAIL: 127.0.0.1, 192.168.1. SENDMAIL: ALL SENDMAIL: 192.168.0.0/255.255.254.0 ALL: *.example.com A. Ferrante : concetti di base 7 / 21
(2/2) Controllo hosts.allow esempio si match regola? no controllo hosts.deny no match regola? si Accdetta connessione Rifiuta connessione stop A. Ferrante : concetti di base 8 / 21
Esempio (1/2) esempio hosts.allow: SSH: 192.168.1.1 hosts.deny: SSH: ALL connessione a SSH da 192.168.1.1: controllo hosts.allow: match regola, connessione autorizzata. connessione a SSH da 192.168.1.2: controllo hosts.allow: no match; controllo hosts.deny: match regola, connessione rifiutata; A. Ferrante : concetti di base 9 / 21
Esempio (2/2) esempio hosts.allow: SSH: 192.168.1.1 hosts.deny: SSH: ALL connessione a porta 80 da 192.168.1.2: controllo hosts.allow: no match; controllo hosts.deny: no match; connessione accettata; A. Ferrante : concetti di base 10 / 21
Chains Chains: condizioni Chains: azioni esempio di regole A. Ferrante : concetti di base 11 / 21
Chains Chains: condizioni Chains: azioni esempio di regole Stateless e stateful firewall; derivato da ipchains da cui eredita molti aspetti; implementato nel kernel di Linux. [3] Netfilter homepage. Http://www.netfilter.org [4] Linux 2.4 packet filtering howto. Http://www.netfilter.org/documentation/HOWTO/it/packet-filtering- HOWTO.html A. Ferrante : concetti di base 12 / 21
I pacchetti vengono valutati seguendo delle catene (chains) di firewall: Chains Chains: condizioni Chains: azioni Ingresso decisioni di routing forward Uscita esempio di regole input processi locali output A. Ferrante : concetti di base 13 / 21
Chains Chains Chains: condizioni Chains: azioni esempio di regole Ogni catena è una lista di regole: condizioni relative al pacchetto, azione; vengono consultate in ordine; ogni regola ha un azione di default. A. Ferrante : concetti di base 14 / 21
Chains: condizioni Chains Chains: condizioni Chains: azioni esempio di regole Tipo di pacchetto; IP sorgente destinazione; porta sorgente/destinazione TCP/UPD; stato connessione TCP; dimensione pacchetti; numero di pacchetti ricevuti in un dato intervallo di tempo;... A. Ferrante : concetti di base 15 / 21
Chains: azioni Chains Chains: condizioni Chains: azioni esempio di regole DROP: pacchetto scartato senza ulteriori azioni; REJECT: pacchetto scartato, viene inviata risposta; ACCEPT: pacchetto accettato. A. Ferrante : concetti di base 16 / 21
Chains: esempio di regole (1/2) Chains Chains: condizioni Chains: azioni esempio di regole Chain di Input: IP sorgente= 192.168.1.2, DROP; IP sorgente= 192.168.1.10, ACCEPT; porta TCP destinazione=80, ACCEPT; Arriva un pacchetto... pacchetto da 192.168.1.2: match con la 1a regola: DROP; pacchetto da 192.168.100.2, porta destinazione 80: match con 3a regola: ACCEPT; A. Ferrante : concetti di base 17 / 21
Chains: esempio di regole (2/2) Chains Chains: condizioni Chains: azioni esempio di regole Chain di Input: IP sorgente= 192.168.1.2, DROP; IP sorgente= 192.168.1.10, ACCEPT; porta TCP destinazione=80, ACCEPT. Arriva un pacchetto... pacchetto da 192.168.1.2, porta destinazione 80: match con la 1a regola: DROP. A. Ferrante : concetti di base 18 / 21
End A. Ferrante : concetti di base 19 / 21
End Con iptables è possibile implementare firewall stateful; sia locale che stand-alone; usando TCP wrappers è possibile controllare in modo fine l accesso ai servizi; TCP wrappers può essere associato a tool come denyhosts per implementare semplici application level fw. [5] Denyhosts. Http://denyhosts.sourceforge.net A. Ferrante : concetti di base 20 / 21
End Ringrazio per l attenzione... Alcuni diritti riservati: http://creativecommons.org/licenses/by-nc-sa/3.0 A. Ferrante : concetti di base 21 / 21