In questo tutorial si proverà a fornire una breve spiegazione
Il Simple Network Management Protocol (SNMP) è un protocollo a livello applicazione definito dall'IAB (Internet Architecture Board) nell'RFC1157 per lo scambio di informazioni di gestione tra dispositivi di rete. Il protocollo fa parte della suite di protocolli TCP⁄IP (Transmission Control Protocol⁄Internet Protocol).
SNMP è uno dei protocolli ampiamente accettati per la gestione e il monitoraggio degli elementi di rete. La maggior parte degli elementi di rete di tipo professionale sono accompagnati da un agente SNMP. Questi agenti devono essere attivati e configurati per comunicare con il sistema di gestione della rete (NMS).
Un manager o sistema di gestione è un'entità separata che funge da responsabile della comunicazione con i dispositivi di rete dotati di agente SNMP. Generalmente si tratta di un computer utilizzato per eseguire uno o più sistemi di gestione della rete.
Un dispositivo gestito o un elemento di rete è una parte della rete che richiede una qualche forma di monitoraggio e gestione, lo sono ad esempio router, switch, server, workstation, stampanti, UPS e così via.
L'agente è un programma incorporato nell'elemento di rete. Abilitando l'agente, si consente al programma di popolare il database MIB (Management Information Base) con le informazioni provenienti dai dispositivi in locale e lo si rende disponibili all'SNMP Manager, quando interrogato. Gli agenti possono essere standard (ad esempio Net-SNMP) o specifici di un vendor (ad esempio HP Insight Agent)
Ogni agente SNMP conserva un database di informazioni che descrivono i parametri del dispositivo gestito. L'SNMP Manager utilizza questo database per richiedere all'agente informazioni specifiche e per tradurre successivamente le informazioni come richiesto dal sistema di gestione della rete (NMS, Network Management System). Questo database condiviso comune che si trova tra l'agente e il manager è chiamato MIB (Management Information Base).
Di solito il MIB contiene un set standard di valori statistici e di controllo definiti per i nodi hardware di una rete. SNMP consente anche di estendere questi valori standard con valori specifici di un particolare agente tramite l'uso di MIB privati.
In breve, i file MIB sono set di domande che un SNMP Manager può chiedere all'agente. L'agente raccoglie questi dati localmente e li archivia, secondo le modalità definite nel MIB. In questo modo, l'SNMP Manager potrà conoscere le risposte a queste domande standard e private per ogni tipo di agente.
La suite di strumenti gratuiti di ManageEngine include un SNMP MIB Browser che aiuta a caricare/scaricare i MIB e a recuperare i dati dei MIB degli agenti SNMP (v1, v2c, v3). SNMP MIB Browser è uno strumento completo per il monitoraggio dei dispositivi e dei server SNMP. È possibile caricare e visualizzare moduli MIB multipli ed eseguire le operazioni SNMP GET, GETNEXT e SET. Lo strumento è semplice da usare e consente di visualizzare, configurare e analizzare i trap SNMP. È inoltre possibile eseguire operazioni SNMP da dispositivi Windows e Linux.
Il MIB (Management Information Base) è una raccolta di informazioni per la gestione degli elementi di rete. I MIB sono costituiti da oggetti gestiti identificati per nome grazie all'identificatore dell'oggetto, definito Object ID o OID.
Ogni identificatore è univoco e denota caratteristiche specifiche di un dispositivo gestito. Quando richiesto, il valore restituito di ogni identificatore può essere diverso (ovvero un testo, numero, contatore, ecc.).
Esistono due tipi di Managed Object o Object ID: Scalare e Tabulare. Per comprendere meglio la differenza è possibile ricorrere a un esempio
Scalare: nome del vendor del dispositivo, il risultato può essere uno solo (la definizione è: "un oggetto Scalare definisce l'istanza di un singolo oggetto").
Tabulare: utilizzo della CPU in un processore quad, viene fornito un risultato separato per ogni CPU, ovvero 4 risultati per quel particolare Object ID (la definizione è: "un oggetto Tabulare definisce l'istanza di oggetti correlati multipli raggruppati insieme in tabelle del MIB")
Ciascun Object ID è organizzato gerarchicamente in MIB. La gerarchia di MIB può essere rappresentata con una struttura ad albero con un identificatore variabile individuale.
Un tipico Object ID è composto da un elenco di numeri interi separati da un punto. Ad esempio, l'OID di "sysDescr", così come stabilito nell'RFC1213, è .1.3.6.1.2.1.1.1
La semplicità nello scambio delle informazioni ha fatto sì che SNMP sia diventato un protocollo ampiamente adottato. Il motivo principale è il set di comandi conciso, tutti elencati di seguito:
Essendo parte della suite di protocolli TCP⁄ IP, i messaggi SNMP vengono racchiusi in datagrammi UDP (User Datagram Protocol) e successivamente inglobati e trasmessi tramite il protocollo IP (Internet Protocol). Nel diagramma seguente è illustrato il modello a quattro livelli sviluppato dal Dipartimento della Difesa (DoD).
Fin dalla sia introduzione, l'SNMP ha subito aggiornamenti significativi. Tuttavia, le versioni più implementate del protocollo SNMP sono la v1 e la v2c. Recentemente è iniziato il supporto a SNMP v3, più sicuro rispetto alle versioni precedenti ma non ancora diffuso in maniera considerevole.
la prima versione del protocollo SNMP, definita negli RFC 1155 e 1157
rivisitazione del protocollo, che include miglioramenti di SNMPv1 nelle aree dei tipi di pacchetti del protocollo, mapping del trasporto, elementi della struttura del MIB, ma dotato della stessa struttura di amministrazione della versione SNMPv1 esistente ("basata su community" e per questo SNMPv2c). È definito in RFC 1901, RFC 1905, RFC 1906, RFC 2578.
SNMPv3 definisce la versione sicura di SNMP. Il protocollo SNMPv3 inoltre facilita la configurazione remota delle entità SNMP. È definito da RFC 1905, RFC 1906, RFC 3411, RFC 3412, RFC 3414, RFC 3415.
Sebbene ogni versione presenti miglioramenti dal punto di vista della ricchezza di funzionalità, in ogni upgrade viene data maggiore enfasi all'aspetto della sicurezza. Segue un breve riassunto dell'aspetto sicurezza in ogni versione.
SNMP v1 | Sicurezza basata su community |
SNMP v2c | Sicurezza basata su community |
SNMP v2u | Sicurezza basata sugli utenti |
SNMP v2 | Sicurezza basata sulla parte |
SNMP v3 | Sicurezza basata sugli utenti |