Firewall

Aprile 2015

Firewall

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

Questa minaccia è più importante quando il terminale è connesso in permanenza ad internet, per diverse ragioni :

  • Il terminale bersagliato può essere connesso, tra l'altro senza essere sorvegliato ;
  • Il terminale bersagliato è generalmente connesso a più bande passanti ;
  • Il terminale bersagliato non cambia (o raramente) di indirizzo IP.



È quindi necessario, per le reti aziendali che per i privati che possiedono una connessione via cavo o ADSL, proteggersi dalle intrusioni di rete installando un dispositivo di protezione.

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 permette di filtrare i pacchetti di dati scambiati con la rete, si tratta quindi di una passerella filtrante con minimo le seguenti interfacce di rete :

  • Un'interfaccia per la rete da proteggere (rete interna) ;
  • un'interfaccia per la rete esterna.



Pare-feu



Il sistema firewall è un sistema software, basato a volte su un hardware dedicato, che costituisce un intermediario tra la rete locale (o il terminale locale) e una o più reti esterne. E' possibile mettere un sistema firewall su qualsiasi terminale e con qualsiasi sistema a patto che :

  • Il terminale sia sufficientemente potente per gestire il traffico ;
  • Il sistema sia sicurizzato ;
  • Solo il servizio di filtraggio dei pacchetti funzioni sul server.



Nel caso in cui il sistema firewall sia fornito in una scatola nera « chiavi in mano », si utilizza il termine d'« appliance ».

Funzionamento di un sistema firewall

Un sistema firewall contiene un insieme di regole predefinite che permettono :

  • Di autorizzare la connessione (allow) ;
  • Di bloccare la connessione (deny) ;
  • Di 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 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.

Così, i pacchetti di dati scambiati 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 (ricorda: 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 :

RegolaAzioneIP sorgenteIP destProtocolloPorta sorgentePorta dest
1Accept192.168.10.20194.154.192.3tcpany25
2Acceptany192.168.10.3tcpany80
3Accept192.168.10.0/24anytcpany80
4Denyanyanyanyanyany



Le porte riconosciute (il cui numero è compreso tra 0 e 1023</ital>) sono associate a dei servizi in corso (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 in chiaro. Gli amministratori gli 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. Ora, 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 (l'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 status ».

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 « passerella applicativa » (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 di 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 (personnal Firewall.)

Quindi, un firewall personale permette di controllare l'accesso alla rete delle applicazioni installate sul terminale, e soprattutto di impedire gli attacchi di tipo cavallo di Troia (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. E' 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 stoccaggio 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 collaborazione con una vera politica di sicurezza.

Per poter consultare questo documento offline, ne potete scaricare gratuitamente una versione in formato PDF:
Firewall.pdf

Vedi anche


Firewall
Firewall
Firewall
Firewall
Firewall (Brandmauer)
Firewall (Brandmauer)
Firewall (pare-feu)
Firewall (pare-feu)
Firewall
Firewall
Il documento intitolato « Firewall » da Kioskea (it.kioskea.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.