Sesta Lezione: Filtraggio dei pacchetti In pachet tracer è possibile impostare sui router delle regole per eseguire un filtrtaggio dei pacchetti. I concetti sono simili a quelli visti con il comando iptables di Linux; tuttavia l impostazine e l applicazione di queste regole seguono sintassi completamente diverse. Per prima cosa è necessario vedere in che modo sia possibile digitare dei comandi in un router. Come già visto nella prima lezione facendo doppio click su un router appare la finestra di configurazione, divisa in tre schede, riportata in figura 1. Figura 1 Fino ad ora ci siamosoffermatisulle prime due schede ( physical e Config ) per dare dei comandi al router dovremo spostarci sulla scheda CLI. Cosi facendo avremo a disposizione un prompt su cui inserire i comandi che andremo a studiare. (figura 2) Una volta avuto accesso al prompt dei comandi per poter iniziare a dare i comandi di configurazione è necesario digitare i seguenti comandi: enable configure terminal Il Prompt da Router> diventerà Router(config)#.
Si noti che tutti i comandi che andremo a digitare varranno solo fino al riavvio delrouter. Ciò significa che, se per qualsiasi motivo, riavviamo il router o, semplicemente, chiudiamo e riapriamo Packet tracer, i comandi verrano persi. Risulta quindi necessario salvarli e ricaricarli. Figura 3 Per far ciò dalla finestra di configfurazione del roter ci si sposta sulla scheda Config e si usano i tasti merge e export a fianco della scritta Running Configuration. Il tasto Export permette di salvare in un file di testo la configurazione del router corrente. Il tasto Merge permette di caricare una configurazione salvata in precedenza. (figura 3). Per impostare delle regole di filtraggio su dei router sono necessari due passi 1. Creare una lista di regole aggiungendo alla lista una regola alla volta 2. Associare la lista creata ad una delle interfacce del router specificando se le rogele contenute nella lista vadano applicate ai pacchetti in entrata o in uscita da quell interfaccia 1. Creazione di una lista di regole Una lista di regole viene creta nel momento in cui si aggiunge ad essa la prima regola. L unico comando, dunque, è quello che permette di aggiungere una regola ad una lista esistente; nel caso in cui la lista non esista viene automaticamente creata. Liste di regole vengono identificate da un numero compreso tra 100 e 199. Per aggiungere una regola ad una access list si utilizza il comando: access list NUMERO ACCESS LIST permit deny PROTOCOLLO INDIRIZZO SORGENTE INDIRIZZO SORGENTE WILDCARD [ conf PORTA SORGENTE] INDIRIZZO DESTINAZIONE INDIRIZZO DESTINAZIONE WILD CARD [ conf PORTA DESTINAZIONE] Dove: NUMERO ACCESS LIST è un numero da 100 a 199 che serve ad identificare l access list PROTOCOLLO serve per filtrare sul tipo di protocollo i valri possili sono IP, TCP, UDP, ICMP, GRE o IGRP INDIRIZZO SORGENTE E INDIRIZZO DESTINAZIONE indicano l indirizzo IP della rete/host sorgente e destinatario. Si puo utilizzare la parola chiave any per indicare tutti gli indirizzi INDIRIZZO SORGENTE WILD-CARD e INDIRIZZO DESTINAZIONE WILD-CARD Servon per specificare la maschera di rete da applicare all indirizzo sorgente e all indirizzo destinazione. La wild-card corrisponde al NOT logico della maschera di rete. Quindi una rete con maschera 255.255.255.0 avrà wild card 0.0.0.255.
conf PORTA DESTINAZIONE/SORGENTE indica la porta destinazione/sorgente dei pacchetti a cui va applicata la regola con la possibilità di un operatore di confronto (eq uguale, lt minore, gt maggiore); tale parametro può essere omesso. Come avviene per iptables le regole di una lista vengono valutate dalla prima all ultima, secondo l ordine con cui sono inserite e non appena un pacchetto si riconosce in una regola gli viene applicato il comportamento associato. Si noti che a differenza di quanto accade per il comando iptables non ci sono prefissi del tipo -s, -d che servono a descrivere il parametro che segue in quanto l ordine è fisso e tutti i parametri, ad eccezione della porta, vanno specificati obbligatoriamente. Altra importante osservazione è tenere in considerazione il fatto a tutte le access-list viene automaticamente aggiunta in coda la regola deny any any. In questo modo tutte le access-list hanno un compartamento di default che prevede di scartare i pacchetti; se, dunque, si vuole permettere gran parte del traffico e specificare nelle regole solo ciò che si vuole filtrare bisognerà concludere la propria lista con la regola permit any any. Per riassumere le regole impostate in una access-list si utilizza il comando show access list NUMERO ACCESS LIST Tale comando, tuttavia, va dato dal prompt router# e non router(config)# ; per raggiungere tale prompt bisognerà digitare il comando exit. Per tornare al prompt router(config)# si digiterà configure terminal. 2. Associare la lista creata ad una delle interfacce del router Si supponga di aver creato la lista di regole 101. per applicarla ad una delle interfacce del router bisogna per prima cosa entrare nel prompt di configurazione di tale interfaccia. Per far ciò si digita il comando: interface fast ethernet 0/numero interfaccia da configurare. Fatto questo la lista 101 verrà associata ai pacchetti in transito per l interfaccia selezionata dopo aver digitato il comando: ip access group NUMERO ACCESS LIST in out Ovviamente NUMERO ACCESS-LST indica il numero dell access list che si sta applicando (101 nel nostro caso) e in oppure out impostano, rispettivamente, le regole per i pacchetti in entrata o in uscita per l interfaccia selezionata. Esempio Consideriamo la semplice rete schematizzata in figura 4 e supponiamo di volere che la rete 192.168.1.0/24 abbia accesso al solo servizio web verso l indirizzo. Come eccezione il pc con indirizzo 192.168.1.1 potrà accedere al sever web in qualsiasi servizio e/o porta. Inoltre le limitazioni dovranno valere solo per l indirizzo ; qualora vengano aggiunte altre macchine allo schema di rete l accesso dovrà comunque essere libero.
Figura 4 Tralasciamo la creazione e configurazione di base della rete in figura (impostazione degli indirizzi ip, maschere, gateway dei singoli nodi). A questo punto chiediamoci quali regole dovranno far parte della nostra access-list ed elenchiamole nella consueta tabella ricordandoci che come ultima regola la nostra lista contiene di default un deny any any. Si noti che nella tabella non vengono riportate le colonne interfaccia ingresso e intefaccia uscita in quanto le intrfaccie veranno selezionate successivamente (il comando access-list non permette di specificarle). IP Sorgente IP Destinazione Porta sorgente Porta destinazione Comportamento 192.168.1.0/24 80 Accetta 192.168.1.1 Accetta 192.168.1.0/24 Scarta Scarta Scartaa La prima riga permette a tutta la rete 192.168.1.0/24 di accedere al server web; la seconda permette tutti i tipi di accessi tutti i tipi di accesso al server web da parte del nodo 192.168.1.1; la terza blocca gli altri tipi di accesso agli altri nodi della rete; la quarta serve per neutralizzare l effetto della riga di defaut che blocca tutto ciò che non viene specificato. Creiamo la l lista 101 che contiene le nostre 4 regole digitando dal prompt i seguenti comandi: access-list 101 permit tcp 192.168.1.0 0.0.0.255 host eq 80 (riga 1) access-list 101 permit ip host 192.168.1.1 host (riga 2) access-list 101 deny ip 192.168.1.0 0.0.0.255 host (riga 3) access-list 101 permit ip any any (riga 4) Associamo ora questa lista ai pacchetti in uscita dall interfaccia 1 con i seguenti due comandi
interface fast ethernet 0/1 (per spostarsi nella configurazione della eth1) ip access group 101 out (per impostare la lista di regole 101 ai pacchetti in uscita dall interfaccia). Non ci resta che verificare che le impostazioni funzionino cortrettamente. Per far ciò verifichiamo che da tutti e tre i pc riusciamo a vedere la main page del server web. Aprendo il browser da uno qualsiasi dei tre pc e digitando come indirizzo appare la pagina del server web. Per verificare che altri tipi di traffico sono consentiti solo dal pc 192.168.1.1 proviamo a pingare il server web dai tre pc. Noteremo che solo dal pc 1 avremo risposta mentre dagli altri due pc comarirà il messaggio Reply from 192.168.1.254 destination host unrechable. Il router dopo aver scartato il pacchetto ci informa che non possiamo raggiungere la destinazione.