Telemat Lab's home page






FIREWALLS



di: A. Pugi ed E. Vinciarelli


home pageIndicePrec.Succ.








Introduzione



Con il termine FIREWALL si tende ad indentificare in modo generico tutta una serie di funzioni e di apparecchiature che servono a proteggere un determinato dominio o rete privata. Nelle pagine precedenti abbiamo già affrontato la politica della sicurezza attraverso l'uso di screening router e Packet filtering. A differenza di questi, nei FIREWALLS, vengono analizzati anche gli headers a livelli superiori; negli screening router infatti si analizzano informazioni relative a livello di rete e trasporto (terzo e quarto livello OSI) , pertanto l'utente non si accorge minimamente del controllo che tali dispositivi effettuano.
Invece, per quanto riguarda i FIREWALLS si ha la possibilità (con application gateway) di operare fino al livello applicativo, e ciò compotra un più alto livello di sicurezza, ma altresì, causa anche un dispendio di tempo per l'esecuzione del processo relativo all'analisi dei dati e del controllo.
Per questo (e non solo) il FIREWALL rappresenta il più importante strumento per implemetare una politica di sicurezza in una qualsiasi rete privata; Ne esistono varie versioni e si può implementare con diverse configurazioni, però la realizzazione finale dovrà tener conto di due esigenze spesso opposte quali costi e prestazioni. La soluzione più efficace (se propriamente implementata) risulta quella dedicata, che include hardware e software appositamente prodotto, con costi che aumentano sensibilmente; esiste poi un altro approccio che è quello di adattare alle esigenze specifiche del caso, pacchetti già esistenti. Noi, nelle pagine seguenti, ci siamo preoccupati di esporre i componenti un architettura FIREWALL, e di presentare una serie di possibili configurazioni di fronte ad esigenze e scopi differenti.

(FIGURA 12)

Prima di iniziare la carrellata delle possibili configurazioni è necessario fare una puntualizzazione: Proteggere una rete non vuol dire solamente schermarla da una rete esterna, ma anche impedire che utenti non autorizzati possano usufruire di dati particolari (sensitive data) e far si che utenti legittimi usino in modo "trasparente" tali insiemi di dati e tutte le altre risorse di rete.



Dual-Homed Host





Nelle reti TCP/IP il termine multi-homed host indica un host che ha più di una scheda di rete, e normalmente ogni scheda di rete è collegata ad un segmento di rete differente. Storicamente tale tipo di host instradava il traffico tra le varie reti effettuando la cosiddetta operazione di routing. E' necessaria una precisazione riguardo al significato di router e gateway: con il primo si indica un dispositivo che agisce fino al terzo livello di riferimento OSI (livello di rete) con la funzione di instradare i pacchetti di rete; la stessa funzione viene effettuata dal secondo che però opera fino al settimo livello di riferimento OSI (livello applicativo).

Nel dual-homed host (due distinte schede di rete) la funzione di instradamento (routing function) può essere attivata oppure disattivata. Nel caso in cui si disattivi tale funzione, il dual-homed host effettua un vero e proprio isolamento tra i due segmenti di rete pur consentendo, ad utenti posti su reti distinte, di usufruire di una stessa applicazione posta sul dual-homed host stesso; se tale applicazione lo consente, le reti possono anche condividere dati, tutto ciò, senza che vi sia un effettivo interscambio di pacchetti tra rete esterna e rete interna.


(FIGURA 13)


Risulta a questo punto ovvio come il dual-homed host possa essere usato per isolare una rete da un'altra a patto che venga disabilitata la funzione che inoltra i pacchetti tra le due reti (ip-orwarding function). Per non compromettere il livello di sicurezza instaurato dall'uso del dual-homed host non deve essere permesso a nessun utente di entrambe le reti di loggarsi direttamente dentro il dual-homed host; questo perché tale host è il punto di connessione centrale tra la rete interna e quella esterna. Così sul dual-homed host che effettua la funzione di FIREWALL vengono eseguiti degli applicativi che vengono definiti store-and-forward services come SMTP o NNTP che gestiscono lo smistamento di e-mail e news tra le due reti con l'ausilio di tavole di filtraggio opportunamente configurate.

