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.
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.
<_div align="center">
Client
|
Messaggio
|
Server
|
|
|
|
|
SINCRONIZZA=SI
- CONFERMA=NO
|
|
|
SINCRONIZZA=SI
- CONFERMA=SI
|
|
|
SINCRONIZZA=NO
- CONFERMA=SI
|
|
Figura
1
|
|
|
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.
|