Firewall

Da Wikipedia, l'enciclopedia libera.
bussola Disambiguazione – Se stai cercando altri significati del termine, vedi Firewall (disambigua).
Schema semplificato di una rete con firewall collegata a una rete esterna

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 passivo di difesa perimetrale di una rete informatica, che può anche svolgere funzioni di collegamento tra due o più tronconi di rete, garantendo dunque una protezione in termini di sicurezza informatica della rete stessa.[1][2]

Di norma, la rete viene divisa in due sottoreti: una, detta esterna, comprende l'intera 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à[modifica | modifica sorgente]

Una prima definizione chiusa di firewall è la seguente: Apparato di rete hardware o software di ingresso-uscita bidirezionale che, opportunamente configurato o settato e agendo in maniera centralizzata, filtra tutti i pacchetti entranti ed uscenti, da e verso una rete o un computer, secondo regole prestabilite che contribuiscono alla sicurezza della stessa.'

Un firewall può essere realizzato con un semplice computer (con almeno due schede di rete, una per l'input l'altra per l'output, e software apposito), può essere una funzionalità logica (software) inclusa in un router oppure può essere implementato su un apparato hardware dedicato. Esistono inoltre i cosiddetti "firewall personali", che sono programmi installati sui normali calcolatori client, che filtrano solamente i pacchetti che entrano ed escono da quel calcolatore, utilizzando in tal caso sola una scheda di rete.

La funzionalità principale in sostanza è quella di creare un filtro sulle connessioni entranti ed uscenti, innalzando il livello di sicurezza della rete e permettere sia agli utenti interni che a quelli esterni di operare nel massimo della sicurezza. Il firewall infatti agisce sui pacchetti in transito da e per la zona interna potendo eseguire su di essi operazioni di:

  • controllo;
  • modifica;
  • monitoraggio.

"aprendo" in tutti i casi il pacchetto IP e leggendo le informazioni presenti sul suo header, e in alcuni casi anche sul suo contenuto o payload.

Tipologie[modifica | modifica sorgente]

Tipologie di firewall, in ordine crescente di complessità:

  • packet filter è il più semplice e si limita a valutare gli header di ciascun pacchetto, decidendo quali far passare e quali no sulla base delle regole configurate. Ciascun pacchetto viene valutato solamente sulla base delle regole configurate, e per questo un firewall di questo tipo è detto anche stateless. Alcuni packet filter, analizzando i flag dell'header TCP, sono in grado di discriminare un pacchetto appartenente ad una "connessione TCP stabilita (established)" rispetto a quelli che iniziano una nuova connessione, ma non sono in grado di riconoscere un pacchetto malevolo che finga di appartenere ad una connessione TCP stabilita. Molti router posseggono una funzione di packet filter.
  • stateful inspection, tiene traccia di alcune relazioni tra i pacchetti che lo attraversano, ad esempio ricostruisce lo stato delle connessioni TCP.
  • deep packet inspection, effettuano controlli fino al livello 7 della pila ISO/OSI, ovvero valutano anche il contenuto applicativo dei pacchetti, ad esempio riconoscendo e bloccando i dati appartenenti a virus o worm noti in una sessione HTTP o SMTP.
  • application layer firewall, sono apparati che intercettano le connessioni a livello applicativo. A questa categoria appartengono i proxy. In tali casi, la configurazione della rete privata non consente connessioni dirette verso l'esterno, ma il proxy è connesso sia alla rete privata che alla rete pubblica, e permette alcune connessioni in modo selettivo, e solo per i protocolli che supporta.

La sintassi della configurazione di un firewall in molti casi è basata su un meccanismo di lista di controllo degli accessi (ACL), che possono essere statiche (quindi modificabili solo tramite configurazione esplicita da parte dell'amministratore di sistema) o dinamiche (cioè che possono variare in base allo stato interno del sistema, come ad esempio nel Port knocking).

Altre funzionalità associate[modifica | modifica sorgente]

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

Personal Firewall e Firewall Software[modifica | modifica sorgente]

Exquisite-kfind.png Per approfondire, vedi Personal firewall.

Oltre al firewall a protezione perimetrale ne esiste un secondo tipo, definito "Personal Firewall", che si installa direttamente sui sistemi da proteggere (per questo motivo è chiamato anche Firewall Software). In tal caso, un buon firewall effettua anche un controllo di tutti i programmi che tentano di accedere ad Internet presenti sul computer nel quale è installato, consentendo all'utente di impostare delle regole che possano concedere o negare l'accesso ad Internet da parte dei programmi stessi, questo per prevenire la possibilità che un programma malevolo possa connettere il computer all'esterno pregiudicandone la sicurezza.

Il principio di funzionamento differisce rispetto a quello del firewall perimetrale in quanto, in quest'ultimo, le regole che definiscono i flussi di traffico permessi vengono impostate in base all'indirizzo IP sorgente, quello di destinazione e la porta attraverso la quale viene erogato il servizio, mentre nel personal firewall all'utente è sufficiente esprimere il consenso affinché una determinata applicazione possa interagire con il mondo esterno attraverso il protocollo IP.

Da sottolineare che l'aggiornamento di un firewall è importante ma non è così vitale come invece lo è l'aggiornamento di un antivirus, in quanto le operazioni che il firewall deve compiere sono sostanzialmente sempre le stesse. È invece importante creare delle regole che siano corrette per decidere quali programmi devono poter accedere alla rete esterna e quali invece non devono.

Vantaggi e svantaggi[modifica | modifica sorgente]

Rispetto ad un firewall perimetrale, il personal firewall è eseguito sullo stesso sistema operativo che dovrebbe proteggere, ed è quindi soggetto al rischio di venir disabilitato da un malware che prenda il controllo del calcolatore con diritti sufficienti. Inoltre, la sua configurazione è spesso lasciata a utenti finali poco esperti.

A suo favore, il personal firewall ha accesso ad un dato che un firewall perimetrale non può conoscere, ovvero può sapere quale applicazione ha generato un pacchetto o è in ascolto su una determinata porta, e può basare le sue decisioni anche su questo, ad esempio bloccando una connessione SMTP generata da un virus e facendo passare quella generata da un'altra applicazione.

Filtraggio dei contenuti[modifica | modifica sorgente]

Una funzione che alcuni firewall prevedono è la possibilità di filtrare ciò che arriva da Internet sulla base di diversi tipi di criteri non relativi alla sicurezza informatica, ma volti a limitare gli utilizzi della rete sulla base di decisioni politiche, in particolare vietando la connessione su determinate porte o, per quanto riguarda il web, a determinate categorie di siti:

  • contenuti non adatti ai minori (ad esempio in una rete domestica con postazioni libere non protette individualmente)
  • contenuti ritenuti non pertinenti con l'attività lavorativa (in una rete aziendale)
  • contenuti esclusi in base alle informazioni veicolate, su base politica, religiosa o per limitare la diffusione della conoscenza (in questi casi il firewall è uno strumento di censura)

Alcune nazioni arrivano a filtrare tutto il traffico internet proveniente dal proprio territorio nazionale nel tentativo di controllare il flusso di informazioni.

Spesso l'attivazione di questa funzionalità è demandata a software e/o hardware aggiuntivi appartenenti alla categoria dell'URL filtering. Ai firewall viene però richiesto di impedire che gli utenti aggirino tali limitazioni.

Limiti[modifica | modifica sorgente]

Il firewall è solo uno dei componenti di una strategia di sicurezza informatica, e non può in generale essere considerato sufficiente:

  • la sua configurazione è un compromesso tra usabilità della rete, sicurezza e risorse disponibili per la manutenzione della configurazione stessa (le esigenze di una rete cambiano rapidamente)
  • una quota rilevante delle minacce alla sicurezza informatica proviene dalla rete interna (portatili, virus, connessioni abusive alla rete, dipendenti, accessi VPN, reti wireless non adeguatamente protette)

Vulnerabilità[modifica | modifica sorgente]

Una delle vulnerabilità più conosciute di un firewall di fascia media è l'HTTP tunneling, che consente di bypassare le restrizioni Internet utilizzando comunicazioni HTTP solitamente concesse dai firewall. Altra tipica vulnerabilità è la dll injection, ovvero una tecnica utilizzata da molti trojan, che sovrascrive il codice maligno all'interno di librerie di sistema utilizzate da programmi considerati sicuri. L'informazione riesce ad uscire dal computer in quanto il firewall, che di solito controlla i processi e non le librerie, crede che l'invio ad Internet lo stia eseguendo un programma da lui ritenuto sicuro, ma che di fatto utilizza la libreria contaminata. Alcuni firewall hanno anche il controllo sulla variazione delle librerie in memoria ma è difficile capire quando le variazioni sono state fatte da virus.

Implementazioni[modifica | modifica sorgente]

  • Appliance
    • Cisco PIX\ASA
    • Check Point FireWall 1
    • Cyberoam Identity-based Unified Threat Management.
    • gateProtect appliance non Open Source basato su linux
    • Juniper Netscreen
    • Modulo firewall di livello aziendale per gli switch HP ProCurve
    • Palo Alto Networks Next Generation Firewall
    • Stonesoft Stonegate
    • vantronix progetto basato su OpenBSD
    • WatchGuard XTM, XCS, NGFW

Note[modifica | modifica sorgente]

  1. ^ (EN) Bradley Mitchell, Fire Wall - Network Firewalls, about.com. URL consultato il 20 maggio 2012.
  2. ^ (EN) Olaf Kirch e Terry Dawson, 9.2. What Is a Firewall? in Linux Network Administrators Guide. URL consultato il 20 maggio 2012.

Voci correlate[modifica | modifica sorgente]

Altri progetti[modifica | modifica sorgente]

Collegamenti esterni[modifica | modifica sorgente]

  • Firewall in Open Directory Project, Netscape Communications. (Segnala su DMoz un collegamento pertinente all'argomento "Firewall")
  • IPCop Italia - Prima community Italiana dedicata al Firewalling UTM. alla Sicurezza e alla distribuzione Firewall più usata al mondo.