NOTA: In molte applicazioni Unix la funzione di instradamento è abilitata di default per cui è necessario porre attenzione sul parametro IPFARWORDING che posto al valore -1 disabilita tale funzione.

Comunque il più grande pericolo per la sicurezza di rete sorge quando un utente ottiene l'accesso diretto al dual-homed host, pertanto tale acceso deve avvenire solamente a seguito di una complessa operazione di autentificazione che può comportare anche l'uso di schede magnetiche. D'altra parte è anche importante rimuovere dal dual-homed host tutti i programmi, utilities e servizi che potrebbero essere danneggiati da un intrusore ed inoltre è consigliato effettuare una serie di operazioni che tendono a migliorare il livello di sicurezza raggiunto, come per esempio effettuare una partizione dell'hard disk, lasciare disponibili solamente i servizi strettamente necessari ecc. ecc..

Questa puntualizzazione rappresenta il la messa in atto di una politica di sicurezza e di una educazione alla sicurezza che è importante quanto sistemi HW e SW appositamente dedicati.
Torniamo alla descrizione delle varie configurazioni possibili di FIREWALLS; un dual-homed host come appena è stato descritto con relativo collegamento rappresenta anche un bastion host (o host fortezza).



Bastion Host



Con il termine bastion host si identificano tutti quei Firewall host critici per la sicurezza della rete in questione; data la sua importanza nella sicurezza di rete, tale host deve essere ben fortificato e l'accesso diretto a tale host deve essere massimamente controllato. Il bastion host effettua la funzione di interfaccia tra la rete interna e quella esterna e per questo è spesso soggetto di attacchi dall'esterno ma del resto la sua più classica configurazione d'uso è quella di primo ed unico punto di contatto tra privato e pubblico dominio.


(FIGURA 15)


Data l'importanza del bastion host all'interno del sistema di sicurezza, spesso si pone una prima linea di difesa tra la rete esterna e quella interna dove il bastion host viene inserito; la prima linea di difesa può essere rappresentata da uno screening router opportunamente configurato secondo la politica di sicurezza scelta. Ovviamente tutti i pacchetti che ottengono il permesso di accesso alla rete interna devono essere diretti verso il bastion host. In questo modo un intrusore che voglia entrare nella rete privata (o interna) dovrà prima eludere le regole di filtraggio dello screening router e quindi i controlli effettuati dal bastion host.

Questo usa le funzioni del livello di applicazione per capire se il pacchetto può essere inoltrato oppure no, eseguendo quindi un ulteriore controllo sugli header dei pacchetti.

(FIGURA16)



Quindi, il ruolo delle tavole di filtraggio dello screening ruoter, risulta di fondamentale importanza ; infatti, se vengono variati i campi relativi agli indirizzo di destinazione dei pacchetti da inoltrare, non solo lo screening router non svolgono più il ruolo per è impiegato, ma se viene settato un indirizzo di destinazione interno diverso dal bastion host, si viene a perdere anche la funzione di controllo di quest'ultimo in quanto viene completamente bypassato. Le tabelle di filtraggio dovranno quindi essere memorizzate in un posto difficilmente accessibile a qualsiasi operatore esterno. Inoltre, generalmente i ruoters effettuano un aggiornamento delle loro tabelle (dinamic router) anche in base a dei pacchetti ICMP (Internet Control Message Protocol) spediti da e verso altri router; tale funzione dovrà essere disabilitata all'interno dello screening router (static router), altrimenti potrebbero essere oggetto di falsi pacchetti ICMP spediti da parte di un intruder mascherato da router, inoltre le tabelle di instradamento saranno gestite staticamente dall'amministratore di rete senza aggiornamento dinamico (ARP Protocoll).Ciò avviene impostando inizialmente le tabelle di instradamento (ARP table); in tale caso il router non si deve preoccupare di aggiornarle e quindi non comunica a nessuno il suo indirizzo fisico, senza il quale nessun host si può mascherare da router per spedirgli un pacchetto ICMP falso.



Bastion Host e DMZ (Demilitarized Zone)







