Differences

This shows you the differences between two versions of the page.

nms_cookbook [2009/08/05 16:37]
ivke
— (current)
Line 1: Line 1:
-======Monitoring mrežnih uređaja pomoću SNMP protokola====== 
- 
-=====Sadržaj:===== 
- 
-  * SNMP Protokol 
- 
-  * Pokretanje SNMP-a na raznim tipovima uređaja 
-    *Ruteri 
-    *Serveri (Linux, Windows) 
-    *UPS-evi 
-    *Klime 
-    *Štampači 
- 
-  * Alati za očitavanje SNMP promenjivih i njihova primena 
-    *Linux 
-    *Windows 
- 
- 
-=====SNMP protokol===== 
- 
-Razvoj mrežnih uredjaja i novih  kompleksnih protokola doveo je do toga da se današnji mrežni sistemi ne mogu održavati bez dobrog programa za nadzor, kontrolu i konfigurisanje mreže. Dosta današnjih mrežnih sistema se oslanja na monitoring pomoću SNMP protokola. Sam naziv Simple Network Management Protocol ukazuje na to da je protokol dizajniran tako da veoma malo opterećuje mrežu. Oslanja se na UDP, mada je moguće podesiti i rad preko TCP-a, što nije preporučljivo u velikim mrežama. Monitoring mrežnih uređaja pomoću SNMP-a se obično vrši tako što se na mrežnom uređaju pokrene SNMP deamon i to tako da odgovara na periodične zahteve koje dobija od servera koji prikuplja podatke (NMS Server). U slučaju kada dođe do neke bitne promene na uređaju SNMP deamon generiše SNMP Trap poruku i na taj način se brzo, bez čekanja na upit, obaveštava NMS o promeni u mreži. SNMP deamon osluškuje upite po UDP 161 portu, a Trap-ove šalje po UDP 162 portu, tako da prilikom pokretanja monitoringa u mreži potrebno je da se omogući komunikacija između mrežnih uređaja i servera po ovim portovima (access lists, IP tables ....). 
- 
-{{ nms.gif?700 }} 
-Slika 1 - Monitoring pomoću SNMP-a 
- 
-Informacije koje se mogu očitati sa udaljenog uređaja su definisane u MIB bazi podataka. Tu su varijable definisane u formi stabla koje sam proizvođač uređaja kreira. Postoje i varijable koje su zajedničke za sve uređaje, odnosno svaki uređaj podržava univerzalni skup OID vrednosti. Rad sa ovim varijablama će biti opisan pojedinačno za svaki uređaj.  
-Razvoj SNMP protokola se ogleda kroz tri verzije i danas je najzastupljenija druga verzija, SNMP V 2c. Usled potrebe za implementaciju sigurnosti u mreži razvijena je SNMP V3 koja uvodi autentifikaciju i enkripciju.  
- 
- 
-SNMP V2c (RFC 1901-1908)  
-Kod verzije 2c se autentifikacija vrši pomoću community stringa i on se šalje u čistom tekstu preko mreže. U slučaju da neko “uhvati” ovaj saobraćaj pomoću neke sniffing aplikacije, može vrlo lako otkriti community string i na taj način biti u mogućnosti da ugrozi ispravan rad mreže.  
- 
-SNMP V3(RFC 3411-3418) 
-SNMPv3 pruža tri važna servisa: autentifikaciju, privatnost i kontrolu pristupa. SNMPv3 uvodi važne bezbednosne aspekte: 
-   -Integritet poruke (Message integrity), kako bi se obezbedilo da paketi ne budu promenjeni u prenosu 
-   -Autentifikacija, kako bi se potvrdilo da je poruka stigla sa pravog izvorišta 
-   -Kriptovanje paketa, kako bi se sprečilo čitanje od strane neautorizovanog izvora  
-    
- 
-U tabeli 1 je dat prikaz verzija SNMP-a sa stanovišta sigurnosti u mreži. 
- 
-^  SNMP Security modeli i nivoi  ^^^^^ 
-^  Model  ^  Nivo  ^  Autentifikacija  ^  Enkripcija  ^  Princip rada  ^ 
-|  v1  |  noAuthNoPriv  |  Community String  |  -  |Koristi Community string za autentifikaciju.| 
-|  v2c  |  noAuthNoPriv  |  Community String  |  -  |Koristi Community string za autentifikaciju.| 
-|  v3  |  noAuthNoPriv  |  Username   |  -  |Koristi Username za autentifikaciju.| 
-|  v3  |  authNoPriv  |  MD5 ili SHA  |  -  |Autentifikacija se bazira na HMAC-MD5 ili HMAC-SHA algoritmu.| 
-|  v3  |  authPriv  |  MD5 ili SHA  |  DES  |Autentifikacija se bazira na HMAC-MD5 ili HMAC-SHA algoritmu. Omogućuje DES 56-bitnu enkripciju u okviru autentifikacije baziranu na CBC-DES (DES-56) standardu.| 
-Tabela 1 – Prikaz verzija SNMP-a sa stanovišta sigurnosti u mreži. 
- 
-Iz tabele se vidi fleksibilnost SNMP V3 protokola u izboru nivoa sigurnosti u mreži.  
-U daljem tekstu će biti opisana implementaija SNMP V2c i SNMP V3 na raznim mrežnim uređajima. 
-  
-Pokretanje SNMP-a na raznim tipovima uređaja  
- 
-CISCO Ruter 
- 
- 
-Iz konfiguracionog moda pomoću komande , 
- 
-SNMPTEST(config)#snmp-server community publicro ro 
- 
-se pokreće SNMP deamon na ruteru.  String koji se koristi kao autentifikacija publicro  predstavlja vid zaštite tako da će ruter odgovoriti samo onom uređaju koji mu pošalje zahtev koji sadrži baš ovaj string. Opcija ro na kraju komande naglašava da je moguće samo očitati podatke a ne i menjati ih (ro-read only). Takođe je moguće i menjati pojedine varijable (wr-write komanda)  što može dovesti do promene rada rutera (restart rutera), zato je veoma bitno da se ne koriste default-ne vrednosti za community string i da se SNMP upiti ograniče samo na mogućnost očitavanja a ne i menjanja varijabli. 
- 
-Da bi se ispravno podesio i snmp trap mod rada potrebno je definisati community string za trap mod, pokrenuti SNMP-trap i definisati destination adresu na koju će se slati trap poruke. 
- 
-1. SNMPTEST(config)#snmp-server enable traps 
-2. SNMPTEST(config)#snmp-server host myNMSserver.com version 2c publicro 
- 
-U ovom primeru je definisana verzija 2c SNMP protokola.  Da bi se uvela sigurnost u monitoring mreže koristi se SNMP V3 protokol. Usledećim komandama na Cisco ruterima je prikazan postupak podešavanja SNMP V3 protokola.  
- 
-1. SNMPTEST(config)#snmp-server view MYGROUPV interfaces included 
-2. SNMPTEST(config)#snmp-server group MYGROUP v3 auth read MYGROUPV 
-3. SNMPTEST(config)#snmp-server user peraperic MYGROUP v3 auth md5 perapass priv des56 pera1234 
-4. SNMPTEST(config)#snmp-server enable traps 
-5. SNMPTEST(config)#snmp-server host 192.168.10.1 version 3 auth MYGROUP 
- 
-U prvoj komandi se definišu vrednosti u MIB bazi OID-ova koji mogu biti očitani sa uređaja.  U ovom slučaju je omogućeno očitavanje OID-a (interface) koji opisuju stanje interfejsa na uređaju.  
-Ako se ne definiše ovakva grupa predpostavlja se da je dozvoljen pogled na sve vrednosti u MIB bazi.  
-Druga komanda  definiše grupu MYGROUP koja koristi SNMP V3 protokola i koja koristi autentifikaciju. Ova grupa ima mogućnost očitavanja podataka iz MIB baze i to samo onih koji su definisani u “pogledu“ MYGROUPV.  
-Treća komanda definiše korisnika peraperic koji pripada grupi MYGROUP koji koristi SNMP V3, autentifikaciju pomoću md5 algoritma i ima password perapass. Poslednjom opcijom u komandi 3 “pera1234“ se definiše passphrase koja se koristi za enkripciju SNMP saobraćaja.  
-Četvrta komanda pokreće SNMP Trap mod rada.  
-Peta komanda definiše NMS server koji će prikupljati trap poruke . U ovom slučaju prilikom komunikacije između NMS i Cisco uređaja koristiće se SNMP V3 i pravila koja su definisana pomoću grupe MYGROUP. 
-Provera izvršavanja SNMP upita se može uraditi direktno sa NMS servera. U slučaju Linuxa to je moguće uraditi sledećom komandom. 
- 
-snmpwalk –v 3 –u peraperic – l authPriv –a MD5 –A perapass –x DES –X pera1234 CiscoIPadd    
- 
-Kao rezultat ove komande dobiće se tabela koja opisuje stanje interfejsa na Cisco uređaju. 
- 
- 
-U sledećoj listi je dat spisak Cisco platformi koje podržavaju SNMP V3. 
-• Cisco 700 series  
-• Cisco 1000 series  
-• Cisco 1600 series  
-• Cisco 2500 series  
-• Cisco 2500 series access servers  
-• Cisco 3600 series  
-• Cisco 3800 series  
-• Cisco 4000 series  
-• Cisco 4500 series  
-• Cisco AS5100 access server  
-• Cisco AS5200 universal access server  
-• Cisco AS5300 access server  
-• Cisco 7000 series  
-• Cisco 7200 series  
-• Cisco 7500 series  
- 
-Preko SNMP-a se najčešće monitorišu OID vrednosti koje opisuju stanje interfejsa na uređaju i OID vrednosti koje opisuju stanje memorije i procesora uređaja, mada je moguć monitoring i ostalih parametara od interesa. 
-Obično svaki proizvođač opreme definiše svoje OID vrednosti koje opisuju ove parametare. U Tabeli 1 je dat primer očitavanja ifTable (.1.3.6.1.2.1.2.2 ) OID tabele. Ove OID vrednosti se često koriste i zajedničke su za sve tipove uređaja. 
- 
- 
-ifType 6 6 1 
-ifMtu 1500 1500 1500 
-ifSpeed 100000000 100000000 4294967295 
-ifPhysAddress c8 00 08 c4 00 00 c8 00 08 c4 00 01  
-ifAdminStatus up(1) down(2) up(1) 
-ifOperStatus up(1) down(2) up(1) 
-ifLastChange 0 hours, 4 minutes, 17 seconds. 0 hours, 0 minutes, 9 seconds. 0 hours, 0 minutes, 0 seconds. 
-ifInOctets 939 0 0 
-ifInUcastPkts 3 0 0 
-ifInNUcastPkts 8 0 0 
-ifInDiscards 0 0 0 
-ifInErrors 0 0 0 
-ifInUnknownProtos 0 0 0 
-ifOutOctets 5525 0 0 
-ifOutUcastPkts 25 0 0 
-ifOutNUcastPkts 12 0 0 
-ifOutDiscards 0 0 0 
-ifOutErrors 0 0 0 
-ifOutQLen 0 0 0 
-ifSpecific .0.0 .0.0 .0.0 
-Tabela 1 - ifTable 
- 
-  
-U Cisco menadžment modulu .1.3.6.1.4.1.9.9 mogu se naći OID-ovi od intersa za nadzor nad Cisco uređajima. 
- 
-SERVERI 
- 
- 
- 
-LINUX Server (SNMP V2c) 
- 
- 
-U slučaju podešavanja SNMP protokola na Linux operativnim sistemima prvo je potrebno instalirati SNMP deamona na server. U sledećem primeru biće opisana instalacija na CentOS 5.3 operativnom sistemu pomoću YUM komande. 
-Sledeća komanda omogućuje automatizovanu instalaciju SNMP deamona i korisnih komandi za kontrolu rada SNMP-a. 
- 
-yum install net-snmp net-snmp-utils 
- 
- Sledeći korak je postavljanje servisa da se pokreće prilikom startovanja servera. Potrebno je uneti sledeću komandu. 
- 
-chkconfig snmpd on 
- 
-Sledeća stavka je podešavanje community stringa i OID objekata koji mogu biti očitani sa servera. 
-Potrebno je editovati fajl snmpd.conf koji se obično nalazi u direktorijumu /etc/snmp/ i izmeniti sledeće redove. 
-U redu 
- 
- com2sec notConfigUser default public 
- 
-potrebno je promeniti defaultni community string public u željeni community string. 
- 
-U redu: 
- 
-view systemview included .1.3.6.1.2.1.1 
- 
-se vidi de su uključeni svi OID-ovi koji se nalaze ispod čvora .1.3.6.1.2.1.1 u MIB drvetu. Pomoću komande excluded moguće je isključiti pojedine OID vrednosti, odnosno uvesti ograničenja u prikazu MIB baze. Ovde je potrebno definisati OID vrednosti koje će server vraćati kao odgovor na SNMP upite. Ako NMS zatraži OID koji nije ovde definisan server neće odgovoriti NMS-u. U slučaju da želimo da omogućimo očitavanje svih OID vrednosti potrebno je uneti sledeći red: 
- 
-view systemview included .1 
- 
-Na taj način su uključene sve vrednosti koje se nalaze ispod čvora .1 u MIB stablu, odnosno celo stablo. 
- 
-Sada je potrebno pokrenuti servis sledećom komandom: 
- 
-service snmpd start 
- 
-Proveru je moguće uraditi pomoću sledeće komande: 
- 
-snmpwalk –v 2c –c mojcommunity 127.0.0.1 
- 
-Kao rezultat će se prikazati cela MIB tabela (drvo), ili deo MIB tabele, koji je definisan prethodnim komandama za ograničenje. 
- 
-LINUX Server (SNMP V3) 
- 
-Instalacija SNMP V3 deamon-a je ista kao za prethodnu verziju 2c, samo je sada potrebno pokrenuti verziju SNMP V3. 
-Potrebno je editovati fajl snmpd.conf, izbrisati sve iz njega i dodati sledeće komande. 
- 
- 
-syslocation MojGradiliLokacija 
-syscontact mojemail@provajder.com 
-view    mojpogled    included   .1.3.6.1.2.1.2.2 
-createUser john MD5 john1234 DES john5678 
-rouser john priv -V mojpogled 
- 
-Prva dva parametra, syslocation i syscontact su podaci koji služe da daju opšte informacije o serveru. Oni nisu značajni za ispravan rad SNMP protokola ali su veoma bitni za administratore servera koji mogu pomoću  automatizovane skripte dobiti rezultate u kojima će imati pored osnovnih informacija o stanju servera i informaciju o lokaciji servera i kontakt osobi  kojoj se mogu obratiti u slučaju pojave problema.  
- Treći red definiše pogled, odnosno skup OID vrednosti iz MIB stabla. U ovom slučaju je definisana tabela interfejsa servera. Moguće je dodati više tabela i čak pomoću komande exclude isključiti neke OID vrednosti. Ova ograničenja su veoma bitna zato što je pomoću SNMP–a moguće i postaviti neke parametre a to direktno može uticati na ispravan rad uređaja. 
- Četvrta komanda kreira user-a john čiji je password john1234. Prlikom autentifikacije koristi se MD5 algoritam, a saobraćaj je enkriptovan pomoću DES algoritma. Passphrase koji se koristi prilikom enkripcije je john5678.  
-Peta komanda user-u john daje read only (rouser) privilegije i to samo nad mojpogled pogledom na MIB bazu koji je definasn u trećoj komandi. 
-Provera podešavanja SNMP V3 na serveru je moguća pomoću komande: 
- 
-snmpwalk -v 3 -u john -l authPriv -a MD5 -A john1234 -x DES -X john5678 serveripaddr 
- 
- 
-INSTALACIJA SNMP SERVISA NA WINDOWS2000 
- 
-1. Potrebno je biti ulogovan kao Administrator na računaru na kom se instalira SMTP. 
- 
-2. Kliknuti na Start, zatim Control Panel pa Add or Remove programs. 
- 
-  
- 
-3. Zatim izabrati Add or Remove Windows Components. 
- 
-  
- 
-4. U otvorenom prozoru Windows Components wizard-a selektovati (ne štiklirati) Management and Monitoring Tools, a zatim na Details (dok je Management and Monitoring Tools selektovan plavom bojom). 
- 
-  
- 
- 
-5. U otvorenom prozoru Management and Monitoring Tools štiklirati Simple Network Management Protocol pa OK.  
- 
-  
- 
-Za  ispravnu instalaciju SNMP protokola potreban je instalacioni disk instalirane verzije Windows server 2003 koga treba staviti u CD čitač. Zatim u prozoru Windows Components wizard-a kliknuti na Next i pratiti korake instalacije. 
-Konfiguracija SNMP Agenta  
- 
-1. Otvoriti Control Panel, pa kliknuti na Administrative Tools 
- 
-  
- 
-2. Otvoriti polje Services 
- 
-  
- 
- 
- 
-3. U desnom panelu dva puta kliknuti na SNMP Service a posle otvoriti karticu Agent. 
- 
-  
-  
- 
-4. Upisati u polju Contact e-mail adresu administratora zaduženog za održavanje servera, a u polju Location fizičku lokaciju računara ili kontakta.  
-5. U polju Service treba štiklirati sve servise kao na slici prikazanoj gore. To su: 
- 
-Po konfigurisanju kliknuti na OK. 
- 
-  
-Konfigurisanje Community grupe i Trap–ova 
- 
-1. Otvoriti Control Panel, pa kliknuti na Administrative Tools . 
- 
-  
- 
-2. Otovoriti polje Services. 
- 
-  
- 
- 
-3. U desnom panelu dva puta kliknuti na SNMP Service.  
- 
-  
-4. Posle otvaranja na kartice Traps, u polju Community name upisati Community string, koji će biti naknadno dostavljen administratorima (Community string "RZZO" je primer i ne treba ga koristiti), a zatim kliknuti na Add to List  
- 
-  
- 
-5. Zatim kliknuti na Add, u odeljku Trap destinations. 
- 
-  
- 
- 
-6. U polju Host name, IP or IPX address upisati IP adresu 10.0.10.2 kliknuti Add. 
- 
-  
- 
-Upisano ime ili adresa hosta pojaviće se u Trap destinations listi. 
- 
-7. Kliknuti OK na kraju.. 
- 
-  
-Konfiguracija SNMP bezbednosti na serverima 
- 
-1. Otvoriti Control Panel, pa kliknuti na Administrative Tools . 
- 
-  
- 
-2. Kliknuti na Services. 
- 
-  
-3. U desnom panelu dva puta kliknuti na SNMP Service  
-  
- 
-4. Zatim otvoriti Security karticu, i štiklirati (ako već nije) Send authenntication trap. Prvo je potrebno izbrisati Community-grupu public, tako što se selektuje pod Accepted community names i kliknuti na Remove. Zatim pod Accepted community names kliknuti Add. 
- 
-  
- 
-  
- 
-5. Za definisanje kako host obrađuje SNMP zahteve selektovane Community grupe, izabrati nivo dozvole u polju Community Rights – READ ONLY. U polju Community Name, upisati case sensitive ime Community grupe koji je dostavljen administratorima (RZZO je primer i ne treba ga koristiti), a zatim kliknuti na Add. 
- 
-  
- 
-  
-6. Za definisanje hostova od koji će se primati SNMP zahtevi kliknuti na (dok je selektovana željena Community grupa, u ovom promeru RZZO) - Accept SNMP packets from these hosts, kliknuti na Add.  
- 
-  
- 
-7. Upisati sledeću IP adresu 10.0.10.2. 
- 
-  
- 
-8. Kliknuti na Add, zatim na Apply.  Intersantno je primetiti da windows 2000 ne podržava SNMP V3. 
- 
- 
- 
- 
- 
-OSTALI UREĐAJI 
- 
-Što se tiče ostalih mrežnih uređaja (Ups, Štampači, Klime...) uz njih se obično dobija i softwer koji služi za podešavanje SNMP-a. Većini tih uređaja je moguće pristupiti putem browser-a i izvršiti podešavanja preko web-a. OID vrednosti koje se mogu monitorisati zavise od proizvođača do proizvođača a to mogu biti temperatura, stanje tonera u štampaču, stanje baterije u UPS-u, temperatura u UPS-u, potrošnja UPS-a....... 
- 
- 
- 
-ALATI ZA OČITAVANJE SNMP PROMENJIVIH I NJIHOVA PRIMENA 
- 
-Podela alata za očitavanje SNMP promenjivih će se izvršiti prema operativnom sistemu. 
- 
-LINUX 
- 
-U slučaju Linux operativnih sistema ne govori se o jednom softwer-u već o paketu mini aplikacija koje se mogu koristiti. Najbitnije su snmpwalk, snmpget i snmpset. Prve dve služe za očitavanje OID vrednosti iz MIB baze podataka dok treća komanda služi za upravljanje mrežnim uređajem, promenom OID vrednosti. Na slici 1 je dat primer očitavanja dela ifTable, odnosno administrativnog statusa interfejsa, dok je na slici 2 dat primer korišćenja snmpwalk komande u slučaju SNMP V3 protokola prilikom očitavanja MAC adresa interfejsa Cisco rutera.  
- 
-  
-Slika 1 – Korišćenje snmpwalk komande za SNMP V2c   
- 
-  
-Slika 2 – Korišćenje snmpwalk komande za SNMP V3 
- 
- U sledećem primeru će biti prikazano kako pomoću snmpset komande se može zadati ruteru tftp lokacija servera na koji treba uraditi backup running-configuration fajla. 
- 
-snmpset -v 3 -u peraperic -l authPriv -a MD5 -A perapass -x DES -X pera1234 ciscoIPadd .1.3.6.1.4.1.9.2.1.55.A.B.C.D s router-config enterprises.9.2.1.55.A.B.C.D s router-config 
- 
- Obe OID vrednosti u komandi se završavaju slovima A.B.C.D i umesto njih je potrebno upisati IP adresu TFTP servera. Takođe je pre svega ovoga potrebno user-u peraperic promeniti privilegije u write. 
-Kao rezultat ove komande će se izvršiti backup running-config fajla sa Cisco rutera na definisani tftp server.  
- 
-WINDOWS 
- 
-U slučaju windows opertivnih sistema primer će biti baziran na java aplikaciji pod nazivom SNMPManager koja je razvijena u RCUB-u kao jedan od pomoćnih alata za podešavanja monitoringa u ICmyNet.IS aplikaciji. Za sada SNMPManager podržava SNMP V1 i SNMP V2c. 
- 
----- 
- 
----- 
- 
----- 
nms_cookbook.1249483064.txt.gz · Last modified: 2009/08/05 16:37 by ivke
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0