Da oltre un ventennio viviamo nell'era della tecnologia. Con la diffusione di Internet, in particolar modo, si è creata una rete di collegamento che ci consente di avere una vera e propria "finestra sul mondo". Il web è uno strumento rivoluzionario diventato, in poco tempo, indispensabile per miliardi di persone, il cui stile di vita ha subito un notevole cambiamento. Più o meno tutti, infatti, possediamo almeno un computer in casa, con relativa connessione alla rete. È importante ricordare, però, che oltre ad innumerevoli pregi questo portale può celare anche diversi rischi. In questa breve guida illustreremo passo passo che cos'è un firewall e come funziona, così da poter navigare sempre in maniera sicura.
Prima di cominciare, è importante fare una premessa: il firewall non è da confondere con l'antivirus, come spesso capita: si tratta, infatti, di strumenti diversi che contribuiscono, comunque, alla protezione del vostro PC con l'ausilio di altri software (antispyware e malware). Il firewall, dall'inglese "fire" (fuoco) e "wall" (muro), è letteralmente un "muro di fuoco": è una risorsa software, talvolta implementata in hardware dedicato, che controlla le informazioni provenienti da Internet, o da un altro tipo di rete, bloccandole o consentendone l'accesso al computer (a seconda delle opzioni impostate). Si tratta quindi di un programma che permette di respingere gli attacchi di hacker (pirati informatici), virus e software dannosi (ad esempio worm) che cercano di accedere al computer tramite la rete.
Una volta stabilito cos'è un firewall, possiamo proseguire spiegandone brevemente il funzionamento. Il firewall funziona come un filtro fra le connessioni in entrata e quelle in uscita del proprio computer. Ciò rende possibile difendersi dai tentativi di attacco rivolti al PC, oppure identificare l'azione di un trojan virus, che cerca di diffondere informazioni personali alla rete, in modo da renderla innocua. L'obiettivo principale è quello di rendere impossibile, o almeno estremamente difficoltoso, l'accesso al nostro apparecchio a chi non risulta autorizzato. L'utilizzo di un software firewall, unito a un buon antivirus, vi permetterà di proteggere i vostri dati da occhi indiscreti, rendendo la vostra macchina immune ad attacchi esterni.
Una volta chiarito il concetto di firewall e del suo funzionamento, non vi resta che scegliere il migliore per il vostro sistema. Se vi state chiedendo come fare, magari ignari su come procedere, non disperate: i vari sistemi operativi hanno già un loro software firewall pre-installato. Per chi è più pratico, la scelta di un firewall deve orientarsi, in primo luogo, su quelli che offrono un controllo adeguato anche sul traffico in uscita: ovvero, quando un qualsiasi programma tenterà, per la prima volta, di inviare informazioni tramite Internet per prelevare o trasmettere dati, il firewall metterà in attesa il tentativo di accesso alla rete segnalandolo all'utente. Questo potrà procedere bloccando la comunicazione, consentendola o impostando una regola per i tentativi di accesso futuri, di modo che il firewall, una volta si ripresenti lo stesso problema, compia le azioni stabilite automaticamente.
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.

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 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.