Firewall

Ogni computer connesso ad internet (e in generale a qualsiasi rete informatica) può essere vittima di un attacco da parte di pirati informatici. La metodologia generalmente impiegata consiste nello scrutare la rete (inviando dei pacchetti di dati in modo casuale) alla ricerca di un terminale connesso, poi trovare una falla di sicurezza per accedervi ai dati che contiene.

Questa minaccia è più importante quando il terminale è connesso in modo permanente ad internet, per diverse ragioni: il terminale bersaglio può essere connesso senza essere sorvegliato; il terminale bersaglio è generalmente connesso a più bande, mentre il terminale bersagliato non cambia indirizzo IP (o lo fa raramente). È quindi necessario proteggersi dalle intrusioni di rete installando un dispositivo di protezione dedito.

Che cos'è un firewall

Un firewall (chiamato anche muro tagliafuoco, muro ignifugo, parete refrattaria, parafuoco o parafiamma), è un sistema che permette di proteggere un computer o una rete di computer dalle intrusioni provenienti da una rete sconosciuta (soprattutto internet). Il firewall è un sistema che consente di filtrare i pacchetti di dati scambiati con la rete, si tratta quindi di un gateway filtrante con le seguenti interfacce di rete: un'interfaccia per la rete da proteggere (rete interna) e un'interfaccia per la rete esterna:

firewall

Il sistema firewall è un sistema software, basato a volte su un hardware dedito, che costituisce un intermediario tra la rete locale (o il terminale locale) e una o più reti esterne. È possibile mettere un sistema firewall su qualsiasi terminale e con qualsiasi sistema a patto che il terminale sia sufficientemente potente per elaborare il traffico, che il sistema sia sicuro e che nessun altro servizio oltre quello di filtraggio dei pacchetti funzioni sul server. Nel caso in cui il sistema firewall sia fornito "chiavi in mano", si utilizza il termine appliance.

Funzionamento di un sistema firewall

Un sistema firewall contiene un insieme di regole predefinite che consentono di autorizzare la connessione (allow), bloccare la connessione (deny) e rigettare la richiesta di connessione senza avvertire l'emittente (drop).

L'insieme di queste regole permette di realizzare un metodo di filtraggio che dipende dalla politica di sicurezza adottata dall'ente. Si distinguono abitualmente due tipi di politiche di sicurezza che permettono sia di autorizzare unicamente le comunicazioni esplicitamente autorizzate (tutto ciò che non è esplicitamente autorizzato è vietato), sia di impedire gli scambi che sono stati esplicitamente vietati. Il primo metodo è senza dubbio più sicuro, ma impone tuttavia una definizione precisa e limitativa dei bisogni in comunicazione.

Il filtraggio semplice dei pacchetti

Un sistema firewall funziona con un principio di filtraggio semplice dei pacchetti (in inglese «stateless packet filtering»). Questo analizza le intestazioni di ogni pacchetto di dati (datagramma) scambiato tra un terminale di rete interna e un terminale esterno.

