Snmp

From ICO wiki
Jump to navigationJump to search

Autor: Deniss Krajuhhin, AK21

Antud artikkel annab üldist kirjeldust SNMP protokollile ning näitlikult seletab selle paigaldamist Ubuntu Server keskkonnas. Toodud näited põhinevad Ubuntu Server versioonil 12.04.3.


Mis on SNMP?

Simple Network Management Protocol (SNMP) on interneti protokollistikku kuuluv rakenduskihi protokoll võrguseadmete jälgimiseks ja haldamiseks. Protokoll ja selle erinevad versioonid on kirjeldatud Internet Engineering Task Force (IETF) poolt kommentaarikutsete (ingl RFC – Request for Comment) kogumikus (Oracle).

SNMP vahendusel on võimalik saada erinevat võrguseadme(te) kohta käivat infot nagu võrguliidese, protsessori ning mälu kasutamine ja olekud; süsteemi, marsruutimistabelite, teenuste kasutamise ja konfiguratsiooni statistikat ning väga palju muud (Solarwinds). Sõltuvalt jälgitavate andmete saamise tihedusest (konfigureeritav) vastavate rakenduste vahendusel on võimalik jälgida seadmete ja ühenduste olekuid ning statistikat peagu reaalajas. Lisaks võrguseadmete jälgimisele SNMP vahendusel on võimalik ka lähtestada seadmete konfiguratsiooni parameetreid (sõltub konkreetse riistavara/tarkvara võimalustest) (Solarwinds).

SNMP-t toetavad peagu kõik võrguseadmed (versioonide tugi võib erineda).

SNMP ajakohaseks info edastamiseks transpordikihi protokollina kasutatakse UDP-t (Solarwinds).

SNMP versioonid

Kinnitatud on kolm SNMP versiooni:

• SNMPv1

• SNMPv2 (jaguneb omakorda alamversioonideks)

• SNMPv3

SNMPv1 oli esialgu määratletud 1988.a. ning kirjeldatud IETF kommentaarikutses 1990.a. SNMPv2 tutvustati 1993.a., milles eemaldati SNMPv1 puudusi protokollide töös ning tõstes selle turvalisust. Kuid turvalisuse tõstmisega esile tulnud puudused viisid SNMPv2c versiooni arendamiseni, milles jäeti uue turvamudeli võimalused. (Oracle) SNMPv3, mis tutvustati 1999.a., määratleb SNMP haldusraamistiku, mis toetab liidetavaid komponente, nende hulgas ka turvakomponente (Oracle).

SNMP süsteemi ülesehitus

"Üldiselt võib öelda, et SNMP süsteem koosneb kolmest osast – SNMP haldur (ingl manager), SNMP agent ja haldusinfo andmebaas (ingl MIB – Management Information Base)(Solarwinds):

• SNMP haldur on tarkvarasüsteem, mis kasutab SNMP-t sõnumite vahendamiseks halduri ja selle agendi vahel. Seda nimetatakse ka võrgu haldussüsteemiks (ingl NMS – Netowrk Management System)

• SNMP agent on tarkvara, mis on hallatavate seadmetesse paigaldatud. Agent võimaldab hallataval seadmel salvestada enda kohta andmeid ja vahetada neid halduriga

• SNMP MIB on interpreteerija, mis võimaldab struktureeritud andmete vahetust halduri ja agendi vahel" (Solarwinds)

SNMP ohud

SNMPv1 ja SNMPv2 enimlevinud alamversioon SNMPv2c ei ole turvalised (teised SNMPv2 versioonid ei ole piisavalt turvalised) (SANS Institute). Nende versioonide haldurite ja agentide andmevahetuseks moodustatakse nn kogukond (ingl community). Kogukonda kuulumise tõestuseks kasutatakse salasõnu, mida SNMP-s nimetatakse kogukonna string-iks (eestikeelset vastet ei ole veel välja kujunenud). Neid string-e SNMPv1 ja SNMPv2c versioonides vahendatakse SNMP sõnumites avatekstina, mille tõttu nende käte saamine paketinuhkimistarkvara abil peetakse lihtsaks ja seega, need ei ole turvalised.

SNMPv3 adresseerib eelnevate versioonide turvalisuse nõrkusi tuues sisse selliseid omadusi nagu kasutajad, autentimine ja krüpteerimine. SNMPv3-ga on võimaliku luua nii palju kasutajaid kui vaja ning lubada neid ainult teatud MIB andmetele. Kasutajaid autenditakse enne andmete vahendamise alustamist ning kogu andmevahetuse terviklikkus on tagatud MD5 või SHA krüptoräsiga (SANS Institute).

SNMP paigaldamine

SNMP seadistamiseks Linux-laadses süsteemis on vaja paigaldada kahte tarkvarapaki - net-snmp ja snmp daemon (taustal töötav programm). Pakkide nimed on vastavalt snmp ja snmpd (Jinkernet).

Pakkide paigaldamine:

 sudo apt-get install snmp snmpd 

Enne edasiste muudatuste tegemist tuleks varundada deemoni paigaldamise käigus loodud konfiguratsiooni fail snmpd.conf ja luua uus snmpd.conf fail (juhuks kui muudatuste käigus midagi läheb katki) (Jinkernet):

 sudo cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.vana 

