Il firewall Packet filtering statico in architetture avanzate



Documenti analoghi
ICMP OSI. Internet Protocol Suite. Telnet FTP SMTP SNMP TCP e UDP NFS. Application XDR. Presentation. Session RPC. Transport.

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori a.a. 2009/10

ICMP. Internet Control Message Protocol. Silvano GAI. sgai[at]cisco.com. Mario BALDI. mario.baldi[at]polito.it

Elementi sull uso dei firewall

Dal protocollo IP ai livelli superiori

Protocollo ICMP, comandi ping e traceroute

Transmission Control Protocol

Firewall e NAT A.A. 2005/2006. Walter Cerroni. Protezione di host: personal firewall

Prof. Filippo Lanubile

Protocolli di Comunicazione

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete

Reti di Calcolatori. Il software

Università degli Studi di Pisa Dipartimento di Informatica. NAT & Firewalls

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Parte II Lezione 5

UDP. Livello di Trasporto. Demultiplexing dei Messaggi. Esempio di Demultiplexing

Internet Control Message Protocol ICMP. Struttura di un Messaggio ICMP. Segnalazione degli Errori

Progettare un Firewall

Inizializzazione degli Host. BOOTP e DHCP

Sicurezza nelle applicazioni multimediali: lezione 9, firewall. I firewall

Sicurezza applicata in rete

Il protocollo IP (Internet Protocol)

Firewall e Abilitazioni porte (Port Forwarding)

Reti di Telecomunicazione Lezione 8

FIREWALL OUTLINE. Introduzione alla sicurezza delle reti. firewall. zona Demilitarizzata

Gestione degli indirizzi

Interconnessione di reti

La sicurezza delle reti

FIREWALL. Firewall - modello OSI e TCP/IP. Gianluigi Me. me@disp.uniroma2.it Anno Accademico 2005/06. Modello OSI. Modello TCP/IP. Application Gateway

INDIRIZZI IP ARCHITETTURA GENERALE DEGLI INDIRIZZI IP FORME DI INDIRIZZI IP CINQUE FORME DI INDIRIZZI IP

Topologia delle reti. Rete Multipoint: ogni nodo è connesso agli altri tramite nodi intermedi (rete gerarchica).

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori I

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

IP Internet Protocol

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Martedì 15 Novembre 2005

INTRODUZIONE ALLE RETI: UN APPROCCIO PRATICO

Sicurezza nelle reti

Gestione degli indirizzi

Access Control List (I parte)

Cos è. Protocollo TCP/IP e indirizzi IP. Cos è. Cos è

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

Esercitazione 05. Sommario. Packet Filtering [ ICMP ] Esercitazione Descrizione generale. Angelo Di Iorio (Paolo Marinelli)

Reti diverse: la soluzione nativa

Informatica per la comunicazione" - lezione 8 -

Standard di comunicazione

Introduzione al TCP/IP Indirizzi IP Subnet Mask Frame IP Meccanismi di comunicazione tra reti diverse Classi di indirizzi IP Indirizzi IP privati e

Lo scenario: la definizione di Internet

J+... J+3 J+2 J+1 K+1 K+2 K+3 K+...

Parte II: Reti di calcolatori Lezione 16

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

INTERNET e RETI di CALCOLATORI A.A. 2011/2012 Capitolo 4 DHCP Dynamic Host Configuration Protocol Fausto Marcantoni fausto.marcantoni@unicam.

esercizi su sicurezza delle reti maurizio pizzonia sicurezza dei sistemi informatici e delle reti

Internetworking TCP/IP: esercizi

Reti di Telecomunicazione Lezione 6

Il firewall ipfw. Introduzione ai firewall. Problema: sicurezza di una rete. Definizione di firewall. Introduzione ai firewall

3. Introduzione all'internetworking

Sicurezza delle reti. Monga. Il livello di trasporto. Problemi di sicurezza intrinseci. Riassunto. Porte. Sicurezza delle reti.

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione

Introduzione ai protocolli di rete Il protocollo NetBEUI Il protocollo AppleTalk Il protocollo DLC Il protocollo NWLink Il protocollo TCP/IP

GLI APPARATI PER L INTERCONNESSIONE DI RETI LOCALI 1. Il Repeater 2. L Hub 2. Il Bridge 4. Lo Switch 4. Router 6

