Firewall

()

Firewall

In informatica, nell’ambito delle reti di computer, un firewall (termine inglese dal significato originario di parete refrattaria, muro tagliafuoco, muro ignifugo; in italiano anche parafuoco o parafiamma) è un componente di difesa perimetrale di una rete informatica, originariamente passivo, che può anche svolgere funzioni di collegamento tra due o più segmenti di rete, fornendo dunque una protezione in termini di sicurezza informatica della rete stessa.

Di norma, la rete viene divisa in due sottoreti: una, detta esterna, è tipicamente una WAN (Wide Area Network) che può comprendere Internet, mentre l’altra interna, detta LAN (Local Area Network), comprende una sezione più o meno grande di un insieme di computer host locali.

In alcuni casi può essere utile creare una terza sottorete, detta DMZ (o zona demilitarizzata), adatta a contenere quei sistemi che devono essere isolati dalla rete interna, ma che devono comunque essere protetti dal firewall ed essere raggiungibili dall’esterno (server pubblici).

Il termine “firewall” in origine si riferiva a un muro destinato a confinare un incendio all’interno di un edificio. Gli usi successivi si riferiscono a strutture analoghe, come la lamiera che separa il vano motore di un veicolo o di un aereo dall’abitacolo. Il termine fu applicato alla fine degli anni ’80 alla tecnologia di rete che emerse quando internet era abbastanza nuovo in termini di uso e connettività globali. I predecessori dei firewall per la sicurezza della rete erano i router utilizzati alla fine degli anni ’80.

Descrizione
Un firewall è un componente per la sicurezza informatica avente lo scopo di controllare gli accessi alle risorse di un sistema filtrando tutto il traffico che tale sistema scambia con l’esterno. Il sistema, che si suppone sicuro e attendibile, protetto dal firewall, può essere un singolo computer o una rete di computer (detta rete interna o rete locale o rete privata) mentre l’ambiente esterno con cui interagisce è tipicamente una rete che si suppone sconosciuta, insicura e non attendibile (detta rete esternao rete pubblica).

Un firewall filtra il traffico sulla base di un insieme di regole, solitamente dette policy (in italiano si potrebbe rendere con criteri o politiche). Esistono due criteri generali per l’applicazione delle singole regole:

criterio default-deny: viene permesso solo ciò che viene dichiarato esplicitamente, il resto viene vietato;
criterio default-allow: viene vietato solo ciò che è esplicitamente proibito, il resto viene permesso.
I firewall utilizzano normalmente il criterio default-deny poiché garantisce una maggiore sicurezza e una maggiore precisione nella definizione delle regole rispetto al criterio default-allow, anche se quest’ultimo consente una configurazione più semplice.
L’analisi dei pacchetti che costituiscono il traffico, secondo i criteri di sicurezza formalizzati dalle regole, si traduce in una delle seguenti azioni:

allow: il firewall lascia passare il pacchetto;
deny: il firewall blocca il pacchetto e lo rimanda al mittente;
drop: il firewall blocca il pacchetto e lo scarta senza inviare alcuna segnalazione al mittente.

Di solito i firewall non prevedono il blocco del pacchetto e il rinvio dello stesso al mittente per evitare uno spreco di banda.

Un firewall può essere un software oppure un dispositivo hardware oppure una composizione di hardware e software. Si definisce appliance nel caso in cui sia realizzato come un dispositivo hardware provvisto di software integrato in grado di svolgere le funzione di firewall.

I firewall si dividono in host-based e network-based a seconda della natura del sistema che proteggono. Un host-based firewall, chiamato anche personal firewall o firewall software, è un’applicazione software che controlla il traffico uscente ed entrante di un singolo computer. In particolare blocca le applicazioni installate sulla macchina a cui non è concessa la connessione con l’esterno. Un network-based firewall, detto anche network firewall o firewall hardware, è un componente hardware stand-alone che viene posto sul confine di una rete in modo da filtrare tutto il traffico che questa scambia con l’esterno (per questo viene anche detto firewall perimetrale). I firewall hardware sono macchine che vengono progettate per la particolare funzione che devono svolgere e possono essere realizzate con hardware e software dedicati o con un server opportunamente configurato per eseguire solamente un firewall. Dato che vengono impiegate per separare una rete interna da una rete esterna, sono dotate di due schede di rete e presentano un sistema operativo minimale composto solo da software indispensabile per l’esecuzione del firewall. Per questo motivo i firewall hardware sono più sicuri e allo stesso tempo più difficili da configurare rispetto ai firewall software.

