Limitazione dell’accesso remoto con le access-list
Le linee Vty o terminali virtuali vengono utilizzate per consentire l’accesso remoto al router. Una linea di terminale virtuale non è associata alla porta ausiliaria o della console. Il router ha cinque linee di terminale virtuale per impostazione predefinita, numerate da 0 a 4. È possibile creare linee di terminale virtuale aggiuntive se si desiderano più di cinque connessioni simultanee di console remota. Nella maggior parte delle situazioni sono sufficienti cinque linee di terminale virtuale predefinite.
La protezione dell’accesso alla console remota è fondamentale perché, se viene compromessa, un intruso può accedere alla configurazione del router e può persino modificarla compromettendo tutte le altre funzionalità di sicurezza configurate sul router. Le linee Vty sono anche protette utilizzando nomi utente e password, ma le ACL possono essere utilizzati anche come misura di sicurezza aggiuntiva assicurando che le linee Vty siano accessibili solo da host affidabili con indirizzi IP specifici. Ricordarsi inoltre di impostare elenchi di accesso identici su tutte le linee di terminale virtuale attive perché un utente può connettersi a qualsiasi di esse.
Il comando access-class viene utilizzato nella modalità di configurazione della linea per limitare le connessioni in entrata o in uscita tra una linea di terminale virtuale e gli indirizzi nell’elenco di accesso. L’esempio seguente definisce un elenco di accesso che nega le connessioni in entrata da tutte le reti diverse da 172.16.0.0 sulle linee terminali da 0 a 4.
R1#configure terminal
R1 (config) # access-list 10 allow 172.16.0.0 0.0.255.255
R1 (config) #line vty 0 4
R1 (config-line) # access-class 10 in
R1 (config-line) #end
Il comando show line può essere utilizzato per visualizzare a colpo d’occhio tutte le linee di terminale virtuale attive e gli elenchi di accesso ad esse applicati.
R1#show line
Tty Line Typ Tx/Rx A Modem Roty AccO AccI Uses Noise Overruns Int
* 0 0 CTY – – – – – 0 1 0/0 –
1 1 AUX 9600/9600 – – – – – 0 0 0/0 –
194 194 VTY – – – – 10 0 0 0/0 –
195 195 VTY – – – – 10 0 0 0/0 –
196 196 VTY – – – – 10 0 0 0/0 –
197 197 VTY – – – – 10 0 0 0/0 –
198 198 VTY – – – – 10 0 0 0/0 –
Modifica degli elenchi di accesso
Durante la creazione di una ACL o dopo che è stato creato, potresti voler eliminare una voce. Non è possibile eliminare una singola voce da una ACL. Se è necessario eliminare anche una singola voce da un ACL, è necessario eliminare l’intero elenco di accesso utilizzando il comando no access-list e ricominciare da capo.
R1(config)#no access-list 1
R1(config)#end
R1#show access-list 1
È una buona strategia copiare l’elenco di ACL su Blocco note prima di eliminarlo dalla configurazione del router. È quindi possibile modificare l’elenco di accesso in Blocco note prima di applicarlo nuovamente alla configurazione del router.
Tuttavia, puoi sicuramente eliminare una singola voce da un elenco delle ACL con nome utilizzando il comando no allow o no deny . Dimostriamolo utilizzando l’ elenco di accesso esteso NoSales che abbiamo creato in precedenza, eliminando la seconda istruzione dell’elenco di accesso.
R1#show access-list NoSales
Extended IP access list NoSales
10 deny ip 172.18.0.0 0.0.255.255 host 172.16.40.10 log
20 permit tcp any any
R1#configure terminal
R1(config)#ip access-list extended NoSales
R1(config-ext-nacl)#no permit tcp any any
R1(config-ext-nacl)#end
R1#show access-list NoSales
Extended IP access list NoSales
10 deny ip 172.18.0.0 0.0.255.255 host 172.16.40.10 log
R1#
Questo è un buon motivo per preferire gli elenchi di accesso con nome rispetto agli elenchi di accesso numerati da un punto di vista pratico.
Suggerimenti per la creazione di elenchi di accesso IP
- Creare un elenco di accesso prima di applicarlo a un’interfaccia, perché se si applica un elenco di accesso ancora inesistente a un’interfaccia e quindi si procede alla configurazione dell’elenco di accesso, la prima voce di controllo di accesso (ACE) viene applicata non appena si inseriscilo e l’ istruzione di negazione implicita che segue potrebbe bloccare immediatamente il traffico causando problemi di accesso immediato.
- Un’interfaccia a cui è applicato un elenco di accesso vuoto consente tutto il traffico, quindi questo è un altro motivo per configurare un elenco di accesso prima di applicarlo.
- È possibile applicare un solo elenco di accesso a un’interfaccia in ciascuna direzione per un dato protocollo.
- Tutti gli elenchi di accesso richiedono almeno una dichiarazione di autorizzazione ; altrimenti tutti i pacchetti vengono negati a causa dell’istruzione nega implicita e non passa affatto traffico.
- Poiché il software interrompe il test delle voci di controllo dell’accesso (ACE) dopo aver incontrato la prima corrispondenza (a un’istruzione di autorizzazione o di rifiuto ), ridurrai il tempo di elaborazione e l’utilizzo delle risorse se metti istruzioni che i pacchetti hanno più probabilità di corrispondere all’inizio della lista di accesso. Posizionare le condizioni che si verificano più frequentemente prima di quelle meno frequenti.
- Organizza il tuo elenco di accesso in modo che i riferimenti più specifici in una rete o sottorete vengano visualizzati prima di quelli più generali.
- Utilizzare l’istruzione allow any any se si desidera consentire tutti gli altri pacchetti non già negati da un’istruzione precedente nell’elenco di accesso. L’uso dell’istruzione allow any alla fine di una lista di accesso, in effetti, evita di negare tutti gli altri pacchetti con l’istruzione nega implicita alla fine di una lista di accesso. Non lasciare che la tua prima voce della lista di accesso ne permetta, perché tutto il traffico passerà ; nessun pacchetto raggiungerà i test successivi e quindi anche se ci sono dichiarazioni di negazione dopo il permesso, non avranno effetto.
- Durante la creazione di un elenco di accesso o dopo che è stato creato, potresti voler eliminare una voce. Non è possibile eliminare una singola voce da un elenco di accesso numerato; tentare di farlo eliminerà l’intero elenco di accesso. Se è necessario eliminare una voce, è necessario eliminare l’intero elenco di accesso utilizzando il comando no access-list e ricominciare da capo. Tuttavia, puoi sicuramente eliminare una singola voce da un elenco di accesso con nome utilizzando il comando no allow o no deny . Questo è un buon motivo per preferire gli elenchi di accesso con nome rispetto agli elenchi di accesso numerati da un punto di vista pratico.
- Per rendere le singole voci o dichiarazioni in un elenco di accesso più leggibili e facili da capire a colpo d’occhio, è possibile scrivere un’osservazione utile prima o dopo qualsiasi istruzione utilizzando il comando commento .
- Quando si tenta di salvare le risorse del router, ricordare che un elenco di accesso in entrata filtra il traffico prima della ricerca nella tabella di routing. Un elenco di accesso in uscita applica le condizioni di filtro dopo la ricerca nella tabella di routing.
Cambia elenchi di accesso alle porte
Gli elenchi di accesso delle porte dello switch sono ACL configurati su interfacce fisiche su uno switch. Ecco alcuni fatti da non dimenticare sugli ACL delle porte:
- Gli ACL delle porte supportano solo il filtraggio del traffico in entrata.
- Gli ACL delle porte possono essere configurati come tre tipi: MAC standard, esteso ed esteso.
- Gli ACL delle porte controllano il traffico IP attraverso elenchi di accesso standard o estesi, mentre il traffico non IP viene filtrato tramite l’uso di elenchi di accesso MAC estesi.
Hai già familiarità con il modo in cui vengono creati gli elenchi di accesso standard ed estesi. Impareremo come creare elenchi di accesso MAC estesi in questa sezione. Puoi applicare entrambi i tipi di filtri, IP e non IP, a una singola interfaccia, ma puoi applicarne solo uno. Se provi ad applicare un ACL aggiuntivo di entrambi i tipi su un’interfaccia, il nuovo sovrascriverà quello che avevi prima.
Definiamo e verifichiamo un elenco di accesso MAC esteso:
SW1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
SW1(config)#mac access-list ?
extended Extended Access List
SW1(config)#mac access-list extended ?
WORD access-list name
SW1(config)#mac access-list extended MY_MAC_LIST
SW1(config-ext-macl)#permit ?
H.H.H 48-bit source MAC address
any any source MAC address
host A single source host
SW1(config-ext-macl)#permit host ?
H.H.H 48-bit source MAC address
SW1(config-ext-macl)#permit host 00cd.38ab.4d35 ?
H.H.H 48-bit destination MAC address
any any destination MAC address
host A single destination host
SW1(config-ext-macl)#permit host 00cd.38ab.4d35 any
SW1(config-ext-macl)#deny any any
SW1(config-ext-macl)#end
SW1#show access-list
Extended MAC access list MY_MAC_LIST
permit host 00cd.38ab.4d35 any
deny any any
SW1#
È ora il momento di applicare l’ACL MAC a un’interfaccia dello switch utilizzando il comando mac access-group :
SW1#configure terminal
SW1(config)#interface FastEthernet0/1
SW1(config-if)#mac access-group MY_MAC_LIST ?
in Apply to Ingress
SW1(config-if)#mac access-group MY_MAC_LIST in
SW1(config-if)#end
SW1#
Cerchiamo di capire cosa abbiamo appena fatto. Abbiamo creato un elenco di accesso MAC esteso che abbiamo chiamato MY_MAC_LIST, consentendo i frame in entrata provenienti solo da uno specifico indirizzo MAC 00cd.38ab.4d35. Questo scenario ha senso se si dispone di un desktop cablato alla porta dello switch e non si desidera che nessun altro dispositivo sia connesso alla stessa porta dall’utente.
Nell’ultimo esempio, abbiamo definito un elenco di accesso che ha preso la decisione di filtraggio in base agli indirizzi MAC. A volte è desiderabile prendere decisioni di autorizzazione o negazione in base al protocollo trasportato all’interno di frame Ethernet piuttosto che agli indirizzi MAC di origine e / o di destinazione.
W1(config-ext-macl)#permit any any ?
<0-65535> An arbitrary EtherType in decimal, hex, or octal
aarp EtherType: AppleTalk ARP
amber EtherType: DEC-Amber
appletalk EtherType: AppleTalk/EtherTalk
cos CoS value
dec-spanning EtherType: DEC-Spanning-Tree
decnet-iv EtherType: DECnet Phase IV
diagnostic EtherType: DEC-Diagnostic
dsm EtherType: DEC-DSM
etype-6000 EtherType: 0x6000
etype-8042 EtherType: 0x8042
lat EtherType: DEC-LAT
lavc-sca EtherType: DEC-LAVC-SCA
lsap LSAP value
mop-console EtherType: DEC-MOP Remote Console
mop-dump EtherType: DEC-MOP Dump
msdos EtherType: DEC-MSDOS
mumps EtherType: DEC-MUMPS
netbios EtherType: DEC-NETBIOS
vines-echo EtherType: VINES Echo
vines-ip EtherType: VINES IP
xns-idp EtherType: XNS IDP
<cr>
È possibile specificare un codice EtherType o un nome di protocollo se è disponibile una parola chiave corrispondente per il protocollo desiderato.