Dhcp snooping: per una rete più sicura
Il Dynamic Host Configuration Protocol (DHCP) facilita la configurazione della rete: invece di configurare ogni client, ogni PC, ogni smartphone e ogni dispositivo abilitato alla rete individualmente, oggi viene utilizzato soprattutto il DHCP. I singoli partecipanti alla rete ricevono i rispettivi indirizzi IP, le subnet mask e altre informazioni tramite un server. Questo non solo semplifica il lavoro con reti di grandi dimensioni, ma minimizza anche le fonti di errore: poiché l'assegnazione degli indirizzi è dinamica, è impossibile che a due dispositivi venga assegnato lo stesso indirizzo IP. Riduce inoltre lo spazio di indirizzamento richiesto dato che, se un dispositivo si scollega dalla rete, l'indirizzo IP torna automaticamente fruibile per un nuovo utente di rete.
Questa semplificazione crea tuttavia anche una via d'accesso per i criminali. Quando si affida a qualcun altro il proprio lavoro, si rinuncia inevitabilmente anche al controllo e non ci accorgiamo più di cosa avviene dietro le quinte. Questo può accadere anche con il DHCP. Una soluzione c'è: il cosiddetto Dhcp snooping. Come funziona questa tecnologia di sicurezza?
Questa semplificazione crea tuttavia anche una via d'accesso per i criminali. Quando si affida a qualcun altro il proprio lavoro, si rinuncia inevitabilmente anche al controllo e non ci accorgiamo più di cosa avviene dietro le quinte. Questo può accadere anche con il DHCP. Una soluzione c'è: il cosiddetto Dhcp snooping. Come funziona questa tecnologia di sicurezza?
A cosa serve il Dhcp snooping?
Con il DHCP, un server si assicura che i singoli client ricevano la loro configurazione. A tale scopo, il client invia innanzitutto una richiesta alla rete tramite broadcast. Il partecipante alla rete vuole in questo modo determinare quali server DHCP sono disponibili e possono rispondere. Tutti i server DHCP disponibili rispondono a questa richiesta. Se alla rete sono collegati più server, il client seleziona quello che invia per primo la risposta. Con questo server DHCP il client esegue l'assegnazione degli indirizzi. Il punto debole del sistema sta proprio qui, la porta d'accesso per i criminali.
Qui infatti possono essere immessi nella rete ulteriori server (i cosiddetti Server rogue DHCP). Se la risposta di uno di questi server riesce a raggiungere il client per primo, il partecipante alla rete riceve le informazioni di configurazione del server dannoso. Il server rogue DHCP invierà quindi dati errati o manipolati e il client viene configurato in modo errato. In questo modo il client può essere indirizzato verso un gateway sbagliato, il cosiddetto DHCP spoofing. Tramite il gateway, i criminali possono registrare il trasferimento dei dati e ottenere informazioni sensibili, circostanza che può essere definita anche come attacco man in the middle. L'assegnazione errata degli indirizzi può invece causare un attacco denial of service. Questo tipo di attacco paralizza l'intera rete. Il Dhcp snooping impedisce il contatto con server dannosi.
Qui infatti possono essere immessi nella rete ulteriori server (i cosiddetti Server rogue DHCP). Se la risposta di uno di questi server riesce a raggiungere il client per primo, il partecipante alla rete riceve le informazioni di configurazione del server dannoso. Il server rogue DHCP invierà quindi dati errati o manipolati e il client viene configurato in modo errato. In questo modo il client può essere indirizzato verso un gateway sbagliato, il cosiddetto DHCP spoofing. Tramite il gateway, i criminali possono registrare il trasferimento dei dati e ottenere informazioni sensibili, circostanza che può essere definita anche come attacco man in the middle. L'assegnazione errata degli indirizzi può invece causare un attacco denial of service. Questo tipo di attacco paralizza l'intera rete. Il Dhcp snooping impedisce il contatto con server dannosi.
Nella maggior parte delle reti domestiche, siano esse LAN o WLAN, il router assume la funzione di server DHCP. Questo tuttavia non elimina i pericoli legati al DHCP spoofing, perché in linea di principio ogni dispositivo può diventare un server DHCP. I criminali possono, ad esempio, collegare un laptop alla WLAN per controllare l'assegnazione degli indirizzi.
Il Dhcp snooping non protegge comunque soltanto dalle azioni criminali, ma anche dalle fonti di errore create dall'uso sconsiderato di router aggiuntivi. L'installazione di un nuovo router in una rete esistente può scombinare il DHCP portando il nuovo router ad assegnare indirizzi che non dovrebbero essere assegnati. Questo può causare errori di connessione. Soprattutto in contesti aziendali possono sorgere problemi se i dipendenti collegano i propri dispositivi alla rete senza avvisare l'amministratore di rete.
Che cos'è il Dhcp snooping?
Il Dhcp snooping è una funzione di sicurezza del secondo livello del modello OSI. La funzione è integrata nello switch che collega i client con i server DHCP. In poche parole, si tratta di un protocollo che controlla innanzitutto tutte le informazioni DHCP che passano attraverso lo switch. Solo i pacchetti autorizzati da server affidabili raggiungono i client.
Cisco è stato il primo produttore a utilizzare il Dhcp snooping nei suoi dispositivi. L'azienda è stata inoltre coautrice di RFC 7513, nel quale viene spiegato il principio. Adesso il numero di produttori di periferiche di rete che offrono questa funzione di sicurezza (talvolta con denominazioni diverse) nei loro dispositivi è notevolmente aumentato.
In questo modo un server rogue DHCP può ancora ricevere un pacchetto DHCPDISCOVER (richiesta di un client per un server DHCP), perché ascolta il broadcast, e inviare un pacchetto DHCPOFFER (risposta alla richiesta), che tuttavia non raggiungerà nessun client. Il Dhcp snooping nello switch rileva che il pacchetto non proviene da un server affidabile o che contiene informazioni false, bloccando l'inoltro.
Porte affidabili
Per garantire che solo server corretti possano intervenire nell'assegnazione delle informazioni di configurazione, il Dhcp snooping svolge diversi passaggi. Per prima cosa definisce una porta sicura per i vostri server. Tutti i dispositivi che tentano di accedere alla rete tramite un'altra porta sono considerati insicuri. Questo include anche tutti i clienti. Ciò significa che un host che esegue un server DHCP che non è stato approvato dall'amministratore è considerato insicuro. Quindi se arriva un pacchetto DHCP, che può essere inviato da un solo server (DHCPOFFER, DHCPACK, DHCPMAK), attraverso una porta non attendibile, lo switch blocca l'inoltro e il client non riceverà l'informazione.
Dhcp Snooping Database Binding
Un aggressore può cercare anche di disturbare la rete fingendosi uno dei client esistenti e rifiutando le richieste del server DHCP in sua veste. Lo snooping DHCP utilizza quindi una banca dati, che viene creata e aggiornata dal sistema stesso. Il protocollo legge tutte le informazioni DHCP (ma non i dati effettivi dopo l'avvenuta connessione) ed estrae i dettagli per il database del Dhcp snooping.
Il sistema archivia nel database tutti gli host che sfruttano porte non attendibili. Le informazioni raccolte includono l'indirizzo MAC, l'indirizzo IP associato, la porta switch utilizzata, la sottorete (VLAN) e la durata del lease time. Questo permette al Dhcp snooping di garantire che solo i client originali, che hanno partecipato alla comunicazione, possano inviare comandi al server perché, solo in questi casi, l'indirizzo MAC e la porta switch del dispositivo corrispondono alle informazioni memorizzate nel database.
Il sistema archivia nel database tutti gli host che sfruttano porte non attendibili. Le informazioni raccolte includono l'indirizzo MAC, l'indirizzo IP associato, la porta switch utilizzata, la sottorete (VLAN) e la durata del lease time. Questo permette al Dhcp snooping di garantire che solo i client originali, che hanno partecipato alla comunicazione, possano inviare comandi al server perché, solo in questi casi, l'indirizzo MAC e la porta switch del dispositivo corrispondono alle informazioni memorizzate nel database.
Anche altre misure di sicurezza come ARP Inspection o IP Source Guard accedono al database del Dhcp snooping.
Log
Alcuni dispositivi di rete possono inoltre generare un rapporto sulla procedura di difesa nell'ambito del Dhcp snooping. I log possono essere inoltrati per la successiva analisi. La procedura registra due tipi di errori nella documentazione: da un lato la discrepanza tra l'indirizzo MAC corrente e le informazioni memorizzate nel database e, dall'altro, pacchetti del server inviati tramite una porta non attendibile.
Nella maggior parte dei casi, il primo tipo di messaggio di errore è causato da aspetti di rete mal implementati in un dispositivo client e in genere non rappresentano motivo di preoccupazione. Il secondo tipo di messaggio di errore, invece, indica intenti criminali, qualcuno ha cioè deliberatamente cercato di infiltrarsi nella rete con un server rogue DHCP. Dato che il Dhcp snooping registra tutto, è possibile indagare in modo mirato su questi casi.
Nella maggior parte dei casi, il primo tipo di messaggio di errore è causato da aspetti di rete mal implementati in un dispositivo client e in genere non rappresentano motivo di preoccupazione. Il secondo tipo di messaggio di errore, invece, indica intenti criminali, qualcuno ha cioè deliberatamente cercato di infiltrarsi nella rete con un server rogue DHCP. Dato che il Dhcp snooping registra tutto, è possibile indagare in modo mirato su questi casi.
I server DHCP possono infiltrarsi nella rete a vostra insaputa. Tuttavia, questi cosiddetti server DHCP falsi possono essere rilevati sotto forma di pacchetto DHCPDISCOVER. Il server maligno, rispondendo alla richiesta, si rivela.
Option 82
Una sicurezza ancora maggiore si ottiene abilitando l'option 82, nota anche come DHCP relay agent information, che prevede il coinvolgimento attivo dello switch nella comunicazione tra client e server. Questa procedura è utile se client e server non fanno parte della stessa sottorete. Quando il client invia una richiesta al server DHCP, lo switch aggiunge informazioni ulteriori all'header della richiesta. Grazie a queste informazioni, il server può risalire allo switch e quindi alla posizione del client.
Il server DHCP legge i dettagli aggiuntivi e assegna gli indirizzi IP in base alle informazioni sulla posizione. Il server invia il pacchetto di risposta al client tramite lo switch. Se nel momento in cui il pacchetto raggiunge lo switch le informazioni contenute sono rimaste invariate, questo riconosce che la comunicazione avviene effettivamente attraverso di esso. A questo punto il dispositivo cancella i dati dell'option 82 dall'header e inoltra la risposta.
Il server DHCP legge i dettagli aggiuntivi e assegna gli indirizzi IP in base alle informazioni sulla posizione. Il server invia il pacchetto di risposta al client tramite lo switch. Se nel momento in cui il pacchetto raggiunge lo switch le informazioni contenute sono rimaste invariate, questo riconosce che la comunicazione avviene effettivamente attraverso di esso. A questo punto il dispositivo cancella i dati dell'option 82 dall'header e inoltra la risposta.
Per utilizzare l'option 82, il Dhcp snooping deve essere abilitato globalmente. Anche il server deve essere in grado di gestire le informazioni aggiuntive. Altrimenti il server DHCP ignora semplicemente i dati dell'option 82 e tratta la richiesta del client come una normale richiesta DHCP.