Evoluzione

Con l’introduzione delle reti LAN nella seconda metà degli anni 1970 e l’aumentare della connettività tra queste, favorita dalla diffusione dei primi router a partire dai primi anni 1980, cominciarono a emergere i primi problemi di sicurezza riguardanti gli accessi non autorizzati ad una rete.Una delle prime soluzioni adottate consisteva nell’impostare all’interno dei router le liste di controllo degli accessi (ACL) che consentivano di stabilire quali pacchetti accettare e quali scartare sulla base dell’indirizzo IP. Questo approccio diventò sempre meno utilizzabile quanto più aumentavano gli host connessi alla rete Internet.Per cercare di contrastare le intrusioni, alla fine degli anni 1980 vennero introdotti i primi firewall.

La prima generazione fu quella dei packet filter firewall o stateless firewall, il cui primo esemplare venne sviluppato nel 1988 dalla Digital Equipment Corporation. Il loro funzionamento consisteva nel filtrare il traffico secondo un insieme di regole basate su alcune informazioni presenti nell’header dei pacchetti.Questi semplici filtri, usati spesso all’interno dei router e degli switch, potevano essere aggirati utilizzando l’IP spoofing[7] e non riuscivano a rilevare le vulnerabilità nei livelli del modello OSI superiori al terzo.

La seconda generazione di firewall introdusse, rispetto alla prima, la possibilità di salvare e monitorare lo stato di una connessione.[18] Il primo stateful firewall (chiamato anche circuit-level gateway) venne sviluppato tra il 1989 e il 1990[11] dagli AT&T Bell Laboratories. Un firewall di questo tipo consentiva la formulazione di regole in grado di bloccare pacchetti fasulli, cioè non appartenenti ad alcuna connessione attiva, ma non garantiva la protezione da attacchi che sfruttavano vulnerabilità nei livelli superiori del modello OSI. Inoltre erano sensibili anche ad attacchi di tipo DoS che puntavano a riempire la tabella dello stato delle connessioni.

Firewall di tipo stateful vennero integrati all’interno di piattaforme UTM (Unified Threat Management) che inizialmente, oltre al firewall, prevedevano anche un antivirus e un sistema per la prevenzione delle intrusioni (IPS). Altre funzioni che vennero aggiunte in seguito a questo tipo di soluzioni per la sicurezza sono VPN, reporting, load balancing e il filtraggio del contenuto. All’interno di questo insieme di strumenti, il firewall costituiva il primo elemento di difesa del sistema. Uno dei problemi più importanti delle soluzioni UTM erano le prestazioni.

La crescita di Internet portò alla diffusione degli attacchi inseriti all’interno del traffico web ai quali i stateful firewall non erano in grado di far fronte. Infatti i firewall della seconda generazione, come quelli della prima, non avevano la capacità di individuare le minacce all’interno del traffico in quanto riuscivano a classificarlo semplicemente sulla base della porta e del protocollo. Il problema portò allo sviluppo degli application firewall(anche detti proxy firewallo application gateway), una nuova generazione di firewall in grado di offrire protezione fino al livello applicativo (livello 7) del modello OSI.Tra i firewall di questo tipo DEC SEAL e FWTK furono tra i primi ad essere sviluppati nella prima metà degli anni 1990. Tuttavia questo tipo di firewall poteva supportare un solo protocollo applicativo e influiva negativamente sul traffico di rete.

Nella seconda metà degli anni 2000 vennero realizzati i primi next-generation firewall i quali riunivano vecchie e nuove tecnologie di sicurezza in un’unica soluzione, evitando il degrado delle prestazioni e migliorandone la configurazione e la gestione.

