venerdì, Aprile 19, 2024

Sicurezza sui Cisco: Password e Privileged Levels

Federico Lagni
Federico Lagnihttps://www.areanetworking.it
Appassionato di innovazione in tutte le sue forme, è fondatore e CEO di AreaNetworking.it, uno dei maggiori punti di riferimento online del settore ICT. E' anche fondatore ed Event Director di alcune importanti conferenze, come Crypto Coinference, la più importante conferenza dedicata alle criptovalute e la blockchain, e il GDPR Day, una conferenza molto verticale dedicata appunto al GDPR ed alla Data Protection. Inoltre, è fondatore e Presidente di Tesla Club Italy, il primo club Tesla italiano e tra i primissimi al mondo. Al tempo stesso, è anche fondatore e CEO di Enerev, la prima azienda italiana specializzata nel noleggio a breve termine di auto Tesla, nonché società di formazione e di riferimento per diverse soluzioni dedicate alla mobilità elettrica. Partecipa ad eventi e conferenze come speaker e formatore.

Per aumentare il livello di sicurezza del nostro router è possibile ovviamente fare uso di password ma anche dei così detti Privileged Levels.

Le password

Per quanto riguarda le password ne esistono di due tipi: la Enable Password e le Line Password. La Enable Password è la password necessaria per passare allo stato di Privileged Mode mentre le Line Password proteggono da accessi esterni quali porta console, porta auxiliary e dal servizio telnet.

La Enable Password

Possiamo impostare la Enable Password in due modi: uno sicuro e uno no. Ma è giusto affrontarli entrambi:

router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
router(config)#enable password prova
router(config)#

Questo è il metodo insicuro poichè la password sarà ben visibile nella configurazione del router. Infatti:

router#sh run
..
..
enable password prova
!
..
..

Per ovviare a questo, abbiamo la possibilità di inserire la password e far sì che venga crittografata tramite il comando enable secret:

router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
router(config)#enable secret prova2
router(config)#

Ecco che la password nella configurazione non sarà più visibile in chiaro ma bensì esclusivamente crittografata:

router#sh run
..
..
!
enable secret 5 $1$AWfn$JnM/50S9kiJoDEcUuFd4/.
..
..

Le Line Password

Le Line Password, come detto precedentemente, proteggono il router dagli accessi esterni quali porta console, porta auxiliary (aux) e telnet.
Guardiamo sul router quali interfacce possiamo configurare con il comando line ?:

router(config)#line ?
 <0-70>  First Line number
 aux  Auxiliary line
 console  Primary terminal line
 tty  Terminal controller
 vty  Virtual terminal
 x/y  Slot/Port for Modems
router(config)#

Possiamo anche guardare quante interfacce abbiamo di un certo tipo. Esempio:

router(config)#line tty ?
  <1-64> First Line number
router(config)#

oppure, altro esempio:

router(config)#line aux ?
  <0-0> First Line number
router(config)#

Attenzione: in questo caso con <0-0> non significa che non abbiamo nessuna porta Aux. 0-0 è solamente il range dal quale deduciamo che abbiamo una porta Aux. Anche perchè, altrimenti, non ci sarebbe risultato aux Auxiliary line con il comando line ?.

Il procedimento per assegnare una password a questi tre differenti tipi di porte (o meglio di accesso) è lo stesso:

router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
router(config)#line aux ?
  <0-0> First Line number
router(config)#line aux 0
router(config-line)#login
% Login disabled on line 65, until 'password' is set
router(config-line)#password prova3
router(config-line)#end
router#

E così via per le altre:

router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
router(config)#line con ?
<0-0> First Line number
router(config)#line con 0
router(config-line)#login
router(config-line)#password prova4
router(config-line)#end
router#

Per la porta console, mentre per la tty:

router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
router(config)#line vty ?
  <0-181> First Line number
router(config)#line vty 1
router(config-line)#password prova5
router(config-line)#end
router#

Tutte queste password saranno visibili con un sh run:

router#sh run
..
..
!
line con 0
 password prova4
 login
line aux 0
 password prova3
 login
line vty 0
 password cisco
 login
