In un firewall a filtro di pacchetti il filtro può essere definito per i pacchetti in input o in output da ciascuna interfaccia del firewall, o in transito (forward) da una interfaccia ad un’altra.
In genere si utilizzano i filtri di input e di forward.
Un filtro di input viene applicato ai pacchetti diretti al firewall stesso.
Un filtro di forward viene applicato ai pacchetti che attraversano il firewall.
I filtri di output non sono molto utilizzati; vengono applicati ai pacchetti generati dal firewall stesso.
Quando su una interfaccia arriva un pacchetto, viene controllata la tabella di routing per stabilire se il pacchetto è diretto al firewall o se deve essere instradato su un’altra interfaccia; se è diretto al firewall viene applicato il filtro di input, se deve attraversare il firewall ed essere instradato su un’altra interfaccia viene applicato il filtro di forward.
Il filtro può fare in modo che il pacchetto:
-
sia lasciato passare,
-
venga bloccato,
-
venga bloccato inviando all’origine un messaggio di rifiuto con il protocollo ICMP.
Ogni regola di un firewall a filtro di pacchetti può specificare:
-
posizione del filtro: in ingresso, in uscita, in transito;
-
azione del filtro: accettazione, blocco o rifiuto;
-
indirizzi IP di origine;
-
porte TCP o UDP di origine;
-
indirizzi IP di destinazione;
-
porte TCP o UDP di destinazione;
-
messaggio ICMP, indicando il tipo e il codice eventuale;
-
interfaccia di rete coinvolta;
-
altre caratteristiche (per esempio se il pacchetto è frammentato, o se si tratta di un pacchetto SYN di richiesta di apertura di una connessione TCP).