Questo articolo si concentra sulla sicurezza delle VLAN e su come applicarla in un ambiente aziendale.
Anche se ci concentriamo su switch Cisco, molti concetti possono essere applicati anche per altri vendor.
Il primo livello di sicurezza e spesso il più trascurato, è la sicurezza fisica degli apparati. Se non si desidera essere esposti a manomissioni, tali apparati vanno collocati in un ambiente sicuro e controllato, inoltre è bene scollegare i cavi console dal retro degli switch, questi forniscono accesso diretto ad un malintenzionato che potrebbe resettarne le credenziali e la configurazione.
Protezione degli accessi CONSOLE e VTY
La configurazione di credenziali complesse e l’impostazione di un timeout, aiutano a proteggersi da attacchi di tipo brute-force.
Switch# configure terminal
Switch(config)# username admin privilege 15 secret *Pa$$word*
Switch(config)# line console 0
Switch(config-line)# login local
Switch(config-line)# password Pa$$word
Switch(config-line)# exec-timeout 60 0
Applichiamo la stessa configurazione anche alla VTY (telnet/ssh) e creiamo una access-list per limitare l’accesso solo da alcuni host o subnet.
Switch (config)# line vty 0 15
Switch (config-line)# password Pa$$word
Switch (config-line)# login local
Switch (config-line)# exec-timeout 60 0
Switch (config-line)# transport preferred ssh
Switch (config-line)# access-class 115 in
Switch (config)# access-list 115 remark Limitazioni di accesso
Switch (config)# access-list 115 permit ip host 5.5.5.5 any
Switch (config)# access-list 115 permit ip 192.168.1.0 0.0.0.255 any
Evitare l’utilizzo della VLAN1 (Default VLAN) per il traffico dati e pruning delle VLAN.
La vlan di default è presente in tutti gli apparati di rete, essa oltre ad essere untagged è destinata allo scambio di informazioni attraverso protocolli come CDP o VTP. Utilizzare la VLAN1 per il traffico dati può mettere a rischio l’intera rete.
Un’altra buona tecnica che un amministratore di rete deve considerare è il Pruning(potatura), questa consiste nel consentire per ogni link, soltanto le VLAN strettamente necessarie.
Switch(config)# interface fastethernet0/24
Switch(config-if)# switchport trunk allowed vlan remove 1,2,3,4,5
Switch(config-if)# switchport access vlan 6
Disabilitare i protocolli rischiosi da tutte le porte che non ne necessitano.
Determinati protocolli di scambio informazioni come CDP e UDLD, se non necessari possono creare delle falle di sicurezza.
Switch(config)# interface fastethernet0/24
Switch(config-if)# no cdp enable
Switch(config-if)# no udld port
VTP domain
Il VTP è un potente strumento che consente di distribuire le informazioni relative alle VLAN tra i vari switch della rete. Questo utile protocollo, se mal configurato, può diventare una rischiosa falla per la sicurezza. Gli ammministratori IT devono configurare i giusti ruoli negli switch ed impostare una password per il dominio VTP.
CoreSwitch(config)# vtp domain VTPdomain
CoreSwitch(config)# vtp password Pa$$word secret
CoreSwitch(config)# vtp mode server
CoreSwitch(config)# vtp version 2
CoreSwitch(config)# vtp pruning
EdgeSwitch(config)# vtp domain VTPdomain
EdgeSwitch(config)# vtp password Pa$$word secret
EdgeSwitch(config)# vtp mode client
EdgeSwitch(config)# vtp version 2
EdgeSwitch(config)# vtp pruning
Limitare l’inter-VLAN Routing tramite Access List
Generalmente il routing tra vlan deve essere consentito, per garantire una maggiore sicurezza possiamo comunque limitarlo attravarso l’utilizzo di access-list.
In questo esempio consentiamo alla vlan6(192.168.141/24) di accedere ad internet ed al solo DNS server(192.168.130.5) della nostra vlan dati.
CoreSwitch(config)# access-list 100 remark consenti DNS
CoreSwitch(config)# access-list 100 permit udp 192.168.141.0 0.0.0.255 host 192.168.130.5 eq 53
CoreSwitch(config)# access-list 100 deny ip 192.168.141.0 0.0.0.255 192.168.130.0 0.0.0.255 log
CoreSwitch(config)# access-list 100 permit ip 192.168.141.0 0.0.0.255 any
CoreSwitch(config)# interface vlan 6
CoreSwitch (config-if)# ip access-group 100 in