Firewall e Security su Internet Appunti per la cl. 5 sez. H A cura del prof. ing. Mario Catalano
I servizi Internet sono molti e molto utili, ma … sono potenzialmente pericolosi! Internet è una comunità in continua crescita Si è passati da una popolazione prettamente scientifica e di ricerca ad una “mista” Una popolazione statisticamente rappresentativa dell’intera umanità C’è sempre chi sfrutta l’altrui fatica a proprio esclusivo vantaggio, indipendentemente dalle conseguenze!!
Cosa proteggere? DATI le cui caratteristiche sono: segretezza integrità disponibilità RISORSE come ad esempio: spazio su disco tempo di CPU ampiezza di banda della rete servizi altrimenti a pagamento
Come funziona un firewall Costringe ad entrare attraverso un punto ben controllato Impedisce agli attaccanti di avvicinarsi troppo alle altre difese Costringe ad uscire attraverso un punto ben controllato Nella terminologia militare : un Check-Point! Firewall Rete interna
Cosa può fare un Firewall? E’ un punto focale per le decisioni inerenti la sicurezza Può potenziare le politiche di sicurezza Può tener traccia (log) delle attività da e verso Internet in modo efficiente Limita l’esposizione all’esterno della rete
… e cosa NON può fare Non può proteggere da malfunzionamenti interni Non può proteggere da quello che non ci passa attraverso Non può proteggere da minacce completamente nuove Non può proteggere da virus e simili
CHE COSA E' UN FIREWALL un firewall è un insieme di componenti che si collocano tra 2 reti e che possiedono le seguenti proprietà: Tutto il traffico di dati entrante ed uscente dalla rete interna e viceversa deve passare attraverso il firewall. Solo il traffico autorizzato puo' passare impunemente attraverso il firewall Il firewall e' immune (o almeno si spera) alle penetrazioni illegali
Quali strategie per la Internet Security? Privilegi minimi (least privilege) Difesa in profondità (defense in depth) Punto di strozzatura (choke point) L’anello più debole (weakest link)
Privilegi minimi – least privilege Ogni oggetto (utente, amministratore, programma, sistema, ecc…) dovrebbe avere solo i privilegi necessari e sufficienti al suo compito… ma non di più! Molti dei problemi relativi alla sicurezza derivano dalla non applicazione di questa regola Non è, comunque, sempre di facile applicazione, specialmente per quanto riguarda gli utenti
Difesa in profondità – defense in depth Non dipendere da un solo meccanismo di sicurezza, per quanto forte possa sembrare Introdurre la “Ridondanza” della Security
Punto di strozzatura – choke point Un choke point forza gli attaccanti ad utilizzare un “canale” di accesso stretto e facilmente controllabile. Ma ciò non è sempre facile da realizzare…
L’anello più debole – weakest link Ricordarsi sempre che “la catena è forte quanto il suo anello più debole” In altre parole: non sottovalutare nessun componente della “catena di sicurezza”
Alcune definizioni (1): Firewall: un componente o un insieme di componenti che restringono l’accesso tra Internet e una rete protetta o tra altri insiemi di reti Bastion-Host: un computer che deve essere altamente protetto poichè è esposto alla rete esterna ed è il punto principale di contatto per gli utenti della rete interna
Alcune definizioni (2) Dual-Homed host: un computer che possiede almeno due interfacce di rete Packet Filtering: l’azione che compie un dispositivo per controllare selettivamente il flusso di dati da e per la rete. Viene anche conosciuto come “screening” e di solito avviene su un router, un bridge o un host
Alcune definizioni (3) Proxy Server: un programma che contatta server esterni in rappresentanza di client interni. I proxy client dialogano con il proxy server i quali rigirano le richieste ai server reali e rigirano le loro risposte ai client
Gli attacchi all’anello debole Quando ho decine o centinaia di server, il sistema risulta difficilmente gestibile. Se uno di tali server risultasse non perfettamente configurato e protetto, esso potrebbe rappresentare l'anello debole della catena e, se dovesse cadere, potrebbero essere attaccati anche tutti gli altri server del sistema. Per difendersi dagli attacchi, ci sono alcune operazioni che possiamo fare, come togliere i servizi non indispensabili, testare le password affinché siano robuste, cambiarle frequentemente, ma questo non basta.
I tipi di attacchi Bisogna, per prima cosa, analizzare le forme di attacco che ci possono essere: ve ne sono almeno due. Quando dall'esterno riesco ad impadronirmi di una macchina posso utilizzarla per generare dei pacchetti che saturano la banda della rete locale. In questo modo ottengo un attacco di tipo "deny of service", perché tutti gli altri utenti al di fuori della rete, non riescono a raggiungere le altre macchine, perché la banda è saturata. C’è poi la possibilità di fare sniffing, mettendo la scheda di rete in modalità di ascolto e facendo partire dei programmi che memorizzano tutti i dati che passano in rete.
Difendere tutta la rete Bisogna gestire in maniera sicura, quindi, l'intera LAN con un'unica entità. Bisogna, dunque, individuare un confine e fare una "perimeter security", effettuare, cioè, un controllo degli accessi al confine della rete. Le entità, hardware e software, che sono preposte per fare la perimeter security, si chiamano sistemi firewall . I sistemi firewall non sono tutti uguali, ci sono alcune architetture standard.
I sistemi Firewall Una volta individuata la necessità di mettere in rete un servizio web, FTP o di posta elettronica, devo stabilire come proteggerlo. Se fosse disponibile in maniera aperta, ovvero modificabile da chiunque, lo troverei ben presto con l'home page modificata, con i dati alterati, ecc. Allora è necessario attivare il meccanismo di protezione lungo il perimetro. Il sistema firewall pretende di restringere gli accessi attraverso un'opportuna policy, che deve essere definita: bisogna avere ben chiaro che cosa il firewall può filtrare o può lasciar passare.
Tipologie di Firewall Si può fare un filtraggio a livello rete, allora ho un IP-firewall. In questo caso si decide se far passare o scartare il pacchetto sulla base del singolo pacchetto, tutte le informazioni che sono nel pacchetto verranno utilizzate per farlo passare o no. Se utilizziamo il livello TCP, abbiamo un transport level firewall. Infine, se obbediamo a livello di singola applicazione, abbiamo un application level firewall.
IP firewall Nel caso del IP FIREWALL se la policy e è quella di lasciare entrare tutti gli utenti che dichiarino di voler raggiungere l'IP-address 1 e di non lasciare entrare quelli che dichiarino di voler raggiungere l'IP-address 2, allora l’IP-firewall opera consentendo il traffico da qualunque sorgente e qualunque destination IP-address 1, qualunque porta, sia sorgente che destinazione si vada a specificare.
IP firewall Se ho una sequenza diversa, l'azione è "deny". “Locking“: si attiva una procedura di registrazione o d’allarme. Questo serve quando al firewall è collegato un sistema di detection, cioè di rilevazione di azioni non lecite. Dopo aver scartato i pacchetti non conformi alla policy, si registra l'evento. Posso registrare l'evento a fine statistico (reporting), oppure per intervenire innalzando una barriera aggiuntiva che va a bloccare i sistemi sotto attacco.
Transport firewall In questo caso dobbiamo tenere conto dei flag. Questi sono presenti all'interno dell'intestazione TCP e sono i numeri di sequenza, i quali distinguono il flusso informativo che viene ad essere scambiato. Il firewall può tenere memoria di una serie di frammenti IP che possono arrivargli in successione.
Proxy Firewall Il caso dell'APPLICATION LEVEL FIREWALL è chiamato anche genericamente proxy firewall. Se ho una macchina che fa da proxy, spesso si dice che fa anche da firewall. Il numero di parametri che entrano in gioco questa volta è ancora superiore, perchè ho anche quelli del livello applicativo. Ad esempio nel caso di FTP, potrebbe essere che le azioni di get e put siano abilitate e le altre non lo siano.
Proxy Firewall In questo caso non solo devo ricostruire il flusso dei pacchetti così come il TCP lo ha generato, ma bisogna comprendere interi messaggi FTP per capire che tipo di azione si richiede. Quindi ho un rallentamento maggiore, ma la policy è migliore che non in un firewall di tipo network.
Funzionalità dei firewall capacità di filtraggio sulla base dei pacchetti, possibilità di agire come proxy possibilità di riordinare i pacchetti in modo che lo screening delle informazioni, se abilitato, segua lo stesso ordine con cui è stato immesso nella rete dalla stazione sorgente, cioè la possibilità di riorganizzare il flusso. Queste funzionalità non è detto che risiedano tutte sulla stessa macchina, possiamo avere anche delle strutture composite, organizzate con più componenti elementari.
Configurazioni dei firewall Esistono tre configurazioni principali: Dual Homed Host Firewall, Screened Host Firewall, Screened Subnet Firewall.
Dual Homed Host Firewall L'architettura DUAL HOMED HOST FIREWALL è quella più semplice. Questa è realizzata da un pc che ha due interfacce, che non necessariamente sono dello stesso tipo, ma ad esempio, da un lato ci potrebbe essere una interfaccia con una rete locale (LAN) e dall'altro lato una connessione con una linea dial-up. Questo potrebbe essere il caso di tanti software gratuiti per Windows.
Dual Homed Host Firewall Spesso la macchina che viene utilizzata come Dual Homed Host Firewall, non è specializzata per fare da firewall. Questa è una grave lacuna. Le componenti firewall devono essere specializzate a fare da firewall, perché i numerosissimi bug presenti nel S. O., se non tolti, non possono far sì che le macchine siano espugnabili. La macchina che fa da firewall è la macchina che è predisposta alla protezione della rete locale. Se questa macchina cade, perché un bug del S.O. viene utilizzato per farla cadere, è inutile avere un software che esegue una politica di filtraggio, perché il software può essere modificato e la macchina essere riprogrammata. In questo modo noi continuiamo a pensare di avere in essere un firewall che funziona, in realtà abbiamo un sistema vinto.
Router e firewall Esistono numerosi costruttori di router che tendono ad implementare dei sistemi operativi con funzionalità di firewall, a bordo delle macchine dedicate alle funzioni di routing. Il motivo è che queste macchine sono naturalmente Dual Homed e sono molto spesso poste lungo il perimetro, che è il punto in cui deve essere applicata la nostra procedura di policy aziendale sulla sicurezza, il nostro packed filtering e tutte le altre funzioni.
Screened Host Firewall Se si vuole avere qualcosa di più, un sistema che differenzi le varie macchine, alcune le renda raggiungibili, mentre altre non le renda visibili dall'esterno, soprattutto è il caso in cui si voglia mettere in piedi un server raggiungibile da un'utenza esterna, allora è il caso di implementare la soluzione architetturale indicata come SCREENED HOST FIREWALL.
Screened Host Firewall La differenza rispetto alla soluzione vista prima, è che questa volta nella rete locale esistono alcune macchine che sono visibili dall'esterno ed alcune macchine che non lo sono. Esiste cioè un insieme di macchine "screened" ed un insieme di macchine che sono raggiungibili, quindi che possono ospitare i servizi web pubblici.
Screened Host Firewall Non è possibile dalla macchina esterna raggiungere quella in basso nel lucido. Invece è possibile raggiungere la macchina che è, magari, il web server, mentre tutte le macchine possono andare a raggiungere in maniera esplicita la macchina web. Questa possibilità di effettuare comunicazioni intrarete locale, senza passare dal sistema firewall, fa sì che questa soluzione non sia consigliabile per una rete veramente molto popolata, perché qualora si riesca ad attaccare questa macchina, ci si troverà a tutti gli effetti, sulla LAN e utilizzare la macchina accessibile direttamente da Internet, per portare un attacco sulle macchine interne. Quindi è un attacco che deve essere fatto a due passi, ma una volta che il Dual Homed Host, oppure l'host non screened, cade, siamo con una porta direttamente sulla rete locale che invece dovrebbe essere protetta.
Screened Subnet Firewall La soluzione più evoluta e più costosa è una struttura a più livelli, è quella che prende il nome di SCREENED SUBNET FIREWALL. In questo caso ad essere protetto non è un insieme di host di un gruppo, ma è un'intera subnet della nostra rete. In questo caso la nostra rete si suddivide in una rete locale, che viene dichiarata come rete locale privata e protetta, e in una rete che è chiamata DMZ (Demilitarized Zone).
Screened Subnet Firewall La DMZ è quella parte di rete che sta fra un primo gateway, l'exterior router, ed un secondo gateway, l'interior router. In questa rete vado a mettere le macchine che sono direttamente raggiungibili e che possono ospitare dei servizi visibili dall'esterno. Queste macchine sono quelle che possono essere oggetto di attacchi e vengono prese robuste il più possibile, concentrando lo sforzo della protezione dei singoli sistemi su di loro.
Screened Subnet Firewall Come nei vecchi castelli la parte delle mura più prominente sull'esterno, quella che veniva ad essere oggetto dei primi attacchi, veniva chiamata bastione, così queste macchine si chiamano Bastion Host. Queste sono idonee ad ospitare servizi pubblici e ad ospitare dei proxy-server, per permettere a tutti gli utenti interni di uscire dalla rete locale ed acquisire informazioni via Internet.
Bastion Host Devono avere S. O. che non siano configurati “normalmente”, perché così si abilitano una serie di servizi, di patch che non sono strettamente indispensabili. Le configurazioni di default dei S.O., da Linux ad Windows NT, tendono ad essere troppo permissive per una macchina che deve assumere il ruolo di Bastion Host. Quindi è necessario disabilitare tutte le cose che rappresentano una vulnerabilità. Si rimuovono tutti i file che non devono mai, neanche per sbaglio, essere lanciati da un user sulla macchina locale. Esistono degli speciali tools, che si chiamano system scanner, che individuano tutte le vulnerabilità e ci dicono tutte le operazioni da fare per eliminarle. Il system scanner deve essere fatto girare nella macchina che deve essere validata. Ci sono dei sistemi che si chiamano internet scanner, che invece si lanciano da una macchina esterna e vanno a vedere le vulnerabilità di tutti i servizi raggiungibili via Internet.
Bastion Host Sono due i princìpi generali nella costruzione di un bastion host: RENDERLO SEMPLICE: più è semplice, più è facile renderlo sicuro BISOGNA ESSERE, COMUNQUE, PREPARATI AD UNA SUA COMPROMISSIONE: difatti, nonostante gli sforzi fatti per renderlo sicuro, può sempre accadere il peggio ed è anche logico, visto che è in “prima linea”
Proxy Il termine “proxy” può essere tradotto come “procura”, “tramite” Difatti, un proxy è un sistema che dal punto di vista dell’utente, si sostituisce al server reale dal punto di vista del server reale, si sostituisce all’utente
Proxy Una richiesta fatta da un client viene valutata dal proxy e, se rispetta certe regole, viene rigirata al server reale, altrimenti viene scartata. La risposta del server reale viene inviata al proxy server che la rigira al client. Is req1 OK? YES NO client Proxy Real Server Ans1 client Proxy Real Server
Proxy Non c’è alcun vantaggio a collegarsi ad Internet se, per sicurezza, gli utenti non vi possono accedere D’altra parte, non c’è sicurezza se l’accesso è indiscriminato per ogni host della rete Quale compromesso? Un solo host collegato ad Internet, completamente separato dalla rete interna, risulta poco utilizzabile e di difficile gestione Un solo host collegato ad Internet ma che faccia da tramite tra gli host interni ed il mondo esterno in modo (quasi) trasparente può essere la risposta
Vantaggi e svantaggi dei Proxy I servizi proxy permettono agli utenti di accedere ai servizi Internet “direttamente” I servizi proxy sono, solitamente, specifici al servizio Internet relativo Permettono un ottimo servizio di logging Ritardo tra l’introduzione di nuovi servizi Internet e la disponibilità del servizio proxy relativo I servizi proxy possono richiedere diversi server per ogni servizio Alcuni servizi Internet non sono gestibili da proxy I servizi proxy non proteggono dalle debolezze dei protocolli
Io mi fermo qui, ma… Il resto spetta a voi!