cuprins introducere concepte fundamentale snmp mib (management information base)

18
Universitatea Politehnica Bucuresti Facultatea de Electronica,Telecomunicatii si Tehnologia Informatiei Retele de Calculatoare si Internet Protocolul SNMP Coordonator: Studenti: Prof.Dr.Ing. Stefan Stancescu Raluca Lavinia Ciocoiu Bucuresti 2014

Upload: nickan

Post on 25-Jan-2016

49 views

Category:

Documents


3 download

DESCRIPTION

Universitatea Politehnica Bucuresti Facultatea de Electronica,Telecomunicatii si Tehnologia Informatiei Retele de Calculatoare si Internet Protocolul SNMP Coordonator:Studenti: Prof.Dr.Ing. Stefan StancescuRaluca Lavinia Ciocoiu Bucuresti 2014. Cuprins Introducere - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Cuprins Introducere Concepte fundamentale SNMP  MIB (Management Information Base)

Universitatea Politehnica BucurestiFacultatea de Electronica,Telecomunicatii si Tehnologia Informatiei

Retele de Calculatoare si InternetProtocolul SNMP

Coordonator: Studenti:Prof.Dr.Ing. Stefan Stancescu Raluca Lavinia Ciocoiu

Bucuresti2014

Page 2: Cuprins Introducere Concepte fundamentale SNMP  MIB (Management Information Base)

Cuprins

Introducere

Concepte fundamentale SNMP

MIB (Management Information Base)

Modele si nivele de securitate pentru SNMP v1, v2, v3

Comenzi de baza in SNMP

Concluzii

Referinte

Page 3: Cuprins Introducere Concepte fundamentale SNMP  MIB (Management Information Base)

Introducere

• SNMP (Simple Network Management Protocol) este un set de reguli care permite unui calculator sa ia statistici de pe un alt calculator folosind Internetul.

• Calculatoarele tin numeroase statistici prin care isi “masoara” activitatea. Fiecare dintre aceste tipuri de informatii (bytes, pachete, erori, accesari de pagina) este pastrat intr-o baza de date descrisa de MIB (Management Information Base).

• Valorile care pot fi extrase din MIB poarta denumirea de variabile MIB. Aceste variabile sunt definite în MIB pentru un dispozitiv (echipament). Fiecare variabila MIB este identificata printr-un OID (Object Identifier)

Page 4: Cuprins Introducere Concepte fundamentale SNMP  MIB (Management Information Base)

Concepte fundamentale SNMP (Simple Network Management Protocol)

SNMP se bazeaza pe modelul manager / agent care consta intr-un administrator, un agent, o baza de date de management al informatiilor gestionata de obiecte de protocol si de retea.

Administratorul SNMP este in general un calculator pe care ruleaza unul sau mai multe sisteme de monitorizare de retea. Principalele sale functii sunt:

• Interogarea agentilor SNMP• Primirea raspunsurilor de la agentii SNMP• Setarea de variabile la nivel de agent

Agentul SNMP este un program incarcat pe elementul de retea. Activarea agentului permite colectarea de informatii local si pune aceste informatii la dispoztita administratorului atunci cand acesta le cere. Acesti agenti pot fi standard (ex NET-SNMP) sau specifici unui vendor (ex. HP Insight Agent). Principalele functii ale agentului sunt:

• Colectarea de informatii de management local• Primeste si stocheaza informatii asa cum sunt cerute in MIB• Semnalizeaza orice eveniment administratorului• Actioneaza ca un proxy pentru nodurile care nu cunosc SNMP

Agentul SNMP ofera practic interfata dintre manager si dispozitivele fizice care urmeaza a fi gestionate, cum ar fi bridge-uri, hub-uri, routere sau servere de retea (orice element care necesita monitorizare si management).

Fsierele MIB contin informatiile pe care un administrator le-ar putea cere de la un agent. Agentii colecteaza aceste informatii local si le stocheaza; asadar, administratorii SNMP trebuie sa stie valorile standard si specific fiecarui operator in parte.

Page 5: Cuprins Introducere Concepte fundamentale SNMP  MIB (Management Information Base)
Page 6: Cuprins Introducere Concepte fundamentale SNMP  MIB (Management Information Base)

MIB (Management Information Base)