line vty 1
 password prova5
 login
line vty 2 4
 password cisco
 login
!
!
end

A questo punto ci si chiede: ok, per la Enable Password ho a disposizione enable secret per crittografare la password. E per le Line Password? In realtà non c’è un servizio dedicato per quest’ultima ma un servizio che crittografa tutte le password del router: password-encryption! Attiviamolo:

router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
router(config)#service password-encryption
router(config)#end
router#

Bene, abbiamo attivato il servizio. Ricontrolliamo lo sh run e vedremo che service password-encryption è attivo e che naturalmente le password inserite in precedenza saranno tutte crittografate:

router#sh run
..
..
service password-encryption
!
..
..
!
line con 0
 password 7 15021903122B7F
 login
line aux 0
 password 7 03144904100E72
 login
line vty 0
 password 7 121A0C041104
 login
line vty 1
 password 7 140700041A057F
 login
line vty 2 4
 password 7 045802150C2E
 login
!
!
end

I privilege Level

I privilege Level sono appunto vari livelli, per la precisione sedici (da 0 a 15), che consentono l’esecuzione o meno di determinati comandi. Di default i livelli usati nei router Cisco sono tre:

  • Livello 0: usato molto raramente. Permette di usare i comandi enable, disable, exit, help, e logout.
  • Livello 1: modalità non privilegiata, ovvero EXEC Mode. E’ il livello di defaul al login; il prompt è router>.
  • Livello 15: modalità privilegiata (Privileged EXEC Mode). E’ il livello che ci si ritrova dopo aver inserito la password di enable. Il prompt è router#.

Oltre a questi tre livelli di default, abbiamo la possibilità di usare tutti gli altri (dal 2 al 14) specificando quali comandi rendere disponibili per ogni preciso livello!
Per prima cosa, bisogna assegnare una password al livello che si intende abilitare:

router(config)#enable password level 10 prova
% Converting to a secret. Please use "enable secret" in the future.
router(config)#

(Da notare la possibilità di criptare anche questo tipo di password con enable secret). Dopo di che specifichiamo i comandi che intendiamo rendere disponibili:

router(config)#privilege exec level 10 comando_1
router(config)#privilege exec level 10 comando_2
router(config)#privilege exec level 10 comando_3
(ecc ecc)

Salviamo poi la configurazione:

router#copy running-config startup-config
Destination filename [startup-config]?
Building configuration...
[OK]
router#

Bene, per usare quel livello, usiamo il comando enable numero_livello. Così:

router>enable 10
Password:
router#

Possiamo verificare che stiamo usando questo livello con show privilege:

router#show privilege
Current privilege level is 10
router#

Facciamo un esempio pratico: dobbiamo abilitare il debug di cdp ip. Per far notare la differenza e l’effettivo cambiamento:

router#debug ?
..
..
  cca          CCA activity
  cdapi          CDAPI information
  cdp          CDP information
  chat          Chat scripts activity
  cls          CLS Information
..
..
router#debug cdp ?
  adjacency   CDP neighbor info
  events    CDP events
  ip     CDP ip info
  packets    CDP packet-related information
router#

Bene, questi sono i comandi disponibili. Impostiamo ora un Privilege Level rendendo disponibile solo il debug cdp ip:

router(config)#enable password level 3 password
% Converting to a secret. Please use "enable secret" in the future.
router(config)#
router(config)#privilege exec level 3 debug cdp ip

Bene, logghiamoci ora in questo Privilege Level e verifichiamo di aver a disposizione solo il comando debug cdp ip:

router#debug ?
  cdp   CDP information
  conn   Connection Manager information
router#debug cdp ?
  ip  CDP ip info
router#

Bene. Ricordo che si può uscire da un livello con il comando disable numero_livello.

Articoli correlati

Non perdere il lancio online della Community GDPR Day: 26 marzo 2024

La sicurezza dei dati e delle informazioni non è più un'opzione, ma una necessità imprescindibile. Lo dimostrano i tanti attacchi informatici che, con frequenza...

Digital Transformation


 

Noleggia una Tesla per il tuo evento ICT!

Categorie