Sicurezza dei dispositivi

Site: Materiali Didattici
Course: (Classe 5a) - Sistemi e Reti
Book: Sicurezza dei dispositivi
Printed by: Guest user
Date: Friday, 17 May 2024, 7:50 AM

1. Cisco AutoSecure

Un'area di reti che richiede particolare attenzione per mantenere la sicurezza sono i dispositivi. Probabilmente hai già una password per il tuo computer, smartphone o tablet. E' sicura come dovrebbe essere? Stai utilizzando altri strumenti per migliorare la sicurezza dei tuoi dispositivi? Questo argomento spiega come farlo.

Le impostazioni di sicurezza vengono impostate sui valori predefiniti quando un nuovo sistema operativo viene installato su un dispositivo. Nella maggior parte dei casi, questo livello di sicurezza è inadeguato. Per i router Cisco, è possibile utilizzare la funzione Cisco AutoSecure per supportare la protezione del sistema, come illustrato nell'esempio.

Router# auto secure
                --- AutoSecure Configuration ---
*** AutoSecure configuration enhances the security of
the router but it will not make router absolutely secure
from all security attacks ***

Inoltre, vi sono alcune passaggi semplici da eseguire che si applicano a quasi tutti i sistemi operativi:

  • I nomi utente e le password devono essere modificati immediatamente.
  • L'accesso alle risorse di sistema deve limitarsi solo agli individui autorizzati all'utilizzo di tali risorse.
  • Tutti i servizi e le applicazioni non necessari devono essere disattivati e disinstallati quando possibile.

Spesso, i dispositivi forniti dal produttore sono rimasti per un certo tempo in magazzino e le patch più recenti non sono installate. Prima dell'implementazione, è importante aggiornare tutti i software e installare le patch di sicurezza.


2. Password

Per proteggere i dispositivi di rete, è essenziale utilizzare password complesse. Le linee guida standard da seguire sono le seguenti:

  • Utilizzare password con una lunghezza minima di 8 caratteri, preferibilmente con 10 o più caratteri. Una password più lunga è una password più efficace.
  • Rendere le password complesse. Includere una combinazione di lettere maiuscole e minuscole, numeri, simboli e spazi, se consentito.
  • Evitare le password basate su ripetizioni, parole comuni del dizionario, sequenze di numeri o lettere, nomi utente, nomi di parenti o animali domestici, informazioni biografiche, quali data di nascita, numeri ID, nomi di antenati o altre informazioni facilmente identificabili.
  • Utilizzare intenzionalmente ortografia errata di una password. Ad esempio, Smith = Smyth = 5mYth o Security = 5ecur1ty.
  • Modificare spesso le password. Se una password è inconsapevolmente compromessa, la finestra di opportunità per l'attore della minaccia di utilizzare la password è limitata.
  • Non scrivere le password e non lasciarle in luoghi ovvi, ad esempio sulla scrivania o sul monitor.

Nella tabella sono mostrati esempi di password complesse e vulnerabili.

Password vulnerabili

Password vulnerabilePerché è vulnerabile
segretoPassword costituita da un termine semplice
smithNome da nubile della madre
toyotaMarca di un'automobile
bob1967Nome e anno di compleanno dell'utente
Blueleaf23Parole e numeri semplici

Password complessa

Password complessaPerché è complessa
b67n42d39cCombina caratteri alfanumerici
12^h u4@1p7Combina caratteri alfanumerici, simboli e comprende anche uno spazio

Sui router Cisco, gli spazi iniziali delle password vengono ignorati, ma gli spazi dopo il primo carattere non lo sono. Pertanto, un metodo per creare una password complessa è utilizzare la barra spaziatrice e creare una frase composta da molte parole, nota come "passphrase". Una passphrase in genere è più facile da ricordare rispetto a una semplice password. È inoltre più lunga e più difficile da indovinare.

3. Sicurezza password aggiuntiva

