In questo documento, analizzeremo nel dettaglio il protocollo SNMP, fornendo una guida completa per chi si avvicina per la prima volta a questo argomento.
SNMP, acronimo di Simple Network Management Protocol, è un protocollo di rete standardizzato. La sua funzione principale è la raccolta e l’organizzazione delle informazioni relative ai dispositivi che compongono una rete. Utilizza la porta UDP 161 per le sue comunicazioni. Nato negli anni ’80, in un periodo di rapida espansione delle infrastrutture IT, SNMP si è affermato come il protocollo più diffuso nel monitoraggio delle reti.
Nelle prossime sezioni, esploreremo SNMP in dettaglio, scoprendone il funzionamento e le applicazioni. Procediamo quindi con l’analisi.
SNMP: definizione e utilità
L’acronimo SNMP sta per Simple Network Management Protocol, ovvero Protocollo Semplice di Gestione della Rete. Questo protocollo offre un meccanismo per interrogare un dispositivo riguardo alle sue prestazioni e alla sua configurazione, indipendentemente dal tipo di hardware o software in esecuzione. La sua applicazione principale è la gestione e il monitoraggio dei dispositivi connessi a una rete. In uno scenario in cui un’organizzazione gestisce migliaia di dispositivi, il controllo manuale di ciascuno di essi diventerebbe un’attività complessa e incline a errori umani. SNMP risolve questo problema, automatizzando il monitoraggio dello stato di tutti i dispositivi, senza necessità di intervento manuale.
SNMP è fondamentale per la gestione delle reti. Senza di esso, gli strumenti di gestione della rete non sarebbero in grado di identificare i dispositivi e di monitorare le loro prestazioni in modo efficace. Sarebbe inoltre difficoltoso tenere traccia delle modifiche in reti complesse, che comprendono dispositivi di diversi fornitori.
La prima versione di SNMP, sviluppata negli anni ’80, presenta lacune dal punto di vista della sicurezza, utilizzando credenziali predefinite non crittografate. Ciò espone le informazioni a rischi di intercettazione e rende possibile a dispositivi non autorizzati spacciarsi per gestori legittimi. Nonostante ciò, la versione 1 di SNMP è ancora in uso in molti dispositivi obsoleti.
SNMP versione 2 ha introdotto miglioramenti prestazionali, ma è stata poi superata dalla versione 3, attualmente il protocollo più aggiornato e sicuro. La versione 3 offre la crittografia dei dati e l’autenticazione sia per i gestori che per gli agenti, riducendo il rischio di accessi non autorizzati e garantendo la riservatezza dei dati. È quindi consigliabile utilizzare la versione 3 di SNMP, in particolare nelle reti pubbliche.
Un ultimo aspetto da sottolineare è che SNMP non è abilitato di default sui dispositivi per motivi di sicurezza. È necessario abilitare manualmente il monitoraggio SNMP per poter raccogliere informazioni dai dispositivi di rete.
Componenti essenziali di SNMP
- Gestore SNMP: È il sistema centrale che ha la responsabilità del monitoraggio dell’intera rete SNMP. Supervisiona tutti gli agenti SNMP presenti nella rete, inviando loro richieste periodiche per verificarne lo stato.
- Agente SNMP: È un processo che opera sui dispositivi e sulle risorse monitorate da SNMP. Mantiene informazioni cruciali come l’uso della banda, l’utilizzo della CPU, lo spazio su disco e risponde alle richieste del gestore SNMP fornendo i dati richiesti.
- Dispositivi e risorse gestiti da SNMP: Sono le entità di rete monitorate dal gestore SNMP. Gli agenti SNMP operano su questi dispositivi e elementi di rete, quali router, switch o stampanti.
- Management Information Base (MIB): È un file di testo, con estensione .mib, che definisce la struttura dei dati. Contiene tutti gli oggetti dati (variabili) utilizzati dai dispositivi monitorati, insieme ai relativi identificatori (OID). Inoltre, include definizioni per attributi quali diritti di accesso, nome e stato degli oggetti gestiti.
Principali comandi SNMP
Di seguito, sono elencati i comandi SNMP più utilizzati:
- Get Request: Questo comando viene utilizzato dal gestore SNMP per recuperare il valore di una o più variabili.
- Set Request: Questo comando permette al gestore SNMP di inviare un comando all’agente SNMP.
- GetNext Request: Questo comando viene utilizzato dal gestore SNMP per ottenere il valore del record successivo nell’albero MIB.
- GetBulk Request: Tramite questo comando, il gestore SNMP richiede all’agente una grande quantità di dati, eseguendo molteplici comandi GetNext.
- SNMP Trap: A differenza dei precedenti comandi, questo viene avviato dall’agente per comunicare al gestore SNMP un evento, come un guasto o un errore.
- SNMP Inform: Utilizzato per confermare la ricezione di un comando trap da parte del gestore SNMP.
- SNMP Response: Questo comando è la risposta dell’agente SNMP al gestore, fornendo le informazioni richieste.
La porta SNMP
La comunicazione tra il gestore e l’agente SNMP avviene tramite specifiche porte. In particolare, la porta 161 è utilizzata dal gestore per inviare comandi all’agente, mentre l’agente utilizza la porta 162 per inviare i trap SNMP in risposta ai comandi del gestore.
Funzionamento di SNMP
SNMP adotta un’architettura client-server. I server, chiamati gestori, sono responsabili della raccolta e dell’elaborazione delle informazioni dai dispositivi in rete. I client, chiamati agenti, sono i dispositivi o i componenti di rete da cui vengono raccolte le informazioni. I dati acquisiti dai gestori sono strutturati gerarchicamente in un albero, con rami chiamati Management Information Base (MIB).
I MIB definiscono i punti dati che gli agenti possono fornire. Questi gruppi di punti dati, noti come Object Identifiers (OID), sono raggruppati logicamente all’interno dei MIB. Esistono attualmente tre versioni di SNMP, ognuna con caratteristiche diverse, soprattutto per quanto riguarda la sicurezza.
Ad esempio, se si volesse monitorare un collegamento critico, un gestore SNMP potrebbe essere impostato per verificare lo stato di questo collegamento. Un agente SNMP, installato su un router, uno switch o un firewall, invierebbe al gestore le informazioni richieste. Il gestore invia query all’agente, e l’agente invia notifiche (trap) in base agli eventi che si verificano, come ad esempio la caduta o la riattivazione del collegamento.
Molti fornitori di software, come SolarWinds, offrono strumenti di monitoraggio che inviano notifiche via email in caso di eventi critici. Ad esempio, se un collegamento aziendale importante si interrompe, il gestore SNMP può essere configurato per inviare automaticamente un’email al team di rete. In questo modo, non è necessario che una persona controlli costantemente il collegamento, rendendo il monitoraggio di rete più efficiente.
Limiti di SNMP
Nonostante la sua utilità, SNMP presenta alcune limitazioni e debolezze:
- Le versioni 1 e 2 di SNMP sono vulnerabili a problemi di sicurezza, mentre la versione 3 offre una protezione più efficace.
- SNMP può monitorare solo i dispositivi su cui è abilitato.
- Non fornisce una visione dell’esperienza utente e si concentra esclusivamente sui parametri dei dispositivi.
In conclusione 👩💻
SNMP è un valido strumento per il monitoraggio delle reti. La versione 3 è la più sicura e garantisce un monitoraggio efficiente di tutti i dispositivi abilitati SNMP. Se si intende implementare un monitoraggio di rete, SNMP è un’ottima scelta.
Ti è stato utile questo articolo? Se lo ritieni interessante, condividilo!