SWITCH. 100 Mb/s (UTP cat. 5E) Mb/s SWITCH. (UTP cat. 5E) 100 Mb/s. (UTP cat.

ICMP. (Internet Control Message Protocol) Cosa è l ICMP? Messaggi di ICMP. Applicazioni di ICMP: ULP, Ping, Traceroute, Path MTU discovery

Reti di Calcolatori

Protocollo IP e collegati

DA SA Type Data (IP, ARP, etc.) Padding FCS


ARP e instradamento IP

Multicast e IGMP. Pietro Nicoletti

P2-11: BOOTP e DHCP (Capitolo 23)

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori (a.a. 2010/11)

ARCHITETTURA DI RETE FOLEGNANI ANDREA

Indirizzo IP. Come si distinguono? Indirizzo IP : Network address : Host address: : 134

Internet. Introduzione alle comunicazioni tra computer

Prova in itinere - Rete Internet (ing. Giovanni Neglia) Mercoledì 23 Maggio 2007, ore 15.00

PROF. Filippo CAPUANI TCP/IP

CORSO DI RETI SSIS. Lezione n.2. 2 Novembre 2005 Laura Ricci

Apparecchiature di Rete

Sicurezza delle reti 1. Uso di variabili. Mattia Monga. a.a. 2010/11

Contesto: Peer to Peer

Reti. Reti. IPv4: concetti fondamentali. arp (address resolution protocol) Architettura a livelli (modello OSI)

Reti diverse: la soluzione nativa

ARP e RARP. Silvano GAI. sgai[at]cisco.com. Mario BALDI. mario.baldi[at]polito.it Fulvio RISSO

IP (Internet Protocol) sta al livello 2 della scala Tcp/Ip o al livello 3 della scala ISO/OSI. Un indirizzo IP identifica in modo logico (non fisico

9. IP: Messaggi di errore e di controllo (ICMP)

Guida alla configurazione

Corso di Sistemi di Elaborazione delle informazioni. Reti di calcolatori 2 a lezione a.a. 2009/2010 Francesco Fontanella

Lezione n.9 LPR- Informatica Applicata

Esempio quesiti d esame per il laboratorio del corso. Reti di Comunicazione ed Internet Mod 2, Prof. G. A. Maier

TEST DI RETI DI CALCOLATORI I (9400N) anno 1999/2000

Il livello Network del TCP/IP. Il protocollo IP (versione 4)

ESERCIZIO NUMERO 1 ESERCIZIO NUM. 2

Replica con TeraStation 3000/4000/5000/7000. Buffalo Technology

Laurea in INFORMATICA

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Venerdì 18 Febbraio 2005, ore 9.30

Lezione 1 Introduzione

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento

IDS: Intrusion detection systems

DOMOTICA ED EDIFICI INTELLIGENTI UNIVERSITA DI URBINO

Il protocollo TCP. Obiettivo. Procedura

Impostazione dell'indirizzo IP del dispositivo di autenticazione di Xerox Secure Access Unified ID System Carta bianca

Comandi di Rete. Principali Comandi di Rete. Verificare, testare ed analizzare da Riga di Comando

Transcript:

protezione delle reti Il firewall Packet filtering statico in architetture avanzate FABIO GARZIA DOCENTE ESPERTO DI SECURITY UN FIREWALL PERIMETRALE È IL PUNTO CENTRALE DI DIFESA NEL PERIMETRO DI UNA RETE PRIVATA. ESSO È UN COMPONENTE ESSENZIALE PER RILEVARE E PROTEGGERE LA RETE DA TRAFFICO INDESIDERATO. IL TIPO PIÙ SEMPLICE DI FIREWALL PERIMETRALE È CONOSCIUTO COME UN FIREWALL PACKET FILTER STATICO. 58

Continua i nostro viaggio attraverso i firewall. Negli articoli precedenti sono stati illustrati i firewall, le relative tipologie e le architetture base dei firewall. (vedi Security numeri di gennaio, febbraio, marzo, maggio). Nel presente articolo illustreremo le architetture avanzate dei firewall, concentrandoci sul packet filtering statico, lasciando agli articoli successivi le altre architetture. Le architetture avanzate dei firewall sono rappresentate da: packet filtering statico; packet filtering dinamico; stateful filtering. IL PACKET FILTERING STATICO Per quanto riguarda il packet filtering statico, esso controlla il traffico utilizzando le informazioni contenute nelle intestazioni dei pacchetti dati. Quando i pacchetti vengono ricevuti, gli attributi dei dati che sono contenuti nelle intestazioni vengono confrontati con i criteri di controllo accessi contenuti nelle liste di controllo accessi o ACL (Access Control List). In funzione delle modalità di confronto con ACL, il traffico viene inoltrato o bloccato. Un filtro di pacchetti utilizza di solito le seguenti informazioni per operare un corretto controllo del traffico: indirizzo IP o subnet di destinazione; indirizzo IP o subnet di origine; porta di servizio destinazione; porta di servizio sorgente; flag (solo TCP). Per quanto riguarda il campo flag, esso riveste un ruolo molto importante nel supportare il traffico da parte di un filtro di pacchetti statico in quanto un firewall raramente viene programmato per bloccare tutto il traffico che proviene da una certa porta o diretto ad un determinato host. I flag più utilizzati sono rappresentati da: ACK (acknoledgment): che indica che tali dati rappresentano una risposta ad una richiesta di dati e che ci sono delle informazioni nel campo Acknoledgment Number; FIN (Final): che indica che il sistema trasmittente vuole terminare la sessione corrente. Di solito ogni soggetto, in una sessione di comunicazione, trasmette un FIN prima di terminare la connessione stessa; PSH (Push): che evita che il trasmittente collochi i dati in coda prima della trasmissione. Dalla parte del ricevitore Push comunica al sistema remoto di non posizionare i dati in coda e di passare tali informazioni direttamente ai livelli superiori del protocollo; RST (Reset): che ripristina lo stato di una sessione di comunicazione corrente. Esso viene utilizzato quando ha luogo un fallimento di trasmissione non recuperabile. Tale condizione viene causata tipicamente da un host che non risponde; SYN (Syncronize): che viene utilizzato durante l inizializzazione di una sessione di comunicazione e non deve essere impostato in nessuna altra parte del processo di comunicazione stesso; URG (Urgent): che viene utilizzato per indicare che il trasmittente ha delle informazioni caratterizzate da una priorità elevata che devono essere inviate e che ci sono delle informazioni utili nel campo Urgent. Il ricevente che riceve tale flag impostato, elabora le informazioni prima di qualunque dato in attesa e accodato. Il traffico TCP è abbastanza difficile da controllare ma il traffico UDP lo è ancora di più, in quanto quest ultimo fornisce meno informazioni sullo stato della connessione rispetto a TCP e non utilizza i flag per indicare lo stato di una sessione. Ciò significa che non c è alcun modo per determinare se un pacchetto rappresenta una richiesta di dati o una risposta ad una richiesta precedente. La sola informazione che può essere utiliz- 59

zata per controllare il traffico è rappresentata dal numero della porta sorgente e dal numero della porta destinazione. E necessario sottolineare, però, che tali situazioni possono non essere utili in molti casi poiché esistono dei servizi che utilizzano sempre lo stesso numero di porta sorgente e destinazione. Ad esempio, quando due DNS (Domain NameServers) si scambiano informazioni, essi utilizzano come porta sorgente e come porta destinazione la 53. Essi, a differenza di molti servizi, non utilizzano una porta di risposta maggiore di 1023. Ciò significa che un filtro di pacchetti statico non ha a disposizione alcun mezzo per limitare il traffico DNS in una sola direzione in quanto, se si bloccasse il traffico in ingresso sulla porta 53, si bloccherebbero sia i dati in ingresso che quelli in uscita. Per tale motivo, l unico modo per controllare il traffico UDP mediante un filtro di pacchetti statico consiste nel bloccare la porta. Il protocollo ICMP (Internet Control Message Protocol) viene utilizzato per fornire un supporto di base per il protocollo IP. Esso non viene utilizzato per trasmettere dati utente ma con funzionalità di gestione TABELLA 1 - VARI VALORI DEL CAMPO TYPE DI ICMP Valore Nome Descrizione Type 0 EchoReply Risponde ad una richiesta echo 3 Destinationunreachable Sta ad indicare che l host, la subnet o il servizio di destinazione non è raggiungibile 4 Source Quench Sta ad indicare che il ricevente o un dispositivo di ruoting posizionato lungo l instradamento presenta dei problemi di controllo del flusso di dati in ingresso. Gli host che ricevono un Source Quench devono diminuire il proprio tasso di trasmissione per evitare che il sistema ricevente inizi a rifiutare i dati per un sovraccarico all ingresso. 5 Redirect Serve ad informare un host locale che esiste un altro dispositivo router o gateway che è in grado di inoltrare in maniera più idonea i dati trasmessi dal host. Il redirect viene inviato dai router locali. 8 Echo Serve a richiedere che il sistema di interesse fornisca una risposta echo. Echo viene utilizzato per verificare l esistenza di una connessione tra due host e per misurare il tempo di risposta. 9 Router Advertisement Serve ai router per identificarsi in una subnet. Esso non rappresenta un protocollo di routing in quanto non viene inviata alcuna informazione di instradamento ma viene semplicemente utilizzato per consentire agli host di una subnet di venire a conoscenza degli indirizzi IP dei router locali 10 Router selection Serve a permettere ad un host l esecuzione di una richiesta per router advertisement senza dover aspettare l aggiornamento periodico successivo. Tale comando è anche denominato sollecitazione al router. 11 Time excedeed Serve ad informare il trasmittente che il valore Time to live (TTL) interno all intestazione del pacchetto è scaduto e che lo stesso non è stato in grado di raggiungere l host richiesto. 60

per assicurare che tutto proceda per il meglio. Il comando Ping, ad esempio, utilizza ICMP per verificare che esista una connessione tra due host. ICMP non utilizza porte di servizio ed esiste un campo Type che identifica il tipo di pacchetto ICMP e un campo Code che assicura informazioni più dettagliate sulla sessione corrente. E necessario ricordare che UDP non utilizza alcun campo flag e per tale motivo esso non è in grado di indicare al trasmittente che il servizio richiesto non è disponibile. Per evitare tale problema si utilizza ICMP per informare il trasmittente. Nella tabella 1 vengono riportati i vari valori del campo Type. Nella tabella 2 sono mostrati i codici validi che vengono utilizzati quando il tipo ICMP è DestinationUnreachable (Type=3) Nella tabella 3 sono mostrati i codici validi che vengono utilizzati quando il tipo ICMP è Redirect (Type=5). Se si utilizzano i filtri del firewall per i valori dei campi Type e Code, è possibile attuare un controllo più capillare rispetto alla semplice verifica degli indirizzi IP sorgente e destinazione. Purtroppo non tutti i filtri di pacchetti che sono capaci di attuare l ope- Valore Nome Descrizione Type 12 Parameter problem Rappresenta una risposta che viene inviata ad un trasmittente quando ha luogo un problema non identificato ad uno degli altri tipi di ICMP. 13 Timestamp Viene utilizzato per misurare la velocità di un collegamento piuttosto che quella del ricevente. Esso è simile ad una richiesta Echo ma in questo caso viene fornita una risposta più rapida. 14 Timestamp Reply Rappresenta una risposta ad una richiesta Timestamp. 15 Information Request Tale comando è stato sostituito dall utilizzo di bootp e DHCP. Esso veniva utilizzato dai sistemi autoconfiguranti per scoprire il proprio indirizzo IP. 16 Information Reply Rappresenta una risposta ad una richiesta di informazioni. 17 Address Mask Reply Permette ad un host di effettuare una richiesta alla subnet locale sul quale sia la maschera subnet più idonea da utilizzare. Se non si riceve alcuna risposta, l host deve presentare una maschera subnet idonea alla sua classe di indirizzi. 18 Address Mask Reply Rappresenta una risposta ad una richiesta di maschera di indirizzo 30 Traceroute Rappresenta un efficace mezzo per tracciare un instradamento da un host IP ad un altro in alternativa al precedente comando Traceroute. Tale opzione può essere utilizzata esclusivamente quando tutti i router intermedi sono stati programmati per riconoscere questo comando ICMP. L implementazione ha luogo mediante l impostazione di un parametro utilizzando il comando ping. 61

TABELLA 2 - VARI VALORI DEL CAMPO CODE ICMP TYPE 3 Code Nome Descrizione 0 Net Ureachable La rete di destinazione non può essere raggiunta a causa di un errore di routing o di un valore TTL non sufficiente. 1 Host Unreachable L host di destinazione non può essere raggiunto a causa di un errore di routing o di un valore TTL non sufficiente. 2 Protocol Unreachable L host di destinazione contattato non offre il servizio richiesto. Tale codice viene di solito inviato da un host mentre tutti gli altri sono inviati dai router lungo il percorso. 4 Fragmentation I dati che si sta cercando di consegnare hanno bisogno Needed di attraversare una rete che utilizza dimensioni e Don t Fragment Was Set di pacchetti minore ma il bit don t fragment è impostato. 5 Source Route Failed Il pacchetto trasmesso specifica l instradamento che deve essere seguito per l host di destinazione ma tali informazioni sono errate. TABELLA 3 - VARI VALORI DEL CAMPO CODE ICMP TYPE 5 Code Nome Descrizione 0 Redirect Datagram Serve ad indicare che un altro router for the Network or Subnet della subnet locale possiede un instradamento migliore per raggiungere la subnet di destinazione 1 Redirect Datagram Serve ad indicare che un altro router della subnet locale for the Host possiede un instradamento migliore per raggiungere l host di destinazione razione di filtraggio utilizzano tutti i campi Type e Code. Molti, ad esempio, filtrano Type=3, cioè Destination Unreachable, senza tenere conto del valore Code e ciò può generare dei seri problemi di comunicazione di cui se ne vedrà un esempio tipo nel seguito. Si supponga di avere una struttura di rete quale quella di figura 1 in cui è presente una rete locale con topologia Token Ring e una rete remota con topologia Ethernet e in cui si desideri che la rete remota possa accedere al server Web locale per ricevere dati di aggiornamento. Si supponga, inoltre, che il router blocchi i messaggi ICMP in ingresso con destinazione irraggiungibile. Tale blocco è stato pensato per evitare attacchi DoS (di cui si parlerà nel seguito), impedendo a chi attacca dall esterno di inviare falsi messaggi host unreachable (Type=3, Code=1). Dal momento che il router è caratterizzato da una capacità di filtraggio dei pacchetti limitata, è necessario bloccare tutto il traffico ICMP Type=3 (vedi Fig. 1). Tale blocco può generare dei problemi, in quanto, quando gli host della rete remota cercano di accedere alla rete locale, essi potrebbero non essere in grado di visualizzare le pagine HTML. Quello che avviene è indicato nel seguito: il browser del host che si trova su Ethernet sembra essere capace di trasformare il nome del host di destinazione in indirizzo IP; l browser sembra essere in grado di connettersi con il server di destinazione; se il router assicura una sessione di lo- 62

Fig.1 - Esempio di struttura di rete in cui si possono avere problemi dovuti al blocco di messaggi Destination Unreachable gin, il traffico sembra passare tra i due sistemi connessi; il log sul server Web locale indica che l host remoto è collegato al server Web e che sono stati trasmessi diversi file. Detto ciò, si verificano degli errori di trasmissione e la stessa non ha esito positivo. Ciò è dovuto al fatto che, bloccando tutto il traffico Type 3, vengono bloccati anche i messaggi di errore Fragmentation Needed (Type=3, Code=4) che impedisce al router di adattare la Mean Transfer Unit (MTU) del traffico che viene consegnato. La MTU stabilisce le dimensioni massime di carico utile che possono essere consegnate da un pacchetto dati. In Ethernet la MTU è di 1,5 KB mentre in Token Ring la MTU può arrivare 63

a 16 KB e quando un router riceve pacchetti troppo grandi per la rete di destinazione, esso invia una richiesta al trasmittente (ICMP Type=3, Code=4) di dividere i dati in blocchi più piccoli. Se il router tentasse di frammentare tali dati, si potrebbero verificare dei problemi in quanto i suoi buffer si potrebbero riempire. Per tale motivo risulta essere molto più semplice far inviare dei pacchetti più piccoli dal sistema remoto. Nel seguito si illustreranno le sequenze di trasmissione e ricezione: un host remoto Ethernet invia una richiesta di dati HTML; la richiesta viene consegnata al server Web di destinazione; i due sistemi effettuano un TCP threepacket hand shake utilizzando pacchetti da 64 byte; terminato l hand shake, il server Web risponde alla richiesta di dati utilizzando una MTU da 16 KB; la risposta raggiunge il ruoter della rete Ethernet remota; il router invia indietro una richiesta di frammentazione (ICMP Type=3, Code=4) al server Web chiedendo di utilizzare MTU da 1,5 KB; la richiesta del router remoto raggiunge il router della Token Ring; il router verifica la propria ACL e vede che deve abbandonare tutti i pacchetti di destination unreachable (ICMP Tpe 3) ed esegue tale operazione; la richiesta del router remoto non è in grado di raggiungere il server locale e l host remoto non riceverà mai le pagine richieste. Da ciò si evince che, quando si utilizza il filtraggio dei pacchetti statico, è necessario assicurarsi di conoscere, nei dettagli, le ramificazioni del traffico che si sta controllando. Da quanto visto sinora, si può dedurre che i filtri di pacchetti statici non sono dispositivi particolarmente flessibili e non sono in grado di garantire una elevata sicurezza contro attacchi avanzati. Essi utilizzano una ridotta quantità di informazione per gestire e controllare il traffico. Esistono in commercio molti router in grado di effettuare un filtraggio statico dei pacchetti. Nel prossimo numero: Architetture avanzate di firewall. Il packet filtering dinamico e lo stateful filtering 64