Le password complesse sono tanto più utili quanto più sono segrete. Esistono diversi passaggi che possono essere eseguiti per garantire che le password rimangano segrete su un router e switch Cisco, inclusi questi:

  • Crittografare tutte le password in chiaro
  • Impostare di una lunghezza minima accettabile della password
  • Scoraggiare gli attacchi brute-force che indovinano la password
  • Disattivare l'accesso in modalità EXEC privilegiato inattivo dopo un periodo di tempo specificato.

Come mostrato nella configurazione di esempio nella figura, il comando di configurazione globale service password-encryption impedisce a persone non autorizzate di visualizzare le password in testo normale nel file di configurazione. Questo comando crittografa tutte le password in chiaro. Si noti nell'esempio, che la password "cisco" è stata crittografata come "03095A0F034F".

Per garantire che tutte le password configurate abbiano una lunghezza minima specificata, utilizzare il comando security passwords min-length length in modalità di configurazione globale. Nella figura, qualsiasi nuova password configurata dovrebbe avere una lunghezza minima di otto caratteri.

Gli autori delle minacce possono utilizzare un software di cracking delle password per condurre un attacco a forza bruta su un dispositivo di rete. Questo attacco tenta continuamente di indovinare le password valide fino a quando non trova quella giusta. Utilizzare il comando di configurazione globale login block-for # attempts # within # per scoraggiare questo tipo di attacco. Nella figura, ad esempio, il comando login block-for 120 attempts 3 within 60 bloccherà i tentativi di accesso a vty per 120 secondi se ci sono tre tentativi di accesso non riusciti entro 60 secondi.

Gli amministratori di rete possono distrarsi e lasciare accidentalmente aperta una sessione in modalità EXEC privilegiata su un terminale. Ciò potrebbe consentire a un attore di minaccia interno di modificare o cancellare la configurazione del dispositivo.

Per impostazione predefinita, i router Cisco disconnetteranno una sessione EXEC dopo 10 minuti di inattività. Tuttavia, è possibile ridurre questa impostazione utilizzando il comando di configurazione exec-timeout minutes seconds. Questo comando può essere applicato su console in linea, linee ausiliarie e vty. Nella figura, stiamo dicendo al dispositivo Cisco di disconnettere automaticamente un utente inattivo su una linea vty dopo che l'utente è rimasto inattivo per 5 minuti e 30 secondi.

R1(config)# service password-encryption 
R1(config)# security passwords min-length 8 
R1(config)# login block-for 120 attempts 3 within 60
R1(config)# line vty 0 4 
R1(config-line)# password cisco 
R1(config-line)# exec-timeout 5 30 
R1(config-line)# transport input ssh 
R1(config-line)# end 
R1# 
R1# show running-config | section line vty
line vty 0 4
 password 7 094F471A1A0A
 exec-timeout 5 30
 login
 transport input ssh
R1#

4. Abilitare SSH

Telnet semplifica l'accesso remoto al dispositivo, ma non è sicuro. I dati contenuti in un pacchetto Telnet vengono trasmessi senza crittografia. Per questo motivo, si consiglia fortemente di abilitare il protocollo SSH (Secure Shell) sui dispositivi per l'accesso remoto sicuro.

È possibile configurare un dispositivo Cisco per supportare SSH in sei fasi:

Passaggio 1. Configurare un nome host unico per il dispositivo. Un dispositivo deve avere un nome host univoco diverso da quello predefinito.

Passaggio 2. Configurare il nome dominio IP. Configurare il nome di dominio IP della rete utilizzando il comando in modalità di configurazione globale ip-domain name.

Passaggio 3. Generare una chiave per crittografare il traffico SSH. SSH crittografa il traffico tra origine e destinazione. Tuttavia, a tale scopo, è necessario generare una chiave di autenticazione univoca utilizzando il comando di configurazione globale crypto key generate rsa general-keys modulus bits. Il modulo bits determina le dimensioni della chiave e può essere configurato con un valore compreso tra 360 bit e 2048 bit. Maggiore è il valore del bit, più la password è sicura. Tuttavia, i valori di bit più grandi richiedono anche più tempo per crittografare e decrittografare le informazioni. La lunghezza minima consigliata del modulo è 1024 bit.

