3 - Architetture di firewalling

 

 

Un firewall può essere realizzato fisicamente in diversi modi a seconda dell'architettura utilizzata. Analizziamo alcune architetture di firewalling :

- Dual homed host

- Screened host

- Screened Subnet

- Application-Level Gateway

- Bastion Host

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

Fig 3.1 Dual homed host

            Figura 3.1 - Dual homed host

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-forwarding 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 col 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.

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 autenticazione 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 intruso ed inoltre è consigliato effettuare una serie di operazioni che tendono a migliorare il livello di sicurezza raggiunto, come ad esempio effettuare una partizione dell'hard disk, lasciare disponibili solamente i servizi strettamente necessari ecc...

 
3.2 - Screened Host

L’architettura screened host viene realizzata mediante più componenti fisici. L’elemento principale dal punto di vista della protezione della rete privata è uno screening router, i servizi vengono forniti da un calcolatore (il bastion host) appartenente alla rete interna che svolge funzioni di application gateway. In questa architettura il bastion host ha una sola interfaccia di rete e la separazione della rete interna viene realizzata dal router, che filtra i pacchetti in maniera tale che solo il bastion host possa aprire connessioni con la rete esterna. Viceversa, tutti i sistemi esterni che desiderino collegarsi con la rete privata possono connettersi solo con il bastion host .

Fig 3.2 Screened Host

             Figura 3.2 - Screened Host

 

Questa architettura è molto più elastica della precedente e sono possibili due approcci:

- impedire tutti i tipi di connessione da e verso host interni, eccetto il bastion host, e quindi forzare l’utilizzo dei proxy server sul bastion host (mediante un opportuno filtraggio da parte del router)   

- permettere ad altri host interni di aprire connessioni con Internet per alcuni specifici servizi

Questi due approcci possono essere combinati in modo da realizzare una politica di sicurezza della rete che si avvicini quanto più possibile a quella desiderata.

 

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


                  Figura 3.3 - Screened Subnet

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 intruso bypassare l'intera sottorete, in quanto dovrebbe riconfigurare la stessa sottorete ed anche quella interna; tutto ciò eludendo la sorveglianza dei bastion host.

 

3.4 - Application-level Gateway

Gli Application-level Gateway sono dispositivi programmati per analizzare il traffico di rete a 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 il 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 quanto più simili possibile all "autentico". Tali applicativi prendono il nome di "application proxy".


Fig 3.4 Application Level Gateway

Figura 3.4 -  Application Level Gateway

 

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 in determinati servizi come DNS, SMTP, NFS mentre i più usati TELNET, FTP, risultano sufficientemente protetti da appropriate regole di filtraggio di uno screening router.

 

3.5 - Bastion host

Parlando dei firewall, si incontrerà spesso il termine bastion host. Questo nome deriva dal termine "bastione" che nel medioevo indicava un particolare punto delle fortificazioni di un castello che aveva lo scopo di respingere gli attacchi nemici. Un bastion host è un computer della rete particolarmente preparato a respingere attacchi contro la rete stessa. I progettisti di reti posizionano il bastion host nella prima linea di difesa. Un bastion host costituisce un punto nevralgico per tutte le comunicazioni fra la rete e Internet. In altre parole, nessun computer della rete può accedere a Internet senza passare attraverso il bastion host e nessun computer di Internet può accedere alla rete senza passare attraverso il bastion host. Se si concentra ogni accesso alla rete in un unico computer, può essere molto facile gestire la sicurezza della rete. Inoltre, facendo in modo che una sola macchina possa accedere a Internet, è facile configurare il software in modo appropriato per proteggere la rete.

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.

 Fig 3.5 Bastion Host

            Figura 3.5 - Bastion Host

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 intruso 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.
Si utilizzano 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.

Fig 3.6 Bastion host con screening router

    Figura 3.6 - Bastion host con screening router

 

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 svolge più il ruolo per cui è impiegato, ma se viene settato un indirizzo di destinazione interno diverso dal bastion host, si perde anche la funzione di controllo di quest'ultimo in quanto viene completamente scavalcato. Le tabelle di filtraggio dovranno quindi essere memorizzate in un posto difficilmente accessibile a qualsiasi operatore esterno. Inoltre, generalmente i routers effettuano un aggiornamento delle loro tabelle (dynamic routing) anche in base a dei pacchetti ICMP spediti da e verso altri router; tale funzione dovrà essere disabilitata all'interno dello screening router (static routing), altrimenti potrebbero essere oggetto di falsi pacchetti ICMP spediti da parte di un intruso "mascherato" da router; inoltre le tabelle di instradamento saranno gestite staticamente dall'amministratore di rete senza aggiornamento dinamico (protocollo ARP). 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 fasullo.

Le caratteristiche salienti di un bastion host possono essere riassunte come segue:

 

3.5.1 - Bastion host con DMZ

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 sé stante che aumenterebbe le difficoltà di penetrazione da parte di un intruso 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 da un intruso, 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 ultra-privata, la quale risulta schermata sia da intrusi 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 ad un particolare caso siano praticamente infinite, per cui è inutile dilungarsi oltre in combinazioni di bastion host e screening router.
 

3.6 - Conclusioni

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