2 “Un computer sicuro è un computer spento, staccato dalla rete e buttato in fondo al mare!” 3 Quando si parla di “sicurezza informatica”, vengono coinvolti tre aspetti di un sistema informatico: La riservatezza L’integrità La disponibilità 4 le risorse informatiche siano accessibili solo dalle parti autorizzate RISERVATEZZA le risorse possono essere modificate solo da parti o modi autorizzati SICURO INTEGRITA’ DISPONIBILITA’ le risorse sono accessibili alle parti autorizzate in momenti specifici 5 Il firewall -“Muro di Fuoco”- nasce all’inizio degli anni ‘90, è un sistema interposto fra due o più reti, con lo scopo di controllare il traffico tra di esse, implementato mediante una serie di regole che variano in base alle esigenze dell’utente. Il presupposto principale per il corretto funzionamento di un firewall è che questo sia l’unico punto di contatto fra le reti 6 Il firewall è un componente critico della sicurezza di una rete, più è complesso e quindi soggetto a errori e vulnerabilità. E’ importante che il numero di frammenti di codice sul dispositivo, sul quale è implementato, sia il minore possibile in questo modo minore è il numero degli strumenti a disposizione dell’aggressore per la compromissione del firewall. Un firewall interposto fra una rete aziendale e Internet è ormai considerato un componente necessario, anche se in generale non sufficiente, per la protezione della rete 7 Perchè un firewall possa mantenere all’esterno di un ambiente protetto gli elementi “cattivi” si può impedire qualsiasi accesso dall’esterno permettere gli accessi solo da alcuni luoghi, da determinati utenti o per certe attività. 8 Si possono descrivere due scuole di pensiero: “Quello che non è espressamente consentito è proibito” consigliata dagli esperti della sicurezza “Quello che non è espressamente proibito è consentito” preferita dagli utenti 9 “Quello che non è espressamente consentito è proibito” il Firewall deve bloccare tutto il traffico gli utenti vedono il firewall come un ostacolo alla loro attività lavorativa. “Quello che non è espressamente proibito è consentito” l’amministratore di sistema deve decidere preventivamente che tipo di azioni pericolose potrebbero intraprendere gli utenti di difficile attuazione in particolare se si lavora con reti ampie. 10 I firewall si classificano come: firewall software programmi facili da installare e da configurare, ma non in grado di bloccare gli attacchi medio-avanzati firewall hardware affidabili ma devono essere collocati a monte della rete informatica dell'azienda e configurati da un sistemista esperto 11 Firewall : Packet filter - stateful inspection - content inspection Proxy - circuit level gateway Dedicati ad unico protocollo Generici - application level gateway Personale 12 È importante ricordare che la semplicità in un criterio di protezione non è una cosa negativa: la domanda importante da porsi quando si sceglie un tipo di firewall riguarda le minacce che un’istallazione deve contrastare. 13 Sebbene il firewall sia uno strumento importante per la protezione di un ambiente connesso ad una rete, non è una soluzione completa a tutti i problemi. Il firewall “Puo’”: proteggere un ambiente solo se controlla l’intero perimetro provvedere ad un singolo punto di blocco suddividere bloccare la rete in “zone” il traffico dall'esterno all'interno 14 Il firewall “Non Puo’”: proteggere i dati esterni al perimetro essere utile contro attacchi dall’interno essere l’unico strumento che garantisce la sicurezza essere impenetrabili garantire difese in profondità proteggere da virus controllare tutti i livelli dello stack dei protocolli 15 semplicità controllo difesa in profondità flessibilità separazione di reti con requisiti diversi Principi fondamentali per la progettazione di un firewall ridondanza delle protezioni 16 DMZ -zone demilitarizzate- sono una tecnica che aumenta notevolmente la sicurezza effetuando una divisione della rete in zone diverse in base al tipo di traffico e alla funzione richiesta. Area in cui sia il traffico WAN che quello LAN sono fortemente limitati e controllati, che viene gestita con un’ulteriore interfaccia di rete del firewall, oppure viene creata aggiungendo un firewall. Rete che è protetta da Internet, ma dalla quale nello stesso tempo è protetta la rete locale. 17 Il personal firewall è uno strumento nato per proteggere singoli sistemi connessi a Internet. Non si tratta solo di firewall a livello IP, anche se molte delle funzionalità sono svolte a questo livello. Si colloca a metà strada fra un firewall e un sistema di Intrusion Detection. La sua funzionalità principale è: Internet Possibilità di riconoscere e selezionare le applicazioni che possono accedere alla rete come Firewall client o come server. Registrazione del traffico non autorizzato verso il sistema. 18 VANTAGGI: Può sapere quale applicazione ha generato un pacchetto o è in ascolto su una determinata porta, e può basare le sue decisioni anche su questo. Può essere installato rapidamente e indipendentemente dagli amministratori di rete SVANTAGGI: Il personal firewall è eseguito sullo stesso sistema operativo che dovrebbe proteggere. La configurazione è spesso lasciata a utenti finali poco esperti. 19 Opera direttamente sui pacchetti IP, facendo riferimento ad un firewall interposto fra una rete aziendale e Internet. E’ la forma più semplice di firewall, ed è in genere implementato all’interno di router. 20 VANTAGGI: Economico. Può essere realizzato sia con struttura hardware che software. E’ un meccanismo trasparente che non ostacola il normale utilizzo della rete. SVANTAGGI: Non distingue i pacchetti che sono parte di connessioni in corso. Non permette di gestire protocolli che utilizzino porte dinamiche. Non entra nel merito dei protocolli applicativi. La scrittura di regole è complessa. Sono difficile da configurare e da gestire. Peggiorano le prestazioni dei dispositivi in cui si trovano. 21 Il firewall mantiene traccia delle connessioni che sono state aperte, e quindi è possibile selezionare i pacchetti che ne fanno parte, autorizzandoli. Seleziona con maggiore precisione il traffico permesso, e semplifica la scrittura di regole, aumentandone la leggibilità e riducendo gli errori. Ha particolare difficoltà nel gestire politiche che entrino nel merito di protocolli applicativi. 22 Tecnica che tenta di unire la flessibilità dei packet filter con controlli applicativi più sofisticati, e che è utilizzata da molti dei prodotti più diffusi; si cerca di esaminare il protocollo applicativo pur mantenendo il meccanismo di far transitare i pacchetti originali. Quando i controlli sono sofisticati, questi strumenti si appoggiano ad applicazioni complesse, spesso esterne al prodotto (antivirus). La configurazione di questi strumenti è molto simile a quella per i packet filter più semplici, pur permettendo l’uso di regole più di alto livello. 23 NAT(Network Address Traslation) ovvero la traslazione di più indirizzi di rete IP privati in un unico indirizzo IP pubblico Si basa su: Mascheramento degli indirizzi IP Un pacchetto che non abbia una corrispondenza nelle tabelle di NAT del PAT (Port Address Translation) router/firewall non viene che è una particolare tecnica di NAT che instradato verso la rete privata permette di effettuare una “mappatura” Il NAT usa una tabella (stabilire una corrispondenza) tra più contenente la corrispondenza indirizzi IP di una rete privata, variando ad tra i socket interni ed esterni in ogni traslazione di indirizzo anche la porta. uso. 24 Un programma che si interpone tra un client ed un server, inoltrando le richieste e le risposte da un host all’altro. Nella maggior parte dei casi lavora a livello applicativo dove gestisce un numero limitato di protocolli applicativi. VANTAGGIO : La topologia della rete aziendale compresi gli indirizzi IP non sono riconoscibili da internet. 25 La caratteristica principale di questa tipologia è che i pacchetti non attraversano il firewall. I firewall basati su proxy non fanno neppure ROUNTING (instradamento) fra le diverse interfacce. 26 Gli attacchi ai livelli bassi dello stack TCP/IP non possono superare il firewall. Il problema del mantenimento dello stato è gestito implicitamente dallo stack del firewall. Si ha necessariamente una politica di default deny. La topologia delle reti connesse, e in particolare gli indirizzi IP sono nascosti dall’uso del proxy. I dati subiscono un trattamento più complesso sul firewall. Per gestire un protocollo applicativo complesso è necessario un componente specifico. 27 Gli ultimi due punti hanno notevolmente limitato la diffusione di questa tecnologia perché il rischio di prestazioni insufficienti hanno fatto preferire in molti casi tecnologie meno sicure ma più flessibili. 28 Firewall basati su Proxy CIRCUIT-LEVEL GATEWAYS: usano proxy generici, permettono il transito di traffico TCP/UDP generico senza entrare nel merito del protocollo (operano al livello trasporto) APPLICATION-LEVEL GATEWAYS: usano proxy specifici per i singoli protocolli applicativi, i controlli risultano più completi (operano a livello applicazione) Il meccanismo consiste nel creare un circuito virtuale tra il client interno alla rete ed il proxy server. Tutte le richieste verso internet sono indirizzate, attraverso questo circuito, al proxy che si occuperà di “girarle” ad Internet dopo aver cambiato IP Adress; lo stesso procedimento vale anche nel senso inverso. Un firewall di questo tipo non effettua nessun controllo o ispezione particolare sui pacchetti, ma si limita ad indirizzarli a/da 30 Internet. VANTAGGI: I controlli vengono fatti ad un livello di sistema operativo. Un unico programma è in grado di gestire più protocolli. Il meccanismo di sicurezza è ben nascosto all’utente. SVANTAGGI: Utilizzando la libreria socks possono nascere problemi di portabilità visto che cambia da sistema a sistema. Ogni browser della rete interna viene ricompilato con la libreria socks. Nel caso di reti di grandi dimensioni questa operazione può risultare molto complessa e costosa. (Alcuni browser sono però venduti già con il supporto socks, quindi non è necessaria la ricompilazione). 31 Sono sistemi che risiedono sul computer del gateway. Il proxy incorpora parte del linguaggio e del protocollo dell’applicazione. Il gateway di applicazione esegue controlli sull’accesso a livello più alto. Ogni servizio specifico necessita di un proprio gateway di applicazione. I gateways di applicazione possono proteggere i sistemi all’interno del Firewall filtrando selettivamente in base al tipo di richiesta. 32 VANTAGGI: Consente un filtraggio molto selettivo. La connessione è solo attraverso il software del proxy, che viene utilizzato per fornire un più elevato livello di sicurezza. Riduce il carico di lavoro per rendere sicuri i PC, in quanto la rete diventa praticamente invisibile all’esterno, ottenendo così ottimi livelli di protezione. Permette servizi di auditing (controllo delle connessioni), è in grado di eseguire analisi accurate del traffico in ingresso e in uscita. E’ facilmente configurabile e gestibile. SVANTAGGI: Ogni applicazione richiede uno specifico proxy. Il software del gateway di applicazione può essere molto complesso, può quindi accadere che contenga errori non rilevati che potrebbero mettere a repentaglio 33 il funzionamento del Firewall. Ci sono protocolli per cui il meccanismo dei proxy è particolarmente naturale, un esempio ne è in particolare il protocollo SMTP per la gestione della posta elettronica. Utilizzare firewall basati su proxy per questo genere di protocolli è generalmente facile. In tal caso, un proxy può servire per aggiungere: Antivirus centralizzato Modifica degli header dei messaggi in transito, cancellando o uniformando alcune parti; ad esempio verificando che gli indirizzi mittente corrispondono alle politiche aziendali. Eliminazione o quarantena degli allegati ritenuti pericolosi. Politiche di protezione dallo spam; ad esempio blocco di messaggi di posta provenienti da siti inclusi in blacklist di indirizzi noti per diffondere spam.34 Filtraggio Stateful Application Firewall Pacchetti Inspection Proxy Personale Il più semplice Più complesso Ancora più complesso Simile al firewall di filtraggio dei pacchetti Vede solo gli indirizzi e il tipo Può vedere gli indirizzi e i Vede l’intera porzione dati del Può vedere l’intera porzione di protocollo di servizio dati pacchetto dati del pacchetto Controllo difficile Controllo possibile Può controllare l’attività Può controllare l’attività Analisi basata sulle regole di Analisi basata sulle Analisi basata sul Analisi di solito basata sulle connessione informazioni tra pacchetti, nei comportamento dei proxy informazioni di un singolo campi dati o intestazione del pacchetto, usando i dati o messaggio l’intestazione Generalmente preconfigurato I proxy semplici possono Generalmente inizia da una Regole di indirizzamento complesse possono complicare per rilevare alcune firme degli sostituire le regole di modalità ”nega tutto il la configurazione traffico in ingresso”, a cui attacchi indirizzamento complesse l’utente aggiunge gli indirizzi trusted di volta in volta 35 Attacchi DoS: (Denial of Service) attacchi che non mirano alla distruzione o al furto di dati bensì determinano un’interruzione del servizio Ping of Death: è uno degli attacchi più noti e semplici: si tratta di inviare all’host preso di mirra un pacchetto ICMP con un carico di dati maggiore di 64Kb. SYN Flood: sfrutta una particolare procedura nell’avvio delle transazioni TCP la procedura di avvio della sessione viene eseguita più volte sempre per due terzi creando un collassamento dell’host remoto. IP Spoofing: attacco molto complesso chi attacca cerca di collegarsi ad un server o ad un host “rubando l’identità” di una macchina nota. 36 Antispoofing: tale operazione può essere ottenuta inserendo subito delle regole che bloccano il traffico proveniente da interfacce sbagliate. Access Rules Frammentazione e traffico anomalo: tipologie di pacchetti indesiderati che corrispondono spesso a note tecniche di attacco, è bene quindi bloccarli. Loopback: il traffico sull’interfaccia deve essere bloccato. In generale si blocca il traffico destinato all’interfaccia ma non quello generato sull’interfaccia stessa. 37 Multicast: usato principalmente da protocolli di routing e da applicazioni audio/video, è bene valutare caso per caso la stabilità ed il controllo che può ottenere. Access Rules ICMP: il traffico deve essere selezionato con cura tra uscente ed entrante, per decidere cosa bloccare e cosa no. Alcuni tipi se bloccati possono creare disagi. Broadcast: non hanno un valido motivo per attraversare un firewall, quindi devono essere bloccati in ingresso, è difficile riconoscerli in uscita. 38 Il test di qualità interna: si considera la conoscenza del codice per verificare come lo stato interno risponde a vari input. Le due tecniche più diffuse di verifica del software sono: il test della qualità esterna (black box) il test della qualità interna (white box) Il test di qualità esterna: si presuppone che non si conoscano i comportamenti interni del software e se ne verifica il comportamento in relazione alle specifiche e a molti input diversi. Ispezione delle regole: il numero di regole è il miglior indicatore della complessità di un firewall. In presenza di più firewall è bene eseguire i test da diverse posizioni esterne per assicurarsi che le regole siano coerenti. Test sui Firewalls Tiger Team: sottopongono un firewall a test di stress lanciando su di esso veri e propri attacchi intrusivi. È importante definire i risultati Isperione manuale: la lettura delle regole e la giustificcazione di ciascuna è un aspetto necessario dei test; tuttavia ci sono dei limiti quantitativi. Ispezione assistita dal computer: si verifica ogni regola e si tende a ricercare regole con carattere jolly e quelle parzialmente sovrapposte ad altre. 40 → Problemi Involontari: alcuni problemi sorgono senza alcun intento malevolo da parte di utenti o amministratori. I set di regole tendono a diventare pesanti; la complessità della politica implementata per il firewall è spesso maggiore di quella specificata per il sito. → Sovvertimenti Intenzionali: alcuni problemi sono dovuti a espliciti tentativi di sovvertimento, a loro volta ascrivibili a utenti che desiderano più funzionalità di quelle offerte, o malintenzionati che tentano di sovvertire il sito. I problemi sono anche causati da sistemi progettati per scavalcare i firewall. → Gestione dei frammenti IP: l’esistenza della frammentazione IP rende difficile la vita dei filtri di pacchetti. È possibile che bit ACK o SYN di un pacchetto TCP finiscano in un frammento diverso da quello in cui si trova il numero di porta. Eventuali errori nell’elaborazione della frammentazione possono, rappresentare un punto debole dei firewall. 41 → Il problema di FTP: il firewall deve aprire un canale dati FTP in entrambe le direzioni in base ai comandi ricevuti sul canale di controllo. FTP è talmente importante, da indurre alcuni progettisti di firewall a implementare il protocollo FTP nel kernel del firewall al livello dei pacchetti, questo li obbliga ad analizzare i comandi del canale di controllo al livello di pacchetti. → Firewalking: pacchetti dall’aspetto innocuo, ad esempio ICMP, possono in realtà essere usati per mappare gli host che si trovano dietro un firewall; ciò può avvenire aggiungendo al programma traceroute un’opzione che forzi l’uso dei pacchetti ICMP e UDP, a seconda del protocollo consentito. Questa tecnica può essere usata per verificare se gli host sono attivi e se eseguono particolari servizi. → Amministrazione: un problema amministrativo è la gestione di una rete molto vasta che non può essere svolta da un’unica persona. Un’altra problematica sorge dalla sovrapposizione dei domini di sicurezza; in una grande organizzazione, esistono potenzialmente molti percorsi tra i nodi interni e l’esterno. Non è sempre ovvio quale set di regole o quale errore di applicazione porti all’esposizione di una particolare area. 42 Un firewall non può rimpiazzare la coscienza, la consapevolezza e la prudenza dei suoi utenti 43 “Sicurezza in informatica”, C.Pfleeger, S.Pfleeger, 2004 “Firewall e sicureazza in rete”, W.Cheswick, S.bellovin, A. Rubin, 2003 “Sicurezza Informatica”, Gruppo di sviluppo M5, 2005 1