Passaggio 4. Verificare o creare una voce per il database locale. Creare una voce nome utente nel database locale utilizzando il comando di configurazione globale username. Nell'esempio, il parametro secret viene utilizzato in modo che la password venga crittografata utilizzando MD5.

Passaggio 5. Autenticare il database locale. Utilizzare il comando di configurazione login local della linea per autenticare la linea vty sul database locale.

Passaggio 6. Abilitare le sessioni vty SSH in entrata. Per impostazione predefinita, nessuna sessione di input è consentita sulle linee vty. È possibile specificare più protocolli di input tra cui Telnet e SSH utilizzando il comando transport input [ssh | telnet].

Come mostrato nell'esempio, il router R1 è configurato nel dominio span.com. Queste informazioni vengono utilizzate insieme al valore di bit specificato nel comando crypto key generate rsa general-keys modulus per creare una chiave di crittografia.

Successivamente, viene creata una voce di database locale per un utente denominato Bob. Infine, le linee vty sono configurate per l'autenticazione sul database locale e per accettare solo le sessioni SSH in arrivo.

Router# configure terminal
Router(config)# hostname R1
R1(config)# ip domain name span.com
R1(config)# crypto key generate rsa general-keys modulus 1024
The name for the keys will be: Rl.span.com % The key modulus size is 1024 bits
% Generating 1024 bit RSA keys, keys will be non-exportable...[OK]
Dec 13 16:19:12.079: %SSH-5-ENABLED: SSH 1.99 has been enabled
R1(config)#
R1(config)# username Bob secret cisco
R1(config)# line vty 0 4
R1(config-line)# login local
R1(config-line)# transport input ssh
R1(config-line)# exit
R1(config)#

5. Disabilitare i servizi non utilizzati

I router e gli switch Cisco iniziano con un elenco di servizi attivi che potrebbero o non possono essere richiesti nella rete. Disabilitare tutti i servizi non utilizzati per preservare le risorse di sistema, ad esempio i cicli della CPU e la RAM, e impedire agli attori delle minacce di sfruttare questi servizi. Il tipo di servizi che sono attivati per impostazione predefinita varierà a seconda della versione di IOS. Ad esempio, IOS-XE in genere avrà solo porte HTTPS e DHCP aperte. È possibile verificarlo con il comando show ip ports all, come mostrato nell'esempio.

Router# show ip ports all
Proto Local Address               Foreign Address             State       PID/Program Name
TCB       Local Address               Foreign Address             (state)
tcp   :::443                     :::*                        LISTEN      309/[IOS]HTTP CORE
tcp   *:443                      *:*                         LISTEN      309/[IOS]HTTP CORE
udp   *:67                        0.0.0.0:0                               387/[IOS]DHCPD Receive
Router#

Le versioni IOS precedenti a IOS-XE utilizzano il comando show control-plane host open-ports. Noi menzioniamo questo comando perché si può vedere su dispositivi meno recenti. L'output è simile. Tuttavia, si noti che questo router precedente ha un server HTTP non sicuro e Telnet in esecuzione. Entrambi questi servizi dovrebbero essere disabilitati. Come mostrato nell'esempio, disabilitare HTTP con il comando di configurazione globale no ip http server. Disabilitare Telnet specificando solo SSH nel comando di configurazione della linea, transport input ssh.

Router# show control-plane host open-ports 
Active internet connections (servers and established)
Prot        Local Address      Foreign Address                  Service    State
 tcp                 *:23                  *:0                   Telnet   LISTEN
 tcp                 *:80                  *:0                HTTP CORE   LISTEN
 udp                 *:67                  *:0            DHCPD Receive   LISTEN
Router# configure terminal
Router(config)# no ip http server
Router(config)# line vty 0 15
Router(config-line)# transport input ssh