• MIB este o colectie de date ce cuprinde obiecte identificate prin OID (Object Identifier). Fiecare identificator este unic si evidentiaza caracteristici specifice ale unui dispozitiv. Cand se face o interogare a MIB, rezultatul poate fi diferit de fiecare data: se pot returna texte, numere, counteri etc

• Exista 2 tipuri de OID: scalar si tabular • OID sunt organizate ierahic in MIB. Acesta

poate fi reprezentat cu o structura arborescenta cu valori individuale pentru fiecare variabila.

• Un tip de OID este reprezentat de o insiruire de numere separate prin puncte. Spre exemplu, OID in RFC1213 pentru “sysDescr” este 1.3.6.1.2.1.1.1. ( a se vedea imaginea alaturata)

Page 7: Cuprins Introducere Concepte fundamentale SNMP  MIB (Management Information Base)

Modele si nivele de securitate pentru SNMP v1, v2, v3

Probleme de securitate in SNMP

• SNMPv1 si v2 prezinta riscul de packet sniffing, de “furt” al parolei (community string) din traficul din retea, deoarece nu folosesc codarea

• Toate versiunile de SNMP sunt supuse unor atacuri de tip “brute force” si “dictionary attacks” pentru ghicitul parolelor (community strings), stringurile si cheile de autentificare, stringurile si cheile de codare, deoarece nu implica un mecanism challenge-response handshake.

• Desi SNMP functioneaza peste TCP si alte protocoale, cel mai adesea este intalnit peste UDP, care nu este orientat pe conexiune, dar este vulnerabil la spoofing attacks. Astfel, toate versiunile presupun implementarea listelor de acces (liste care ar fi puse in aplicare pentru a restrictiona accesul SNMP), desi alte mecanisme de securitate specific SNMPv3 ar trebui sa impiedice un atac cu success.

Nivelele de securitate care exista intr-un model de securitate sunt urmatoarele:

- noAuthNoPriv – nivelul de securitate nu presupune autentifficare sau criptare- authNoPriv – nivelul de securitate presupune autentificare dar nu presupune criptare- authPriv – nivelul de securitate presupune si autentificare si criptare

Page 8: Cuprins Introducere Concepte fundamentale SNMP  MIB (Management Information Base)
Page 9: Cuprins Introducere Concepte fundamentale SNMP  MIB (Management Information Base)

Comenzi de baza in SNMP

Simplicitatea cu care se face schimbul de informatii a facut din SNMP un protocol cu arie larga de raspandire. Principalul motiv il constituie numarul restrans de comenzi:

GET: Operatia GET este trimisa de catre administrator catre un dispozitiv si are ca scop obtinerea uneia sau a mai multor informatii de la acesta

GET NEXT: Aceasta operatie este similara ca GET. Principala diferenta dintre cele 2 mesaje este ca GET NEXT are ca rezultat valoarea urmatorului OID din arborele MIB

GET BULK: Operatia GET BULK este folosita atunci cand se doreste obtinerea unui volum mare de date din MIB

SET: Aceasta operatie este folosita de administrator pentru a modifica sau a asigna o valoare unui dispozitiv

TRAPS: Spre deosebire de celelalte comenzi, care erau initiate de administrator, TRAPS sunt initiate de agent si reprezint un semnal transmis catre administrator ori de cate ori are loc un eveniment

INFORM: Comanda este similara cu TRAP; in plus, INFORM cuprinde confirmarea administratorului SNMP asupra receptionarii mesajului

RESPONSE: Operatia ofera raspunsul agentului catre administrator la GetRequest, SetRequest, GetNextRequest, GetBulkRequest si InformRequest

Page 10: Cuprins Introducere Concepte fundamentale SNMP  MIB (Management Information Base)

In continuare vor fi prezentate exemple de comenzi de UNIX specifice pachetului Net-SNMP agent, o varianta gratis de NT agent pentru UNIX si Windows

Comanda snmpget este rulata pe un host cu Unix. Principala functie a acestei comenzi este sa adune informatii de management folosind o cerere de tip get. Comanda contine 3 argumente:

• numele dispozitivului interogat  (cisco.ora.com)• stringul de tip read-only  public• OID-ul pe care dorim sa il aflam (.1.3.6.1.2.1.1.6.0)

