Firewall
Indietro
Avanti

Implementazione.

Vediamo ora come vengono implementati i firewall, tracciandone uno schema generale di funzionamento all'interno del sistema operativo ed in particolare dello stack TCP/IP. L'engine di firewalling risiede nel kernel e si interpone tra il NIC (Network Interface Card) e lo stack TCP/IP di gestione delle comunicazioni di rete.
Vi sono poi delle applicazioni user-level di interfaccia per la configurazione delle regole che vengono applicate dall'engine (pensiamo ad esempio al programma "ipchains" o alle GUI dei prodotti commerciali). L'inspection engine può essere implementata come modulo separato o staticamente compilata all'interno del kernel. Lo schema di funzionamento varia ovviamente tra le differenti implementazioni, ma in generale segue quello riportato nella fig.4.

 

L'inspection engine del firewall si situa tra i livelli 2 e 3 dello stack ISO/OSI: brevemente, per ogni pacchetto in arrivo dal NIC, viene effettuata una scansione di tutte le regole, fino a quando non ne viene trovata una verificata dalle caratteristiche del pacchetto stesso.
A questo punto, in base alle informazioni raccolte, si decide se bloccarlo (inviando un pacchetto di Not ACKnowledged in risposta o semplicemente scartandolo) o farlo passare, reinserendolo nel flusso dei dati e restituendo il controllo allo stack TCP/IP standard del kernel.
L'engine di logging si occupa nel frattempo di registrare le informazioni utili per mantenere una traccia degli eventi verificatisi sulla rete.
L'overhead introdotto dalla presenza di un firewall all'interno del sistema operativo è generalmente minimo: a seconda delle esigenze di traffico e throughput della rete da proteggere si può spaziare da un cluster di Sparc in Alta Disponibilità ad un vecchio i486 riciclato (perfetto ad esempio per chi ha l'esigenza di proteggere la propria rete casalinga collegata ad Internet via ADSL).

 


Indietro Avanti
Network Address Translation Uno scenario di esempio