Nadzor mreže
U današnjem svetu, u kome računarstvo potpuno zavisi od mreže, rad administratora sistema je sve teži i teži. Njihov zadatak je da održe u funkciji vitalne resurse kao što su ruteri, svičevi, serveri i sve ostalo kritično za rad mreže. Istovremeno, postoji više razloga zbog kojih je poslovnim sistemima važan nadzor mrežnih uređaja: ostvareni protok, režim linkova, uska grla, problemi sa kablovima. Praćenje rada mreže istovremeno je i dobar početak u otkrivanju sigurnosnih problema...
U većini slučajeva firme koriste WAN linkove ka Internetu, koji se plaćaju prema protoku, te je potrebno da se formira statistika saobraćaja po ovim linkovima. U slučajevima “Flat” tarifa sa fiksnom cenom, važno je praćenje propusnog opsega.
SNMP
Odgovor na ove potrebe je protokol pod imenom Simple Network Management Protocol (SNMP). Nastao je tokom 1980-ih, sa ciljem da jednostavno integriše upravljanje heterogenim mrežama, bez unošenja dodatnog komunikacionog opterećenja u njih.
SNMP radi na aplikativnom nivou koristeći TCP/IP kao transportni protokol i time ne zavisi od mrežnog hardvera. Takođe, kako softver za nadzor koristi IP, u prilici je da kontroliše uređaje na svim povezanim mrežama, ne samo na onoj na koju je fizički povezan. Ovo ima i svoje mane, jer ako između dva uređaja otkaže IP ruting, nadzor i rekonfiguracija su nemogući.
SNMP arhitektura se sastoji od dva ključna elementa: agenta i menadžera. Radi se o klijent-server arhitekturi u kojoj je agent server, a menadžer klijent.
Agent je program koji se izvršava na svakom upravljivom ili nadziranom čvoru mreže. Obezbeđuje interfejs ka svim opcijama konfiguracije. Ove opcije se čuvaju u MIB bazi (Management Information Base), koju ćemo objasniti nešto kasnije. To je u stvari server proces, sve dok prima upravljačke informacije i reaguje na komande klijenta.
Menadžer je softver koji se izvršava na nadzornoj stanici mreže; njegova uloga je da kontaktira razne agente i periodično prozove i prikupi podatke. To je klijent strana pri nadzoru i upravljanju.
SNMP sadrži i posebnu Trap (klopka/zamka) komandu, koja omogućava agentu da pošalje poruku u slučaju definisanih, obično kritičnih događaja.
U suštini SNMP je veoma jednostavan protokol. Predviđene su samo dve operacije, a to su upit i zadavanje vrednosti neke MIB promenljive.
Proširenje protokola je u direktnoj zavisnosti od toga što MIB prima nove zapise. Na primer, ako proizvođač rutera želi da doda nove komande, treba da ih doda u MIB bazu.
Aspekt sigurnosti
SNMP sadrži elementarnu podršku za autentikaciju (proveru) korisnika, a to su dve Password šeme. Public omogućava postavljanje upita, a Private izmenu vrednosti. Ove šifre se u SNMP nazivaju “komune” i svaki uređaj mora da ih ima konfigurisane.
Često se dešava da su Public i Private šifre postavljene baš na "public" i "private", pa je važno da se pre puštanja u rad nadzornih sistema ove vrednosti promene.
Šta je to MIB?
SNMP definiše poseban standard za podatke i to kao niz podataka vezanih za mrežni uređaj i dozvoljene operacije nad njima. Podaci su strukturirani u formi stabla, sa jedinstvenim putem do svake promenljive. Ovo stablo se naziva MIB-om i objašnjeno je nizom RFC dokumenata.
Na primer TCP/IP MIB-II je određen dokumentom RFC-1213. Sadrži podatke koje TCP/IP uređaj treba da sadrži i podeljen je u osam kategorija.
Kategorija Informacija
system server ili ruter koji se nadzire
interfaces podaci o mrežnim interfejsima
addr-translation podaci o translaciji adresa
ip IP protokol informacije
icmp ICMP protokol informacije
tcp TCP protokol informacije
udp UDP protokol informacije
egp Exterior Gateway protokol informacije
MIB definicija pojedine stavke (objekta) opisuje i podatak koji sadrži. Najčešće su to celobrojni podaci, ali mogu biti i nizovi znakova ili tabele. Na primer, objekat ifNumber iz kategorije “interfaces” sadrži broj interfejsa uređaja, ali zato objekat ipRoutingTable iz “ip” kategorije sadrži ruting tabelu uređaja.
Navedene TCP/IP kategorije su u stvari potstablo ISO stabla, tako da se podatak “interfaces.ifnumber” nalazi u ISO stablu kao “.iso.org.dod.internet.mgmt.mib-2.interfaces.ifnumber”, ili kao numerički ekvivalent: .1.3.6.1.2.1.2.1.
Pri pristupu samim vrednostima objekata potrebno je dodati broj instance (obično 0), te je u našem primeru lokacija broja interfejsa uređaja u stvari: .1.3.6.1.2.1.2.1.0.