Daca ne uitam in tabelul de pe slide-ul urmator, vedem ca 1.3.6.1.2.1.1 este grupul de sistem, iar la sfarsitul OID-ului sunt adaugate alte 2 numere: .0 si.6. .6 este defapt varibila din MIB pe care dorim sa o interogam; variabila cunoscuta de utilizator este sysLocation. In acest caz, vrem sa vedem ce system location este setat pe router-ul Cisco. Dupa cum se poate observa din raspuns (system.sysLocation.0 = ""), in acest moment nu este setat acest parametru. De asemenea, trebuie notat ca rezultatul comenzii snmpget in format binding (OID=value).

Page 11: Cuprins Introducere Concepte fundamentale SNMP  MIB (Management Information Base)
Page 12: Cuprins Introducere Concepte fundamentale SNMP  MIB (Management Information Base)

Operatia get-next permite folosirea unei secvente de comenzi pentru obtinerea unui grup de valori din MIB. Cu alte cuvinte, pentru fiecare obiect pe care dorim sa il obtinem, se genereaza separat o pereche de mesaje get-next si get-response. Comanda get-next parcurge un arbore in ordine lexicografica. Din moment ce OID este o secventa de integeri, este usor pentru un agent sa caute incepand de la radacina obiectului SMI in jos pana cand gaseste OID cautat. Cand NMS primeste de la agent un raspuns pentru comanda get-next, va genera o alta comanda similara; operatiunea se repeta pana cand agentul va returna o eroare, ceea ce inseamna ca s-a cautat in tot MIB si ca nu mai sunt obiecte de cautat

Pentru a intelege mai bine, sa consideram un exemplu in care MIB e prezentat pe slide-ul urmator. Pentru a ajunge la grupul system (OID 1.3.6.1.2.1.1) , incepem parcurgerea arborelui de la radacina Pentru fiecare nod din arbore, vizitam ramura cu cel mai mic numar de ordine. Astfel, cand suntem la radacina, incepem prin verificarea  ccitt. Acest nod nu are nici un alt nod sub el, asa ca vom trece la nodul iso. Cum iso are un nod fiu, vom trece la acesta – org. Procesul continua pana ajungem la nodul system. Cum fiecare ramura are noduri parinte (de exemplu ccitt(0) iso(1) join(2)), agentul nu are nici o problema in a strabate arborele pana la grupul system. Daca procesul ar trebui sa continue, se va trece mai departe la  system.1(system.sysLocation),  system.2 si la celelalte obiecte din grup. Apoi, ne vom duce la interfaces(2) si tot asa.

Page 13: Cuprins Introducere Concepte fundamentale SNMP  MIB (Management Information Base)
Page 14: Cuprins Introducere Concepte fundamentale SNMP  MIB (Management Information Base)

SNMPv2 defineste operatia get-bulk, care permite unei aplicatii de management sa primeasca o parte mare dintr-un tabel deodata. Operatia standard get poate astepta sa primeasca mai mult de un obiect MIB la o cerere, dar dimensiunea mesajului este limitata de capabilitatile agentului. Daca agentul nu poate returna toate cererile de raspuns, va returna un mesaj de eroare fara nici o informatie. Doua campuri trebuiesc completate cand se foloseste comanda get-bulk: nonrepeaters si max-repetitions. Nonrepeaters indica operatiei get-bulk primele N obiecte are pot fi obtinute printr-o simpla operatie get-next. Max-repetitions indica comenzii get-bulk sa mai foloseasca un numar de M operatii get-next pentru a obtine restul de obiecte.

Din moment ce get-bulk este o comanda SNMPv2, trebuie mentionata folosirea in snmpgetbulk a PDU pentru SNMPv2 folosind optiunea -v2c. Nonrepeaters si max-repetitions sunt setati prin secventa -B 1 3. A se observa ca rezultatul este compus din 7 variabile: una pentru sysDescr si cate 3 pentru  ifInOctets si ifOutOctets.

