Teoria Terzo Modulo Ccna

ACL parte prima

Filtraggio del traffico attraverso le access controll list.

I filtri hanno due funzionalità quella di sicurezza e quella di controllo di banda operazioni che vanno compiute verso/da un'interfaccia (info routing per esempio).

Liste in ingresso o in uscita.

Quando il pacchetto entra nell'interfaccia viene fatto un controllo se matcha le condizioni e quindi vi si può applicare la policy (permit o deny). Se non soddisfa la prima condizione si verificano le altre se alla fine non matcha su nessuna allora viene scartata. La cisco consiglia di impostare la policy di default deny.

Se il pacchetto supera la lista di ingresso viene passato tramite la tabella di routing e va nell'interfaccia di uscita.

Per le liste di uscita valo lo stesso meccanismo di quelle di ingresso controllano le condizioni, se ne matcha qualcuna si applica la condizione altrimenti si applica le policy di default, che dovrebbe essere deny.

Cosa posso controllare?

Si applica la regola delle tre p.

  1. protocollo che trasporta i dati, ip, ipx, appletalk.
  2. per direzione in-out della stessa interfaccia
  3. per interfaccia

Per un protocollo,direzione e interfaccia ci può essere al massimo una sola acl.

Cosa controllano le acl? Ci sono due tipi di acl.

  • standard che controllano gli ip.
  • exteded che controllano anche protocollo e porta di udp e tcp. Insomma si possono fare dei controlli per i protocolli superiori e quindi controllare di tutto.

Creating ACL

Quando creo una acl devo assegnarli un numero che varia in base al tipo di acl.

ip standard 1 a 99 e dalla ver. ios 12.01 anche da 1300-1999
extended ip 100-199 e dalla ver. ios 12.01 anche da 2000-2699
apple talk 600-699

e così via

Standard ACL

Una acl va prima definita e poi applicata a un'interfaccia.

r1(config)# access-list access-list-numeber {deny | permit | remark} source [source-wildcard ] [log]

il remark è un commento per l'acl per ricordarsi che cosa deve fare
Si può specificare un controllo in base alla wildcard mask per esempio
acess-list 2 permit 172.16.1.0 0.0.0.255

dice di accettare tutti i pacchetti che vengono dalla sotto-rete da 1 a 255
r1(config)# no access-list access-list-number

cancella l'access list specificata nel comando.

L'access list alla fine contiene la riga

r1(config)# access-list 11 deny 0.0.0.0 255.255.255.255
oppure scritta in maniera più semplice
r1(config)# access-list 11 deny any

any= 0.0.0.0 255.255.255.255
Ci sono altre parole oltre ad any come host
per identificare un solo dispositivo
r1(config)# access-list 10 permit 192.168.1.10 0 0.0.0.0

equivalente
r1(config)# access-list 10 permit host 192.168.1.100

Per applicare una acl devo definirla con l'id e poi associarla all'interfaccia in uscita (out) o in ingresso (in)

r1(config)# interface FastEthernet 0/0
r1(config-if)# ip access-group 1 out

la prima parola indica il protocollo

Quando un router scarta un pacchetto (sia in in che in out) invia un messaggio icmp con codice numerico che corrisponde administrative

Per verificare se le acl sono scritte correttamente
"show ip interface"
vedo se ci sono acl settate per quell'interfaccia.

show access-lists
Standart IP access list 2
    deny 172.16.1.1
    permit 172.16.0.0
Extended .....

Con show running config si vedono tutte le informazioni disponibili

Extended Access Lists

Sono più potenti di quelle standard.

access-list access-list-number {deny | permit | remark} protocol source

access-list-number da 100 a 199 o da 2000 a 2699
remark è solo un commento
protocoll

Prima viene la sorgente e poi se presente anche la destinazione.

si può filtrare su protocollo, porta destinazione/sorgente , ip destinazione/sorgente con wildcard

la parola chiave established indica una connessione tcp già stabilita.

operatore operando
eq = equal

operatore e operando vale in base a dove viene specificato dopo la porta o dopo l'indirizzo destinazione

access-list 114 permit tcp 172.16.6.0 0.0.0.255 any eq telnet
access-list 114 permit tcp 172.16.6.0 0.0.0.255 any eq ftp
access-list 114 permit tcp 172.16.6.0 0.0.0.255 any eq ftp-data

Come si vede si può specificare sia il numero di porta che il suo nome, ftp usa due porte per funzionare. Questa acl può indicare che gli utenti della mia sottorete possono solo fare telnet e ftp.
router(config-if)#ip access-group access-list-number {in | out}

Applichiamo all'interfaccia un'acl in ingresso e una in uscita, con protocollo ip.

router(config)# interface s0/0/0
router(config-if)#ip access-group 103 out
router(config-if)#ip access-group 104 in
router(config)#access-list 110 permit tcp host 172.16.50.2 host 172.16.10.2 eq 80

permettere l'accesso al server web con 172.16.10.2 solo tramite l'ip 172.16.50.2
Poi applichiamola con
router(config)# inter e0
router(config-if)#ip access-group 110 out

Se vogliamo permettere l'accesso da tutta la rete verso il server web

router(config)#access-list 110 permit tcp 172.16.50.2 0.0.0.255 host 172.16.10.2 eq 80

Placing ACLs

Stiamo facendo delle valutazioni per acls che vogliono scartare il traffico indesiderato
Le acls standard in quanto non specificano l'indirizzo di destinazione devono essere piazzate più vicino possibile alla destinazione.
Mentre le extende in quanto più precise vanno piazzate più vicino possibile alla sorgente.

Modificare le acl

Le acl numerate non posso modificarle. Devo cancellarle e poi reinserirle

r1# show running-config | include access-list
access-list 20 permit 192.168.10.100

con il comando della prima riga vedo del running config solo le acl e mi accorgo di un errore.
Per correggerlo
r1# conf t
r1#(config)#no access-list 20
r1#(config)#access-list 20 permit 192.168.10.110

Commenting acls

Vediamo il comando di remark

r1(config)# access-list 1 remark Permetti solo alla workstation di Giovanni di passare il filtro
r1(config)# access-list 1 permit 192.168.10.13

Si possono definire anche acl con il nome invece del numero.

r1(config)# ip access-list extende TELNETTING
r1(config-ext-necl)#remark non permettere alla workstations di Giovanni di fare telnet.
r1(config-ext-necl)# deny tcp host 192.168.10.13 any eq telnet
Salvo diversa indicazione, il contenuto di questa pagina è sotto licenza Creative Commons Attribution-ShareAlike 3.0 License