Salta al contenuto principale

nozioni di base sul firewall

massimiliano martines su uic h.e., 19\08\2008, h. 19.25.

I firewall sono dispositivi software od hardware posti a protezione dei
punti di interconnessione eventualmente esistenti tra una rete privata
interna (ad es. una Intranet) ed una rete pubblica esterna (ad. es.
Internet) oppure tra due reti differenti.

Ed ora, un po' di pubblicità

:

Usando una metafora è come se questi dispositivi rappresentassero i punti di
una dogana: la loro funzione principale è quella di agire come dei filtri
controllando tutto il traffico di rete che proviene dall'esterno, nonché
quello che viene generato dall'interno, e permettendo soltanto quel traffico
che risulta effettivamente autorizzato.

Prima di addentrarci nel discorso è opportuno fare una breve premessa per
ricordare i principi di funzionamento sui quali si basa il TCP/IP (Transport
Control Protocol/Internet Protocol) poiché questa diffusissima suite di
protocolli garantisce ormai la stragrande maggioranza dei servizi
all'interno sia delle reti private che di quelle pubbliche.

In un network basato sul TCP/IP ciascun sistema è identificato in modo
univoco da un indirizzo IP, costituito da quattro ottetti del tipo
aaa.bbb.ccc.ddd, e comunica con altri sistemi scambiando messaggi sotto
forma di pacchetti, detti anche datagrammi, tramite un determinato
protocollo.

In sostanza ogni forma di comunicazione tra i sistemi di un network di
questo tipo presuppone l'esistenza di due punti distinti ciascuno dei quali
è rappresentato da un coppia univoca di elementi costituiti oltre che da un
indirizzo IP anche da una porta di comunicazione: l'indirizzo IP,
analogamente ad un numero di telefono, garantisce la possibilità di
instaurare una comunicazione con un determinato sistema mentre la porta non
è altro che un numero che serve a differenziare il servizio di rete, cioè
l'applicazione usata per la comunicazione stessa (ad es. il servizio http ha
tipicamente un numero di porta uguale ad 80, quello ftp la 21, ecc...).

Il meccanismo che sta alla base dell'intero scambio informativo è quello che
permette l'instaurazione di una connessione ed è chiamato three-way
handshake termine che, tradotto letteralmente, significa "stretta di mano a
tre vie": senza di esso nessun successivo flusso comunicativo potrebbe
esistere tra due sistemi differenti.

Volendo ricorrere ad una metafora possiamo dire che la logica sulla quale si
fonda questo meccanismo è molto simile a quella delle raccomandate con
ricevuta di ritorno (Figura 1):

il client che intende connettersi ad un server invia a quest'ultimo un
messaggio di sincronizzazione attivo ed uno di conferma non attivo;
sull'altro capo della connessione il server risponde con un messaggio di
conferma attivo ed uno di sincronizzazione attivo;
infine il client risponde con un messaggio di conferma attivo ed uno di
sincronizzazione non attivo;
Terminata l'ultima fase la connessione può dirsi instaurata mentre nel caso
in cui il messaggio di conferma non arriva entro un tempo stabilito si
procede alla ritrasmissione.
Per poter agire come un filtro il firewall ha la necessità di analizzare
tutti i pacchetti che lo attraversano in modo da prendere una decisione
conforme ad un set di regole definito dall'utente.

In linea generale queste regole sono specificate in modo da comportare
l'accettazione od il blocco dei pacchetti in transito sulla base di quelli
che sono i loro elementi distintivi, vale a dire indirizzo IP e porta della
sorgente nonché indirizzo IP e porta della destinazione.

Tuttavia dal punto di vista del funzionamento interno i firewall possono
essere ulteriormente distinti in due gruppi separati:

firewall a filtraggio di pacchetti;
firewall a livello di circuito;
I primi sono i più comuni ed anche i meno costosi: essi esaminano le
informazioni contenute nella intestazione del pacchetto relativa al
protocollo IP e le confrontano con il loro set di regole interno
permettendone o bloccandone il transito.

Il vantaggio di questi dispositivi, oltre al costo contenuto, è
rappresentato dalla velocità mentre per converso i punti deboli sono
costituiti da una certa sensibilità verso determinati tipi di attacco come
quelli basati sull'IP spoofing.

Inoltre un altra vulnerabilità è data dal fatto che in questo caso sussiste
una connessione diretta tra sorgente e destinazione per cui, una volta che
il firewall lascia transitare il pacchetto, esso non garantisce più alcuna
ulteriore difesa contro ogni successivo attacco portato in essere.

Al contrario i firewall a livello di circuito, molto più costosi, forniscono
un livello di protezione più elevato poiché esaminano non soltanto
l'intestazione ma anche il contenuto dei pacchetti in transito.

Questo meccanismo di funzionamento viene anche detto "stateful packet
inspection" proprio perché l'esame del contenuto del datagramma è diretto a
verificare lo stato della comunicazione in corso e, quindi, ad assicurare
che il sistema di destinazione abbia effettivamente richiesto la
comunicazione stessa.

In questo modo c'è la garanzia che tutte le comunicazioni si svolgano
soltanto con indirizzi sorgente effettivamente conosciuti per effetto di
precedenti interazioni.