In exemplul considerat se doreste obtinerea a 3 valori: sysDescr, ifInOctets si  ifOutOctets. Numarul total de variabile pe care le-am cerut este dat de formula N + (M * R), unde N este numarul de nonrepeaters (de exemplu, numarul de scalar din cerere – in acest caz, deoarece sysDescr este singurul obiect scalar), M este max-repetitions (in acest caz a fost setat arbitrar la 3) si R este numarul de obiecte non-scalare (in aceste caz 2, deaorece ifInOctets and ifOutOctets nu sunt scalare).

Page 15: Cuprins Introducere Concepte fundamentale SNMP  MIB (Management Information Base)

Comanda set este folosita pentru schimbarea valorii unui obiect sau crearea unui nou rand in tabela. Obiectele din MIB care sunt de tipu read-write sau write-only pot fi modificate sau create folosind aceasta comanda

Sa consideram exemplul de mai jos, in care este mai intai interogata variabila sysLocation , careia apoi i se atribuie o valoare. Prima comanda este similara cu get si afiseaza valoarea curenta a variabilei sysLocation. Se poate observa ca aceasta nu este definita. Cea de a doua comanda, snmpset, are rolul de a furniza informatiile lipsa: nume,  read-write community string (private) si de a defini variabila sysLocation ca pe un string. "Atlanta, GA" este noua valoare

Page 16: Cuprins Introducere Concepte fundamentale SNMP  MIB (Management Information Base)

Un trap este modalitatea agentului de a informa NMS ca s-a intamplat ceva rau. Iata cateva situatii care pot fi raportate de trap-uri:

• O interfata de retea de pe un dispozitiv (agent) s-a inchis• O interfata de retea de pe un dispozitiv (agent) s-a deschis• Un apel catre un modem nu a putut stabili conectivitatea cu modemul• Un switch sau router s-au defectat

Cand NMS primeste un trap, trebuie sa stie sa il interpreteze, adica ce inseamna acel trap si sa interpreteze informatia pe care o contine. Un trap este definit in primul rand de numarul sau; exista 7 tipuri de trap-uri, de la 0 la 6, definite in tabelul de mai jos.

Page 17: Cuprins Introducere Concepte fundamentale SNMP  MIB (Management Information Base)

Concluzii

SNMP (Simple Network Managment Protocol)

- este un protocol standard folosit in Internet pentru a lucra cu dispozitive in retele IP- dispozitive care suporta SNMP sunt ruterele, swirchurile, serverele, calculatoare, imprimante, rackuri

de modemuri si multe altele- este folosit cel mai mult in sistemele de management al retelei pentru monitorizarea dispozitivelor

atasate la retea pentru indeplinirea conditiilor de functionare optima-- prezinta datele de management sub forma unor variabile in sistemele de management, care descriu

configuratia sistemului. Aceste variabile pot fi ulterior interogate, in unele cazuri chiar setate, de catre aplicatiile de management.

In cazurile de uz general al SNMP, unul sau mai multe calculatoare cu rol administrativ (numite manager) au rolul de a monitoriza sau de a gestiona un grup de host-uri sau dispozitive dintr-o retea de calculatoare. Fiecare sistem de management ruleaza un software (numit agent) care ofera informatii via SNMP manager-ului.

Protocolul SNMP nu stabileste ce informatii (variabile) ar trebui sa ofere un sistem de management; mai degraba putem spune ca foloseste un design flexibil, in care informatia disponibila este stocata intr-o baza de date numita MIB (Management Information Base). MIB descrie structura datelor de management ale unui dispozitiv folosind o structura arborescenta. Fiecare variabila care poate fi accesata sau setata via SNMP este identificata prin OID (Object identifier).

Page 18: Cuprins Introducere Concepte fundamentale SNMP  MIB (Management Information Base)

Bibliografie

[1] http://www.lyberty.com/encyc/articles/snmp.html

[2] http://www.manageengine.com/network-monitoring/what-is-snmp.html

[3] http://docstore.mik.ua/orelly/networking_2ndEd/snmp/ch02_06.htm#enettdg-CHP-2-TABLE-7.html

[4] http://en.wikipedia.org/wiki/Management_information_base

[5] http://en.wikipedia.org/wiki/Simple_Network_Management_Protocol

[6] http://blog.ipexpert.com/2012/06/11/snmp-theory-and-operation/

[7]http://www.cisco.com/en/US/docs/switches/datacenter/nexus5000/sw/configuration/guide/cli/sm_snmp.html