Continuiamo con la nostra serie di articoli che, attraverso esempi pratici e semplificati, dimostrano l’applicazioni di strumenti fondamentali nei rispettivi ambiti. È il turno di introdurre alle Access-List IPv4 (ACLs) di tipo extended. Uno strumento onnipresente in tutte le configurazioni degli apparati Cisco e non. Consigliamo di prendere visione del precedente articolo sul tema Access-List (ACLs) IPv4 per regolare l’accesso telnet/ssh. Come al solito non vogliamo affrontare la tematica dal punto di vista solo teorico ma lavorare su un esempio laboratoriale pratico di facile comprensione. Di seguito una topologia e relativo diagramma degli indirizzi su cui sviluppare le successive considerazioni. Tutti i dispositivi intermediari (router e switch) sono configurati con settaggi di base ad eccezione della configurazione del protocollo RIP tra R1 e R2 per instradare il traffico tra le reti:
PC1:
IP Address –> 10.10.1.10/24
Default gateway –> 10.10.1.1
PC2:
IP Address –> 10.10.1.20/24
Default gateway –> 10.10.1.1
SRV1:
IP Address –> 10.10.3.30/24
Default gateway –> 10.10.3.1
R1:
E0/0 IP address –> 10.10.1.1/24
E1/0 IP address –> 10.10.1.2/30
R2:
E0/0 IP address –> 10.10.3.1/24
E1/0 IP address –> 10.10.1.1/30
Come già detto nel precedente articolo le ACLs di tipo standard ci permettono di controllare il traffico intervenendo a livello 3. Infatti le standard ACL sono limitate a discriminare esclusivamente sull’IP sorgente. Per superare questo limite, e quindi agire su IP destinazione nonché sul header del segmento (livello 4). Le ACLs Extended forniscono un ampio range di controllo. Oltre IP sorgente e destinatario, agisce su tipo di protocollo e porte sorgente e destinataria. Un tale costrutto risponde ad esigenze più complesse come ad esempio poter permettere il traffico email da una network verso una specifica destinazione e contestualmente negare il traffico FTP e WEB per un determinato Host. Abbiamo 2 tipi di ACL Extended. Named e Numbered. La sola differenza consiste nel riferirsi all’ACL all’interno della configurazione. Nel primo caso attraverso il nome e nel secondo attraverso un numero (range da 100 a 199, e da 2000 a 2699). Di seguito uno schema per meglio chiarire quanto appena introdotto:
Interveniamo applicando una ACL sul Router R1 denominata “Example4”. Questa ACL deve avere 4 costrutti che debbono realizzare quanto segue:
1) La prima riga deve impedire tutto il traffico UDP;
2) La seconda riga deve permettere il traffico TCP dal PC1 verso qualunque destinazione limitando il tutto alla porta 23 (telnet);
3) La terza deve negare tutto il traffico TCP generato dal PC1;
4) L’ultima riga deve permettere tutto il traffico IP;
R1# conf t
R1(config)# ip access-list extended Example4
R1(config-ext-nacl)# deny udp any any
R1(config-ext-nacl)# permit tcp host 10.10.1.10 any eq 23
R1(config-ext-nacl)# deny tcp host 10.10.1.10 any
R1(config-ext-nacl)# permit ip any any
R1(config-ext-nacl)# exit
Applichiamo l’ACL appena creata all’interfaccia Ethernet 1/1 in direzione Inbound:
R1(config)# interface Ethernet1/1
R1(config-if)# ip access-group Example4 in
R1(config-if)# end
Visualizziamo quanto realizzato attraverso il comando show ip access-list. Ricordiamo sempre l’implicita negazione finale presente in ogni ACL IPv4:
R1# show ip access-lists Example4
Extended IP access list Example4
10 deny udp any any
20 permit tcp host 10.10.1.10 any eq telnet
30 deny tcp host 10.10.1.10 any
40 permit ip any any
CORSI CORRELATI:
- Corso Cisco CCNA;
- Corso CCNP Enterprise ENCOR;
- Corso CCNP Enterprise ENARSI;
- Corso CCNP Enterprise ENWLSI;
- Corsi CCNP Enterprise;
- Corso Fortinet NSE4;
- Corso Huawei HCIA R&S;
Consulta il nostro Catalogo Corsi per Tecnologia oppure fai una Ricerca per Vendor o ancora trova uno specifico corso attraverso il motore di ricerca interno: Ricerca Corsi. Contattaci ora al Numero Verde 800-177596, il nostro team saprà supportarti nella scelta del percorso formativo più adatto alla tue esigenze.
Adesso verifichiamo l’effetto dell’ACL appena istanziata. Ricordiamo sempre che nel laboratorio utilizzato PC1 e SRV1 sono anch’essi dei router utilizzati come end device. Attiviamo il protocollo NTP sul PC1, al che si colleghi con il server NTP SRV1. Tale protocollo si basa su UDP. L’ACL nega questo traffico e infatti il PC1 non riesce a sincronizzare il proprio clock con SRV1:
PC1# conf t
PC1(config)# ntp server 10.10.3.30
PC1(config)# end
PC1# show ntp status
Clock is unsynchronized, stratum 16, no reference clock
nominal freq is 250.0000 Hz, actual freq is 250.0000 Hz, precision is 2**10
ntp uptime is 3500 (1/100 of seconds), resolution is 4000
reference time is 00000000.00000000 (00:00:00.000 PST Mon Jan 1 1900)
clock offset is 0.0000 msec, root delay is 0.00 msec
root dispersion is 0.52 msec, peer dispersion is 0.00 msec
loopfilter state is ‘FSET’ (Drift set from file), drift is 0.000000000 s/s
system poll interval is 8, never updated.
La seconda riga della ACL permette la connessione telnet dal PC1 verso qualsiasi destinazione. Infatti la connessione telenet verso SRV1 è positiva:
PC1# telnet 10.10.3.30
Trying 10.10.3.30 … Open
User Access Verification
Username: admin
Password:
SRV1> exit
[Connection to 10.10.3.30 closed by foreign host]
PC1#
la terza riga dell’ACL nega tutte le connessioni TCP generate dal PC1. Infatti provando una connessione SSH verso il Server SRV1, la connessione da esito negativo:
PC1# ssh -l admin 10.10.3.30
% Destination unreachable; gateway or host down
La quarta e ultima riga dell’ACL legittima qualsiasi traffico IP. Infatti proviamo a fare un ping dal PC1 verso il Server SRV1 è rileviamo esito positivo:
PC1# ping 10.10.3.30
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.10.3.30, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/2 ms
L’ACL creata non riguarda il PC2. Infatti proviamo la stessa sequenza di test dal PC2 rilevando il successo delle varie connessioni:
PC2# telnet 10.10.3.30
Trying 10.10.3.30 … Open
User Access Verification
Username: admin
Password:
SRV1> exit
[Connection to 10.10.3.30 closed by foreign host]
PC2# ssh -l admin 10.10.3.30
Password:
SRV1> exit
[Connection to 10.10.3.30 closed by foreign host]
PC2# ping 10.10.3.30
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.10.3.30, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/2 ms
Eseguiamo di nuovo l’opportuno show per apprezzare i contatori per ogni riga che si incrementano ad ogni “match”:
R1# show ip access-lists Example4
Extended IP access list Example4
10 deny udp any any (6 matches)
20 permit tcp host 10.10.1.10 any eq telnet (58 matches)
30 deny tcp host 10.10.1.10 any (1 match)
40 permit ip any any (89 matches)