.
Primer nadzora mreže: MRTG program
MRTG je softver koji su tokom 1980-ih napisali Tobias Oetiker i Dave Rand sa ciljem da grafički prikažu podatke koje SNMP agenti daju SNMP menadžerima. Program generiše HTML stranice sa grafikonima ulaznog i izlaznog saobraćaja u približno realnom vremenu. Prve verzije su realizovane potpuno u Perl skript programskom jeziku.

MRTG je veoma popularan zbog toga što se sa njim, pored protoka na linku, veoma jednostavno prate i vrednosti kao što su greške, opterećenje sistema, zauzeće diskova… Takođe je moguć i uvoz podataka iz drugih programa, čime je omogućeno praćenje događaja koji nisu podržani SNMP-om (npr. prijave korisnika).
Instalacija i pokretanje MRTG su jednostavni zahvaljujući dodatnim programima koji čitaju konfiguraciju uređaja i formiraju indeksne HTML strane.
MRTG omogućava četiri nivoa detalja za svaki interfejs: protok u okviru 24 sata, prethodnog dana, prethodne nedelje i na godišnjem nivou. Podaci se čuvaju u kompaktnom formatu i zauzimaju sasvim malo prostora na disku.
Naravno, pre pokretanja MRTG-a na serveru ili ruteru potrebno je pokrenuti SNMP i obaviti SNMP konfiguraciju Public i Private komuna.
MRTG se tipično instalira na intranet web serveru, sa koga se prati i lokalna mašina, kao i proizvoljan broj drugih servera, rutera i LAN svičeva.
Instalacija MRTG-a
MRTG postoji u više verzija, od kojih su najinteresantnije Linux i Windows. Windows verzija zahteva dodatnu instalaciju Perla (koji je za Linux uobičajen).
Formiranje konfiguracione datoteke je teži deo posla i obavlja se komandom (Windows):
perl cfgmaker public@10.10.10.1 --global "WorkDir: c:\www\mrtg" --output mrtg.cfg
pri čemu je u ovom primeru 10.10.10.1 adresa uređaja koji nameravamo da pratimo. Parametar “WorkDir” se odnosi na lokaciju radnog direktorijuma Web servera i možete je podesiti prema svojim potrebama.
MRTG je zatim potrebno pokrenuti komandom:
perl mrtg mrtg.cfg
koja pri prva dva pokretanja prijavljuje greške vezane za nepostojanje istorijskih podataka (što je tačno).
U Widows okruženju je potrebno zadati i “RunAsDaemon: yes” unutar konfiguracione datoteke i pokrenuti servis sa “start /Dc:\mrtg-2.11.1\bin wperl mrtg --logging=eventlog mrtg.cfg”.
Zaključak
SNMP i MRTG su danas standardni u mnogim mrežama. Omogućavaju brz i jednostavan uvid u stanje mreže i značajno olakšavaju dijagnostiku mrežnih problema. Posebno je pogodan režim nedeljnih i mesečnih prikaza u kojima jednim pogledom možete da shvatite da "danas" nešto nije u redu.
Autori MRTG-a su nastavili sa uspešnim radom na RRDtool projektu koji pruža bolju grafiku i kvalitetniji nadzor, o čemu ćemo pisati u jednom od sledećih brojeva našeg časopisa.




del.icio.us
Digg
Twitter
Facebook
Pošaljite komentar