Telemat Lab's home page





SCREENING ROUTER E PACKET FILTER

di: A. Pugi ed E. Vinciarelli


home pageIndicePrec.Succ.











Screening Router




Il crescente sviluppo di Internet , se da un lato ha portato ad un aumento vertiginoso di utenti, con grossi vantaggi, dall'altro ha ridotto la sicurezza delle reti con la presenza sempre più massiccia di Hackers.
E' quindi utile definire in una rete una zona chiamata ZONA DI RISCHIO.
La ZONA DI RISCHIO include tutti gli Host direttamente accessibili attraverso la rete e che supportano il protocollo TCP/IP. Direttamente accessibile vuol dire che non prevedono grosse misure di sicurezza tra loro e Internet e che quindi sono vulnerabili a possibili attacchi.
Nella definizione di zona di rischio in certi casi bisogna includere Host che non usano il TCP/IP, questo deve essere fatto quando il TCP/IP-Host e il non TCP/IP-Host sono connessi tra loro ad esempio mediante l'Ethernet. Infatti l'Hacker può accedere al non TCP/IP-Host sfruttando il protocollo comune usato dai 2 Host interni alla rete.

  • (FIGURA1)
  • 
    
    

    Lo Screening Router è un mezzo per diminuire il livello di rischio.

    Questo ha la capacità di schermare i pacchetti dipendentemente dal tipo di protocollo, dall'indirizzo della sorgente e della destinazione e dai campi di controllo presenti nei pacchetti.
    Facendo un confronto con il modello di stratificazione OSI dell'ISO, si vede che il dispositivo lavora a livello di rete ed a livello di trasporto.

    (FIGURA2)
    Visto che per l'OSI i Router lavorano fino a livello di rete sono anche chiamati PACKET-FILTER GATEWAY.



    Packet Filter



    
    
    

    Il Packet Filtering può essere usato per implementare una larga varietà di politiche di sicurezza, che come descritto in precedenza, dipendono dal tipo di risorse, di servizio e di livello di importanza di ciò che vogliamo proteggere.
    Un aspetto importante della sicurezza è quello di avere un meccanismo trasparente in modo da non ostacolare il normale utilizzo della rete.
    Il Packet filtering rispetta questa condizione, in quanto lavora a livello di trasporto e direte, mentre un Firewall Gateway che lavora a livello di applicazione tende ad avere una Implementazione non trasparente.
    Generalmente viene posto tra due o più segmenti di rete, segmenti classificati in interni, se appartengono alla rete o esterni se collegano ad Internet.

    Se il numero dei segmenti di rete che si connettono al dispositivo è elevato risulta complesso ottenere una buona sicurezza per le seguenti ragioni:



    Per questo il Packet-filter spesso si trova connesso solo a 2 segmenti di network, in cui uno è esterno e l'altro interno.




    Metodologia dei Packet Filter



    
    

    Quasi tutti i dispositivi operano nella seguente maniera:
    1. Il criterio di filtraggio deve essere memorizzato per una porta del dispositivo.
    2. Quando il pacchetto arriva alla porta, l'haeder del pacchetto è analizzato. I migliori Packet Filter esaminano solo l'IP,il TCP o l'UDP header.
    3. Le regole di filtraggio sono memorizzate in uno specifico ordine. Ogni regola è applicata al pacchetto nell'ordine in cui è memorizzata.
    4. Se una regola blocca la trasmissione o la ricezione del pacchetto, il pacchetto è rifiutato.
    5. Se una regola permette la trasmissione o la ricezione di un pacchetto, al pacchetto è permesso procedere.
    6. Se il pacchetto non soddisfa nessuna regola è bloccato


    Analizzando la regola 4 e5 si può vedere che è molto importante posizionare le regole nel corretto ordine.
    Un errore frequente nella configurazione delle regole di filtraggio è posizionarle in ordine sbagliato.

    Se ciò accade si può negare un servizio valido e permettere un servizio da negare.




    Progetto di un Packet Filter



    
    
    

    Per analizzare il progetto di un Packet Filter prendiamo in considerazione il seguente esempio:
    Il dispositivo deve permettere la connessione tra il network 199.245.180.0 (classe C) e il servizio SMTP di qualsiasi Host esterno. Innanzitutto bisogna dire che questo tipo di servizio è ottenuto con connessione TCP, quindi le regole di filtraggio dovranno tenere in considerazione la presenza dei pacchetti ACK, vale a dire il flusso di informazioni è in entrambe le direzioni (full duplex). Da quanto detto possiamo scrivere la seguente tabella di lavoro:

    Numero RegolaAzioneSorgentePorta Sorg.DestinazionePorta DestOpzioni Flag
    Protocollo
    Descrizione
    1allow199.245.180.0**25.Inoltra Pacchetti da
    199.245.180.0
    2allow*25199.245.180.0*ACKInoltra gli ACK di ritorno
    (FIGURA3)
    Come si può vedere per ogni regola viene specificato l'indirizzo di sorgente e destinazione, il TCP flag, l'IP option e l'azione che deve essere svolta.
    Il TCP flag è un campo presente nell'header del pacchetto TCP e contiene informazioni vitali per il filtraggio
    I più importanti TCP flag sono il SYN e l'ACK, il SYN indica l'inizio di una connessione TCP ed è settato ad 1 quando vi è una richiesta di collegamento, l'ACK invece viene settato nel pacchetto di conferma della connessione e nei pacchetti di conferma dati.

    L' IP options è un campo presente nell'header del pacchetto IP.
    L'azione indica quello che deve fare il Packet Filter se un pacchetto rispecchia una regola , cioè rifiutarlo o accettarlo.

    Esaminando ogni riga della tabella si noterà che è completamente descritta una connessione TCP, questo completa descrizione è chiamata full association.
    Torniamo all'esempio e verifichiamo che cosa vogliono dire le 2 regole:


    Questo può essere tradotto nella seguente maniera:
    Permetti la connessione da qualsiasi network originato dalla porta 25, con il TCP ACK flag settato, a qualsiasi porta di qualsiasi host del network 199.245.180.0.

    Mettendo insieme queste due regole ottengo quanto richiesto nell'esempio.

    NOTA: Poiché il filtraggio dei pacchetti avviene solo al livello 3 e 4 del modello OSI, non c'è modo di garantire in maniera assoluta che il ritorno del pacchetto di conferma (TCP ACK) venga dalla stessa connessione.

    In pratica però questo viene accettato poiché in una connessione TCP ambo i lati mantengono informazioni sullo stato e quindi conoscono il numero di sequenza dell'ACK che deve arrivare.



    Ultimo aggiornamento: 23 Settembre 1996


    Telemat Lab's home page

    home pageIndicePrec.Succ.