Un'altra configurazione realizzabile è quella che si ottiene ponendo dopo lo screening router un dual-homed host con entrambe le interfacce di rete configurate e collegate a due segmenti distinti di rete. Si viene cosi a creare una rete intermedia definita appunto zona demilitarizzata (DMZ) che, non contenedo alcun host al suo interno, può essere anche costituita fisicamente da una linea dedicata point-to-point adottando magari anche un protocollo a se stante che aumenterebbe le difficoltà di penetrazione da parte di un intrusore esterno. Un host può essere collegato, tuttavia, alla DMZ in modo promiscuo, cioè tale da permettergli di vedere tutti i pacchetti che fluiscono attraverso tale rete e non soltanto quelli indirizzati a se stesso svolgendo una funzione di controllo e monitoraggio delle connessioni esistenti.
Ma il più grande vantaggio di questa configurazione è che, anche se le tavole di filtraggio dello screening router vengono variate a piacimento di un intrusore, il bastion host non viene bypassato trovandosi in serie al router ed a monte della rete da proteggere.

Ponendo due bastion host in serie con entrambe le interfacce di rete configurate e collegate a segmenti di rete distinti si ottengono due DMZs. La seconda può essere utilizzata come una rete ultraprivata, la quale risulta schermata sia da intrusori esterni che da operatori interni.

Un compromesso tra sicurezza e comunicabilità può essere fatto ponendo sulla prima DMZ un host contenente pubbliche informazioni ma che risulta così esposto più facilmente ad attacchi esterni.

Risulta ovvio, a questo punto, come le configurazioni possibili ed adatte al particolare caso siano praticamente infinite, per cui è inutile dilungarsi oltre in combinazioni di bastion host e screening router; passiamo quindi ad un altro componente Firewall.



Screened Subnet



In alcune configurazioni di FIREWALL una vera e propria rete isolata viene creata tra quella esterna e quella interna. Gli host appartenenti ad entrambe le reti possono accedervi ma non è ammesso alcun flusso diretto di dati tra la rete interna e quella esterna.

(FIGURA18)

La rete isolata prende nome di Screened Subnet o sottorete schermante e spesso contiene al suo interno almeno due application-level gateway (trattati successivamente) che svolgono la funzione di bastion host pur conservando l'accesso interattivo ai servizi resi condivisibili ad entrambe le reti. Dato che l'unico punto di accesso alla sottorete avviene tramite l'application-level gateway risulta molto difficoltoso da parte di un intrusore bypassare l'intera sottorete, in quanto dovrebbe riconfigurare la stessa sottorete ed anche quella interna; tutto ciò eludendo la sorveglianza dei bastion host.



Application-level Gateways



Gli Aplication-level Gateway sono dispositivi programmati per analizzare il traffico di rete al livello applicativo. Essi conferiscono un ulteriore strumento per la sicurezza di rete. Ogni applicazione protetta dall'application-level-gateway viene identificata da questo attraverso un codice univoco; per questo si garantisce un alto livello di sicurezza ma per ogni applicazione affidatagli è necessario un codice differente.
Se questo dispositivo viene implementato per uno specifico servizio un host (in un applicazione Client-Server) che si vuol connettere a tale servizio si trova a colloquiare con l'application-level gateway che effettua un operazione di server nei confronti delle richieste del client e contemporaneamente opera come un client inoltrando le richieste (se la connessione è concessa) al server vero e proprio. Ciò comporta i fatto che il client si trova a colloquiare con un server diverso da quello "autentico" e quindi nasce l'esigenza di realizzare, all'interno dell'application-level gateway degli applicativi il più simili possibile all "autentico"; Tali applicativi prendono il nome di "application proxy".


(FIGURA 19)


La configurazione dell'applicativo che funziona da client all'interno dell'application-level gateway (application proxy) può risultare problematica, pertanto spesso si sceglie di implementare questo livello di sicurezza solamente a determinati servizi come DNS; SMTP, NFS mentre i più usati TELNET, FTP, risultano sufficentemente protetti da appropriate regole di filtraggio di uno screening router.

Per concludere questa carrellata sulle varie configurazioni è utile soffermarsi ancora una volta su di una considerazione: l application-level gateway come il bastion host ed il dual-homed host rimane esposto ad attacchi esterni se non propriamente protetto da uno screening router prima della connessione con la rete esterna.




Ultimo aggiornamento: 5 Settembre 1996


Telemat Lab's home page

home pageIndicePrec.Succ.