Capitolo 7. Firewall

La sicurezza delle informazioni viene spesso intesa come un processo e non come un prodotto. Tuttavia, le implementazioni standard sulla sicurezza generalmente impiegano delle forme di meccanismo per controllare i privilegi di accesso, e limitare le risorse della rete ai soli utenti autorizzati, identificabili e facilmente controllabili. Red Hat Enterprise Linux include un certo numero di tool molto potenti per assistere gli amministratori e gli ingegneri responsabili alla sicurezza, ad affrontare le problematiche inerenti il controllo dell'accesso al network-level.

Oltre alle soluzioni VPN come ad esempio CIPE o IPsec (affrontate nelCapitolo 6), i firewall rappresentano uno dei componenti principali delle implementazioni sulla sicurezza della rete. Molti rivenditori vendono soluzioni firewall idonei per ogni livello: dagli utenti privati per la protezione di un PC, alle soluzioni del centro dati che proteggono le informazioni vitali di un'azienda. I firewall possono rappresentare da soli delle soluzioni hardware sufficienti, ad esempio come quelle fornite da Cisco, Nokia e Sonicwall. Sono anche presenti delle soluzioni firewall di grandi compagnie sviluppate dai rivenditori per un mercato sia privato che aziendale, come ad esempio Checkpoint, McAfee, e Symantec.

Oltre alle differenze tra i firewall del software e quelli hardware, ci sono anche differenze nel loro modo di operare che distinguono una soluzione dall'altra. Tabella 7-1 elenca tre tipi comuni di firewall e il modo che essi operano:

MetodoDescrizioneVantaggiSvantaggi
NATNetwork Address Translation (NAT) posiziona le sottoreti IP della rete interna dietro ad uno oppure dietro ad un gruppo ristretto di indirizzi IP esterni, eseguendo un masquerading di tutte le richieste ad una sorgente invece di molteplici sorgenti

· Non può essere configurato in modo trasparente sulle macchine presenti su di una LAN
· Protezione di molte macchine e servizi dietro uno o più indirizzi IP, semplificando i compiti di amministrazione
· Restrizione dell'accesso degli utenti da e per la LAN, può essere configurata aprendo e chiudendo le porte sul firewall NAT/gateway

· Non può prevenire attività maliziose una volta che gli utenti si collegano ad un servizio esterno al firewall

filtro del pacchettoIl pacchetto che filtra i firewall legge ogni pacchetto dei dati che passa all'interno o all'esterno di una LAN. Può leggere e processare i pacchetti tramite le informazioni di testo, filtrando i pacchetti in base ad una serie di regole programmabili implementate dall'amministratore del firewall. Il kernel di Linux ha un pacchetto interno di filtraggio attraverso la sottorete del kernel di netfilter.

· Personalizzabile attraverso iptables front-end utility
· Non richiede alcuna personalizzazione da parte del client, in quanto tutta l'attività della rete viene filtrata al livello del router, invece che al livello dell'applicazione
· A causa della non trasmissione dei pacchetti attraverso un proxy, le prestazioni della rete sono più veloci a causa del collegamento diretto dal client all'host remoto

· Non può filtrare i pacchetti con contenuto simile ai firewall del proxy
· Processa i pacchetti al livello del protocollo, ma non può filtrare i pacchetti al livello di un'applicazione
· Le architetture complesse presenti nella rete possono rendere difficile il filtraggio del pacchetto, soprattutto se in coppia con IP masquerading, o con sottoreti locali e reti DMZ

ProxyI firewall del proxy filtrano tutte le richieste di un certo protocollo o tipo, provenienti dai client LAN per una macchina proxy, la quale effettua queste richieste a Internet da parte del client locale. Una macchina proxy si comporta come un buffer tra utenti remoti maliziosi e le macchine del client della rete interna.

· Conferisce agli amministratori il controllo sulle applicazioni e sui protocolli funzionanti all'esterno della LAN
· Alcuni server proxy possono conservare i dati in modo tale che i client possono avere un accesso frequente ai dati richiesti, direttamente dalla cache locale invece di dover usare il collegamento Internet per poterli richiedere, tutto questo è facilita la diminuzione dell'uso dell'ampiezza della banda
· I servizi proxy possono essere registrati e controllati da vicino, permettendo un controllo più rigido sull'utilizzo delle risorse presenti sulla rete

· I proxy sono sempre specifici alle applicazioni (HTTP, telnet, ecc.) oppure ai protocolli ristretti (molti proxy funzionano solo con i servizi collegati al TCP)
· I servizi delle applicazioni non possono essere eseguiti dietro un proxy, per questo motivo i vostri server delle applicazioni devono usare una forma separata di sicurezza della rete
I proxy possono rappresentare un punto di ingorgo della rete, in quanto tutte le richieste e le trasmissioni, devono passare attraverso una sorgente invece di dirigere il client ai collegamenti dei servizi remoti

Tabella 7-1. Tipi di firewall

7.1. Netfilter e IPTables

I contenuti del kernel di Linux presenta un sottosistema di networking molto potente chiamato netfilter. Il sottosistema netfilter fornisce un pacchetto di filtraggio di tipo 'stateful' o di tipo 'stateless', insieme ai servizi IP masquerading e NAT. Netfilter possiede anche l'abilità di manipolare le informazioni di testo per un direzionamento avanzato e per la gestione dello stato del collegamento. Netfilter viene controllato attraverso la utility IPTables.

7.1.1. Panoramica di IPTables

La forza e la flessibilità di netfilter viene implementata attraverso l'interfaccia IPTables. Questo strumento della linea di comando è simile nella sintassi ai suoi predecessori, IPChains; tuttavia, IPTables usa il sottosistema netfilter per migliorare il collegamento, il controllo e la processazione della rete; mentre IPChains usava una serie di regole complicate per il filtraggio della sorgente e dei percorsi di destinazione, insieme al collegamento delle porte per entrambi. IPTables presenta un logging avanzato, delle azioni pre-e post routing, un network address translation, e l'inoltro della porta, tutto su di una interfaccia della linea di comando.

Questa sezione fornisce una panoramica di IPTables. Per maggiori informazioni su IPTables, consultare Red Hat Enterprise Linux Reference Guide.