next up previous contents
Next: Sintassi e funzionalità Up: Esempio di implementazione gratuita Previous: Esempio di implementazione gratuita   Indice

Struttura

Nel sistema gratuito linux le funzioni di firewall vengono svolte da due componenti distinte ed interagenti. Vi è il codice di packet-filtering implementato nel kernel ed un pacchetto di configurazione detto ipchains. Ipchains permette di configurare il kernel nel modo desiderato tramite un approcio flessibile e piuttosto semplice. Come vediamo in figura 4.1 il flusso dati transita attraverso alcuni stadi di confronto detti ``catene''. Ogni catena ha un'origine dalla quale attinge dati, una destinazione verso la quale i dati vengono indirizzati ed è composta da più anelli. Ogni anello è costituito da una regola imposta dall'utente. I dati vengono vagliati sequenzialmente e confrontati con tutte le regole della catena. Ogni regola specifica cosa fare di un certo tipo di pacchetto. Quest'ultimo può essere respinto verso l'origine, semplicemente distrutto, passato ad un'altra catena oppure sottoposto al vaglio della regola successiva.

Figura 4.1: Struttura base di ipchains
\resizebox* {0.9\textwidth}{!}{\includegraphics{ipchains.eps}}

Il flusso dati passa attraverso alcuni punti predefiniti dall'implementazione del kernel:

Processi locali. Tutti i pacchetti generati da processi locali e destinati ai medesimi attraversano la catena di uscita diretti verso l'interfaccia LO e tornano sulla catena di ingresso.

Figura 4.2: Conversione tra indirizzi pubblici e privati (NAT)
\resizebox* {0.7\textwidth}{!}{\includegraphics{nat.eps}}

La grande flessibilità di ipchains permette di definire catene aggiuntive che vanno ad affiancarsi alle catene di base sopra descritte (senza mai sostituirle però) permettendo all'utente di raggiungere livelli di ottimizzazione molto alti. Tramite l'uso delle catene aggiuntive infatti solo i pachetti aderenti alla descrizione fatta da una regola specifica -regola A in fig. 4.3- vengono confrontati con le ulteriori regole della nuova catena- . Dalla figura si evince anche che le catene di base sopra descritte non possono mai essere aggirate. Le catene aggiuntive non interrompono mai il flusso dei dati ma possono semplicemente allungarlo per poi tornare alla posizione di partenza.

Figura 4.3: Esempio di percorso dei pacchetti sulle catene di ipchains
\resizebox* {0.6\textwidth}{!}{\includegraphics{catene.eps}}


next up previous contents
Next: Sintassi e funzionalità Up: Esempio di implementazione gratuita Previous: Esempio di implementazione gratuita   Indice
[email protected] [email protected]
Hosted by www.Geocities.ws

1