Edasi tuleb muuta snmp.conf fail.

SNMP kaudu andmete pärimiseks turvalise kohtvõrgu piires piisab sellest, kui lubatakse kogu kogukonnale andmete lugemist. Selleks kõige pealt tuleks tekstiredaktoriga (näiteks nano) teha lahti snmpd.conf fail (It-Salv.net):

 sudo nano /etc/snmp/snmpd.conf 

Ja lisada sellesse järgmised read (või vähemalt esimene rida):

rocommunity public
syslocation “Siia tuleb kirjeldus”
syscontact meiliaadress@domeen.midagi 

Teadlikumale administraatorile on soovitav teostada snmpd.conf faili põhjalikum seadistamine vastavalt vajadustele (Jinkernet):

 sudo snmpconf -g basic_setup 

Seejärel tuleb snmpd -le lähtestada uue faili kasutamine ning käivitada teenus kõikidel portidel (It-Salv.net).

Selleks tuleks tekstiredaktoriga muuta faili /etc/default/snmpd:

 sudo nano /etc/default/snmpd 

Ja pannes ette trellid kommenteerida välja järgmine rida:

 #SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -g snmp -I -smux -p /var/run/snmpd.pid' 

Ning selle asemel lisada:

 SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -g snmp -I -smux -p /var/run/snmpd.pid -c /etc/snmp/snmpd.conf' 

Peale muudatuste teostamist on vaja snmpd teenus taaskäivitada:

 sudo /etc/init.d/snmpd restart 

Ubuntu versioonis 12.04 ja vanem snmp või snmpd paigalduspakid enam ei sisalda MIB -e. MIB -ide alla laadimiseks tuleb lisaks ka paigaldada pakk snmp-mibs-downloader:

 sudo apt-get install snmp-mibs-downloader 

Peale paki paigaldamist tuleb tekstiredaktoriga muuta /etc/snmp/snmp.conf fail ning panna ette trellid ainsale kommenteerimata reale "mibs:" (help.ubuntu.com):

#
# As the snmp packages come without MIB files due to license reasons, loading
# of MIBs is disabled by default. If you added the MIBs you can reenable
# loaging them by commenting out the following line.
# mibs :

Testimine

Teenuse testimiseks tuleb sisestada järgmine käsk (käsu kasutamisest ja selle võimalustest on soovitatav uurida selle manuaali man snmpwalk ) (askubuntu.com):

 snmpwalk -v 2c -c public localhost system 

Juhul kui SNMP teenus toimib, vastuseks tuleb midagi sarnast:

SNMPv2-MIB::sysDescr.0 = STRING: Linux server2 3.8.0-29-generic #42~precise1-Ubuntu SMP Wed Aug 14 16:19:23 UTC 2013 x86_64
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (1436249) 3:59:22.49
SNMPv2-MIB::sysContact.0 = STRING: deniss.krajuhhin@itcollege.ee
SNMPv2-MIB::sysName.0 = STRING: server2
SNMPv2-MIB::sysLocation.0 = STRING: "HP-Deniss"
...

Allikad

1. http://docs.oracle.com/cd/E19624-01/817-2559-16/intro.html

2. http://www.solarwinds.com/documentation/ref/IntroductionToSNMP.pdf

3. http://www.sans.org/reading-room/whitepapers/networkdevs/securing-snmp-net-snmp-snmpv3-1051

4. http://jinkernet.com/WordPress/2013/09/16/how-to-install-and-configure-snmp-on-ubuntu-server-12-04-3/

5. http://www.it-slav.net/blogs/2009/02/05/install-and-configure-snmp-on-ubuntu/

6. https://help.ubuntu.com/community/SNMPAgent

7. http://askubuntu.com/questions/141564/what-is-snmp-used-for/252994#252994

Kokkuvõte

Tänapäeva IT kujutab endast üpriski keerukat paljudest omavahel seotud komponentidest süsteemi. Eriti suurfirmades ja suurtes asutustes. Mida suurem ja keerukam IT süsteem, seda raskemaks muutub selle haldamine ja seda suuremat rolli hakkab omama kiire ja asjakohane info edastamine IT süsteemi ja selle komponentide kõrvalekallete ja rikete kohta. Kusjuures erinevaid funktsioone täitvatele isikutele või gruppidele edastatav informatsioon peab olema erinev. Eriti meie jätkuvalt globaliseerivas maailmas see hakkab omama järjest suuremat tähtsust.

Seda kõike võimaldab SNMP.

Oma lihtsuse tõttu SNMP v1 on siiani laialt kasutusel, mis küll kindlasti nõuab eraldi VLAN-i ja hästi korraldatud ligipääsuõigusi, siis SNMP v3 seda veel ei ole ja lisaks nõuab ka tunduvalt suuremat jõudlust ja seadistamise panust. Kuid SNMP v3 võimaldab saavutada kõike seda, mida tänapäeval võime ühe IT süsteemi haldamisvõimalustest oodata. Seda kindlasti ees ootab suur tulevik.