Firewall

      Commenti disabilitati su Firewall
300*250

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, garantendo dunque una protezione in termini di sicurezza informatica della rete stessa.

Di norma, la rete viene divisa in due sottoreti: una, detta esterna, comprende interamente 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 è possibile che nasca l’esigenza di 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).
Definizione e funzionalità

Un firewall è un componente per la sicurezza informatica con 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 esterna o rete pubblica).

Un firewall filtra il traffico sulla base di un insieme di regole che definiscono una policy di sicurezza.Esistono due politiche per l’applicazione delle regole:

policy default-deny: viene permesso solo ciò che viene dichiarato esplicitamente, il resto viene vietato;
policy default-allow: viene vietato solo ciò che viene dichiarato esplicitamente, il resto viene permesso.

Tutti i firewall utilizzano la politica default-deny poiché garantisce una maggiore sicurezza e una maggiore accuratezza nella definizione delle regole rispetto alla politica default-allow, anche se quest’ultima 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.
Tipologie

Di seguito viene proposta una descrizione dei tipi di firewall già nominati nella sezione precedente.
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.Pochi packet filter firewall supportano delle funzionalità di logging e di reporting di base.
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.[11] In generale, rispetto ai packet filter firewall, offrono una maggiore sicurezza, un logging migliore[19] 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[16], 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).