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 un meccanismo che controlla i privilegi di accesso, e limita 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, di affrontare le problematiche inerenti il controllo dell'accesso al network-level.

Oltre alle soluzioni VPN come ad esempio IPsec (affrontate nel Capitolo 6), i firewall rappresentano uno dei componenti principali delle implementazioni sulla sicurezza della rete. Molti rivenditori vendono soluzioni firewall idonee 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 proprietarie,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, sono presentianche alcune differenze nel loro modo di operare che distinguono una soluzione dall'altra. La Tabella 7-1 elenca tre tipi comuni di firewall ed il modo con il quale essi operano:

MetodoDescrizioneVantaggiSvantaggi
NATNetwork Address Translation (NAT) posiziona le sottoreti IP dietro ad uno o più indirizzi IP esterni, eseguendo un masquerading di tutte le richieste ad una sorgente invece di molteplici sorgenti.

· Può essere configurato in modo trasparente sulle macchine presenti su di una LAN
· La protezione di diverse macchine e servizi dietro uno o più indirizzi IP, semplifica i compiti di amministrazione
· La 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 pacchettoUn firewall in grado di filtrare i pacchetti è in grado di leggere ogni dato 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 presenta una funzionalità interna di filtraggio attraverso la sottorete del kernel di Netfilter.

· Personalizzabile attraverso la utility front-end iptables
· 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
· Poichè i pacchetti non vengono trasmessiattraverso 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 in modo locale, i dati usati più frequentemente invece di dover usare il collegamento Internet per poterli richiedere, tutto questo facilita una riduzione dell'uso non necessario 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 spesso delle specifiche applicazioni (HTTP, telnet, ecc.) oppure 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 per le 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

Il 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 IP per un direzionamento avanzato, e per la gestione dello stato del collegamento. Netfilter viene controllato attraverso la utility iptables.

7.1.1. Panoramica su 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 su iptables. Per maggiori informazioni su iptables, consultate Red Hat Enterprise Linux Reference Guide.