I pacchetti di dati tra un terminale di una rete esterna e un terminale di una rete interna transitano attraverso il firewall e hanno le seguenti intestazioni, sistematicamente analizzate dal firewall stesso: indirizzo IP del terminale emittente, indirizzo IP del terminale ricevente, tipo di pacchetto (TCP, UDP, ecc.), numero di porta (una porta è un numero associato ad un servizio o ad un'applicazione di rete).

Gli indirizzi IP contenuti nei pacchetti permettono di identificare il terminale emittente e il terminale scelto, mentre il tipo di pacchetto e il numero di porta danno un'indicazione sul tipo di servizio utilizzato. La tabella qui sotto da degli esempi di regole firewall:

Regola Azione IP mittente IP destinatario Protocollo Porta mittente Porta destinatario
1 Accept 192.168.10.20 194.154.192.3 tcp any 25
2 Accept any 192.168.10.3 tcp any 80
3 Accept 192.168.10.0/24 any tcp any 80
4 Deny any any any any any

Le porte conosciute (il cui numero è compreso tra 0 e 1023) sono associate a dei servizi (le porte 25 e 110 sono ad esempio associate alla posta elettronica, e la porta 80 al web). La maggior parte dei dispositivi firewall ha una configurazione minima capace di filtrare le comunicazioni secondo la porta utilizzata. Si consiglia generalmente di bloccare tutte le porte che non sono indispensabili (secondo la politica di sicurezza adottata).

La porta 23 ad esempio è spesso bloccata di default con dei dispositivi firewall dato che corrisponde al protocollo Telnet, che permette di simulare un accesso da un terminale da remoto in modo da poter eseguire dei comandi a distanza. I dati scambiati da Telnet non sono codificati, il che significa che un individuo può [ascoltare la rete] e rubare le eventuali password non criptate. Gli amministratori di reti preferiscono generalmente il protocollo SSH, considerato più sicuro e con le stesse funzionalità di Telnet.

Il filtraggio dinamico

Il filtraggio semplice dei pacchetti esamina i pacchetti IP indipendentemente gli uni dagli altri, il che corrisponde al livello 3 del modello OSI. La maggior parte delle connessioni si basa sul protocollo TCP, che gestisce la nozione di sessione, per assicurare il corretto svolgimento degli scambi. D'altra parte, molti servizi (FTP ad esempio) iniziano una connessione su una porta statica, ma aprono dinamicamente (cioè in maniera casuale) una porta per stabilire una sessione fra il terminale che funge da server e quello client.

È quindi impossibile, con un filtraggio semplice di pacchetti, prevedere le porte da lasciare o da vietare. Per porvi rimedio, il sistema di filtraggio dinamico di pacchetti è basato sull'ispezione degli strati 3 e 4 del modello OSI, che permettono di effettuare un controllo delle transazioni tra il client e il server. Il termine anglosassone è «stateful inspection» o «stateful packet filtering», tradotto «filtraggio di pacchetti con stato».

Un dispositivo firewall di tipo «stateful inspection» è quindi capace di assicurare un controllo degli scambi, cioè di tenere conto dello stato dei vecchi pacchetti per applicare le regole di filtraggio. In questo modo, dal momento in un cui un terminale autorizzato inizia una connessione ad un terminale posto dall'altra parte del firewall, l'insieme dei pacchetti che transitano nel quadro di questa connessione saranno implicitamente accettati dal firewall. Se è vero che il filtraggio dinamico è più performante dei pacchetti di base, esso però non protegge dallo sfruttamento delle falle applicative, legate alle vulnerabilità delle applicazioni. Queste vulnerabilità rappresentano la parte più importante dei rischi in termini di sicurezza.

Il filtraggio applicativo

Il filtraggio applicativo permette di filtrare le comunicazioni per ogni singola applicazione. Il filtraggio applicativo opera quindi al livello 7 (strato applicazione) del modello OSI, contrariamente al filtraggio di pacchetti semplice (livello 4). Il filtraggio applicativo suppone quindi una conoscenza dei protocolli utilizzati per ogni applicazione. Il filtraggio applicativo permette, come indica il suo nome, di filtrare le comunicazioni applicazione per applicazione. Il filtraggio applicativo suppone quindi una buona conoscenza delle applicazioni presenti sulla rete, e soprattutto, della maniera in cui essa struttura i dati scambiati (porte, ecc.).

Un firewall che effettua un filtraggio applicativo è chiamato generalmente «gateway applicativo» (o «proxy»), dato che serve da collegamento tra le due reti interponendosi ed effettuando una validazione dettagliata del contenuto dei pacchetti scambiati. Il proxy rappresenta quindi un intermediario tra i terminali della rete interna e quella esterna, che subisce gli attacchi al loro posto. Inoltre, il filtraggio applicativo permette la distruzione delle intestazioni che precedono il messaggio applicativo, cosa che fornisce un livello di sicurezza supplementare.

Si tratta di un dispositivo performante, che assicura una buona protezione della rete, anche non ben amministrato. In contropartita, un'analisi dettagliata dei dati applicativi richiede una grande potenza di calcolo e si traduce spesso in un rallentamento delle comunicazioni, dato che ogni pacchetto viene analizzato dei minimi particolari. D'altronde, il proxy, per essere davvero efficace, dev'essere necessariamente capace di interpretare una vasta gamma di protocolli e conoscere i relativi bug. Infine, un sistema simile può potenzialmente comportare una vulnerabilità, in quanto esso interpreta le richieste che transitano attraverso se stesso. Si raccomanda quindi di dissociare il firewall (dinamico o no) dal proxy, per limitare i rischi di compromissione.

Nozione di firewall personale

Nel caso in cui la zona da proteggere si limita al computer sul quale il firewall è installato, si parla di firewall personale (personal Firewall.) Un firewall personale permette quindi di controllare l'accesso alla rete delle applicazioni installate sul terminale, e soprattutto di impedire gli attacchi di tipo trojan, cioè dei programmi nocivi che aprono una breccia nel sistema per permettere un controllo da remoto del terminale da parte di un pirata informatico. Il firewall personale permette infatti di individuare e impedire l'apertura delle applicazioni non autorizzate a connettersi.

I limiti dei firewall

Un sistema firewall non offre ovviamente una sicurezza assoluta, al contrario. I firewall offrono una protezione nella misura in cui l'insieme delle comunicazioni verso l'esterno passi sistematicamente tramite essi e siano configurati correttamente. Quindi gli accessi alla rete esterna da aggiramento del firewall sono comunque delle falle di sicurezza. È soprattutto il caso delle connessioni effettuate partendo dalla rete interna via modem o ogni altro mezzo di connessione che sfugge al controllo del firewall.

Allo stesso modo, l'introduzione di supporti di archiviazioni esterni su terminali interni alla rete oppure su laptop può pregiudicare seriamente la politica di sicurezza globale. Infine, per garantire un livello massimo di protezione è necessario amministrare il firewall e soprattutto sorvegliare il suo file di log per essere capaci di rilevare i tentativi di intrusione o eventuali anomalie. Si raccomanda tuttavia di effettuare un controllo di sicurezza (abbonandosi alle notifiche di sicurezza dei CERT ad esempio) per modificare le configurazioni del proprio dispositivo, basandosi sulle notifiche. La realizzazione di un firewall deve quindi farsi in accordo con una vera politica di sicurezza.

Foto: © Fouaddesigns - Shutterstock.com

I nostri contenuti sono creati in collaborazione con esperti di high-tech, sotto la direzione di Jean-François Pillou, fondatore di CCM.net. CCM è un sito di high-tech leader a livello internazionale ed è disponibile in 11 lingue.
Potrebbe anche interessarti
Il documento intitolato « Firewall » dal sito CCM (it.ccm.net) è reso disponibile sotto i termini della licenza Creative Commons. È possibile copiare, modificare delle copie di questa pagina, nelle condizioni previste dalla licenza, finché questa nota appaia chiaramente.