Tipologie
I firewall sono generalmente classificati come basati su rete o basati su host. I firewall di rete sono posizionati sui computer gateway di LAN, WAN e intranet. Si tratta di dispositivi software in esecuzione su hardware generico o dispositivi per computer firewall basati su hardware. Le appliance firewall possono anche offrire funzionalità aggiuntive alla rete interna che proteggono, come ad esempio un server DHCP o VPN per quella rete. I firewall basati su host sono posizionati sul nodo di rete stesso e controllano il traffico di rete in entrata e in uscita da tali macchine. Il firewall basato su host può essere un daemon o un servizio come parte del sistema operativo o un’applicazione agente come la sicurezza o la protezione degli endpoint. Ognuno ha vantaggi e svantaggi. Tuttavia, ognuno ha un ruolo nella sicurezza a più livelli.

Anche i firewall variano di tipo a seconda di dove proviene la comunicazione, dove viene intercettata e viene tracciato lo stato della comunicazione.

Packet filter firewall o stateless firewall

Un packet filter firewall o stateless firewall analizza ogni pacchetto che lo attraversa singolarmente, senza tenere conto dei pacchetti che lo hanno preceduto. In tale analisi vengono considerate solo alcune informazioni contenute nell’header del pacchetto, in particolare quelle appartenenti ai primi tre livelli del modello OSI più alcune del quarto. Le informazioni in questione sono l’indirizzo IP della sorgente, l’indirizzo IP della destinazione, la porta della sorgente, la porta della destinazione e il protocollo di trasporto. Su questi parametri vengono costruite le regole che formalizzano la policy del firewall e che stabiliscono quali pacchetti lasciar passare e quali bloccare. Questo tipo di filtraggio è semplice e leggero ma non garantisce un’elevata sicurezza. Infatti risulta vulnerabile ad attacchi di tipo IP spoofing in quanto non riesce a distinguere se un pacchetto appartenga o no ad una connessione attiva.Quindi, a causa della mancanza di stato, il firewall lascia passare anche i pacchetti il cui indirizzo IP sorgente originale, non consentito dalla policy del firewall, viene volutamente modificato con un indirizzo consentito.[ Inoltre il filtraggio, basato solo sulle informazioni dei primi livelli del modello OSI, non permette al firewall di rilevare gli attacchi basati su vulnerabilità dei livelli superiori.[18] Pochi packet filter firewall supportano delle funzionalità di logging e di reporting di base.

Il primo documento pubblicato sulla tecnologia firewall è stato nel 1988, quando gli ingegneri della Digital Equipment Corporation (DEC) hanno sviluppato sistemi di filtraggio noti come firewall per filtri a pacchetto. Questo sistema abbastanza basilare è la prima generazione di quella che in seguito divenne una funzionalità di sicurezza Internet altamente coinvolta e tecnica. Alla AT & T Bell Labs, Bill Cheswick e Steve Bellovin hanno continuato la loro ricerca nel filtraggio dei pacchetti e hanno sviluppato un modello funzionante per la propria azienda basato sulla loro originale architettura di prima generazione.

Stateful firewall o circuit-level gateway

Uno stateful firewall o circuit-level gateway svolge lo stesso tipo di filtraggio dei packet filter firewall e in più tiene traccia delle connessioni e del loro stato. Questa funzionalità, detta stateful inspection, viene implementata utilizzando una tabella dello stato interna al firewall nella quale ogni connessione TCP e UDP viene rappresentata da due coppie formate da indirizzo IP e porta, una per ciascun endpoint della comunicazione. Per tenere traccia dello stato di una connessione TCP vengono memorizzati il sequence number, l’acknowledgement number e i flag che ne indicano l’inizio (SYN), la parte centrale (ACK) e la fine (FIN). Quindi uno stateful firewall bloccherà tutti i pacchetti che non appartengono ad una connessione attiva, a meno che non ne creino una nuova, o che non rispettino l’ordine normale dei flag nella comunicazione.La possibilità di filtrare i pacchetti sulla base dello stato delle connessioni previene gli attacchi di tipo IP spoofing ma comporta una maggiore difficoltà nella formulazione delle regole. Inoltre gli stateful firewall non rilevano gli attacchi nei livelli OSI superiori al quarto e sono sensibili agli attacchi DoS che ne saturano la tabella dello stato. In generale, rispetto ai packet filter firewall, offrono una maggiore sicurezza, un logging migliore e un controllo migliore sui protocolli applicativi che scelgono casualmente la porta di comunicazione (come FTP) ma sono più pesanti dal punto di vista delle performance.

Application firewall o proxy firewall o application gateway

Un application firewall o proxy firewall o application gateway opera fino al livello 7 del modello OSI filtrando tutto il traffico di una singola applicazione sulla base della conoscenza del suo protocollo. Questo tipo di firewall analizza i pacchetti nella sua interezza considerando anche il loro contenuto (payload) ed è quindi in grado di distinguere il traffico di un’applicazione indipendentemente dalla porta di comunicazione che questa utilizza. Un’altra caratteristica che lo distingue da un packet filter firewall e da uno stateful firewall è la capacità di spezzare la connessione tra un host della rete che protegge e un host della rete esterna. Infatti nelle comunicazioni svolge il ruolo di intermediario ed è quindi l’unico punto della rete che comunica con l’esterno, nascondendo così gli altri host che vi appartengono Questo tipo di firewall è in grado di rilevare i tentativi di intrusione attraverso lo sfruttamento di un protocollo e di realizzare le funzionalità di logging e reporting in modo migliore rispetto ai firewall precedentemente descritti. Sebbene aumenti il livello della sicurezza, un application firewall è specifico per ogni applicazione e costituisce un collo di bottiglia per le performance della rete.

Next-generation firewall
Un next-generation firewall è una piattaforma che riunisce in un unico pacchetto diverse tecnologie per la sicurezza. Fra queste ci sono le tecnologie di filtraggio dei firewall presentati in precedenza ovvero il filtraggio stateless, la stateful inspection, l’analisi dei pacchetti a livello applicativo (deep-packet introspection) e altre funzionalità aggiuntive come il NAT e il supporto alle VPN. Alcune delle altre caratteristiche tipiche di un next-generation firewall sono: il rilevamento e la prevenzione delle intrusioni (sistemi IDS e IPS), la definizione di policy specifiche per ogni applicazione, l’integrazione dell’identità dell’utente, l’acquisizione di dati di supporto per la sicurezza da fonti esterne, la qualità di servizio. L’obiettivo di questa tecnologia di firewall è la semplificazione di configurazione e gestione di un insieme eterogeneo di strumenti di sicurezza e allo stesso tempo il miglioramento del loro impatto sulle performance dell’intero sistema.

Altre funzionalità associate
Una funzione spesso associata al firewall è quella di NAT (traduzione degli indirizzi di rete), che può contribuire a rendere inaccessibili i calcolatori sulla rete interna mascherandone gli indirizzi IP.

Molti firewall possono registrare tutte le operazioni fatte (logging), effettuare registrazioni più o meno selettive (ad esempio, registrare solo i pacchetti che violano una certa regola, non registrare più di N pacchetti al secondo), e tenere statistiche di quali regole sono state più violate.

La registrazione integrale dell’attività di un firewall può facilmente assumere dimensioni ingestibili, per cui spesso si usa il logging solo temporaneamente per diagnosticare problemi, o comunque in modo selettivo (logging dei soli pacchetti rifiutati o solo di alcune regole). Tuttavia, l’analisi dei log di un firewall (o anche dei contatori delle varie regole) può permettere di individuare in tempo reale tentativi di intrusione.

Talvolta ad un firewall è associata anche la funzione rilevamento delle intrusioni (IDS), un sistema basato su euristiche che analizza il traffico e tenta di riconoscere possibili attacchi alla sicurezza della rete, e può anche scatenare reazioni automatiche da parte del firewall (Intrusion prevention system).

/ 5
Grazie per aver votato!

How useful was this post?

Click on a star to rate it!

Average rating / 5. Vote count:

No votes so far! Be the first to rate this post.

As you found this post useful...

Follow us on social media!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?