Questo tipo di tecnologia Firewall, che è la più rudimentale, filtra le informazioni basandosi sui valori header del livello del protocollo di rete. Qui, il Firewall basa il proprio processo di filtraggio sull’ACL (ovvero sulla Lista di Controllo degli Accessi) che decide il tipo di traffico permesso e non, sia in entrata che in uscita, all’interno di una specifica rete seguendo i seguenti criteri:
- Fonte e destinazione dell’indirizzo IP
- Fonte e destinazione dei numeri di porta
- Tipo di protocollo
- Direzione del traffico in entrata ed in uscita
Il packet filtering si trova tutt’oggi nella maggior parte di prodotti con firewall e routers ed è manualmente modificabile utilizzando le interfacce dei vari software o routers. Se non siamo sicuri di capire cosa effettivamente sia un Firewall, comunque, possiamo dare prima di continuare con questo articolo un’occhiata a quello postato precedentemente che ci spiega Cos’è un Firewall e a cosa serve.
Ma, facciamo un esempio per capire meglio il funzionamento del packet filtering: immaginiamoci una di quelle classiche file che si formano di fronte ad una disco-pub esclusiva; sulla porta principale abbiamo un paio di tipi, vestiti da bodyguards, che squadrano osservando dall’alto al basso ogni personcina che si avvicina a loro per entrare; questi due hanno in mente una lista di cosa deve e non deve avere il cliente ideale che entra all’interno della disco-pub per cui lavorano; osservano una bella ragazza con tacchi, mini-gonna e magliettina attillata con ragazzo in giacca e camicia e li fanno passare; vedono un’altra ragazza ed un ragazzo con pantaloni larghi e felpone e li rimandano a casa.
La lista di controllo degli accessi e le sue regole per filtrarli vengono imposte all’interfaccia di rete, ovvero semplificando alla porta d’ingresso, dello strumento utilizzato. Vediamo allora alcune regole fondamentali dell’ACL prendendo un’esempio estrapolato dalla guida di Shon Harris per l’esame CISSP (Certified Information Systems Security Professional).
Adesso andiamo ad inforgnarci un pochino nei tecnicismi: abbiamo due sistemi il primo con IP 10.1.1.2 ed il secondo con IP 172.16.1.1. Per chi non se lo ricordasse l’IP è l’acronimo di Internet Protocol Adress e, quindi, indica l’indirizzo univoco dello strumento collegato alla rete.
Ora, vogliamo mostrare il tipo di configurazione che permette al traffico di passare dal primo al secondo IP se Telnet (porta 23) è in uso.
! --- Questo comando è usato per permettere al traffico di passare da 10.1.1.0 a 172.16.1.1 se Telnet è in uso.
access-list 101 permit tcp host 10.1.1.2 host 172.16.1.1 eq telnet
Il TCP (Transmission Control Protocol che si occupa di rendere lo scambio di dati tra mittente e destinatario affidabile) include Telnet; mentre l’IP include il TCP, l’UDP (User Datagram Protocol, si occupa anch’esso dello scambio di pacchetti dati ma è meno affidabile del TCP) e l’ICMP (Internet Control Message Protocol che si occupa della trasmissione di dati relativi a di possibili malfuzionamenti).
Nella ACL bisogna avere almeno un’affermazione che permetta ai dati di entrare poiché altrimenti tutto il traffico verrà bloccato e, quindi, lo scambio d’informazioni non sarà possibile in nessun caso.
101 è il numero di ACL (o access-list come viene indicato nel codice qui sopra) che permette al traffico di lasciare il primo IP (mittente) ed arrivare al secondo indirizzo (destinatario).
La dicitura eq, invece, specifica la porta in uso.
Per permettere il passaggio di pacchetti di traffico UDP dal mittente al destinatario, inoltre, v’è bisogno di una seconda regola molto simile alla prima ma in cui la dicitura TCP viene sostituita con UDP:
! --- Questo comando è usato per permettere al traffico UDP di passare da 10.1.1.0 a 172.16.1.1. access-list 101 permit udp host 10.1.1.2 host 172.16.1.1
Per assicurarsi, inoltre, che nessun traffico di tipo ICMP entri attraverso una specifica interfaccia si può configurare e scrivere la seguente ACL:
deny icmp any any
Un esempio ancor più semplice da capire forse è il seguente, ovvero il comando per permettere al traffico basato su internet (i classici indirizzi del tipo www.) di passare dal sistema 1.1.1.1 a 5.5.5.5:
access-list 101 permit tcp host 1.1.1.1 host 5.5.5.5 eq www
Quindi, il momento in cui un pacchetto arriva allo strumento che si occupa del packet filtering questi inizia a controllare tutta la lista ACL, compara ogni caratteristica del pacchetto ad ogni regola datagli e decide se fermare oppure lasciar passare i dati.
Oltre a filtrare il traffico ed inviare il pacchetto alla destinazione richiesta un router con packet filtering firewall può lasciar perdere il pacchetto (dimenticarselo in un certo senso), rigettarlo (quindi non inviarlo al destinatario) ed inviare un messaggio di errore al mittente, inviare un messaggio di notifica/allarme. Router più sofisticati sono anche in grado di modificare i pacchetti, inviare gli stessi ad una destinazione differente da quella richiesta e modificare le regole di filtraggio.
Questo tipo di firewall viene anche chiamato stateless inspection (inspezione senza stato) perché lo strumento che lo utilizza non comprende il contesto in cui i pacchetti lavorano. Non capire il contesto ma solo l’espressione formale, quindi, equivale a non essere in grado di comprendere pienamente la comunicazione in atto tra i due sistemi. Il packet filtering, infatti, si focalizza solamente sulle caratteristiche individuali dei pacchetti. Riprendendo, quindi, l’esempio dei due tipi all’entrata della disco-pub di tendenza: se si presenta una coppia di ragazzi, evidentemente usciti insieme in cui lei vestita bene ma lui senza camicia, i due firewall lasceranno entrare lei ma fermeranno lui.
Questo significa che a livello di protocollo network il packet filtering firewall può bloccare molti tipi di attacco ma non è effettivo nella protezione di attacchi che sfruttano delle specifiche vulnerabilità delle applicazioni.
Facendo un piccolo elenco le debolezze di questo tipo di firewall sono:
- L’impossibilità di prevenire degli attacchi che sfruttino specifiche vulnerabilità delle applicazioni.
- Hanno una funzionalità di registrazione limitata rispetto agli stateful firewalls di cui parleremo in un prossimo articolo.
- Molti packet filtering firwalls non supportano schemi di autenticazione utente avanzata.
- Molti packet filtering non riescono a rilevare IP address spoofing, ovvero pacchetti inviati da falsi indirizzi IP.
- Potrebbero non essere in grado di rilevare degli IP fragmentation attacks, che semplificando sono una sorta di attacco DDOS in cui viene frammentato un datagram (o pacchetto) in multipli e più piccoli pacchetti “intossicando” il network.
Per concludere, come primo scudo, al fine di proteggere le proprie infrastrutture il firewall packet filtering è una buona soluzione ma dev’essere sicuramente accompagnato anche da firewall più avanzati.
Lascia un commento