Forstå SNMP Protocol


SNMP-protokollen

SNMP-protokollen trådte i eksistens i slutten av 1980-tallet på grunn av kravet om å måtte håndtere stadig voksende nettverk, og behovet for å kontrollere visse betingelser blir opplevd på disse nettverkene . Som jeg har nevnt før, de fleste av protokollene sett i TCP /IP-suite følger klient /server modell. Denne protokollen er ikke annerledes med unntak av en mindre syntaks forskjell; det følger klient /manager modell.

Det er flere kjente programmer som bruker SNMP som en del av deres nettverksadministrasjon suite. IBM Tivoli for en, og det er også HP Openview å nevne noen av tilbudene. Hva de alle har til felles, skjønt, som nevnt, er bruken av Simple Network Management Protocol. Det er gjennom bruk av denne protokollen, og måten den ble utformet, noe som gjør det mulig for administratoren å pålitelig ri flokken i løpet av de noen ganger langt slengte nettverk som de må administrere.

SNMP og dens varianter

I dag er det tre forskjellige implementeringer av SNMP-protokollen. Det er nemlig; SNMPv1, SNMPv2c, og SNMPv3. Alle de ulike versjonene bygget på suksessen til den tidligere og prøvde å bygge mer funksjonalitet inn i hver etterfølger. Selv om du kanskje tror først at den nyeste versjonen av SNMP er i videste bruk, ville det være en feil faktisk. Stort sett den aller første versjonen av SNMP er fortsatt mest sett av ulike årsaker som enkelhet, og den menneskelige tendens til å gå med det du allerede vet fungerer.

På grunn av at det er tre SNMP-versjoner, det er viktige forskjeller mellom de tre versjonene av dem. Mens SNMPv1 fungerte bra det var noen alvorlige mangler med den. Spesielt var det liten eller ingen sikkerhet med det. Alle meldingene ble sendt i klartekst over ledningen, og kan leses av alle med en pakke sniffer installert på nettverket. Dette er ikke en god ting for åpenbare grunner. Så langs kom SNMPv2, som forsøkte å rette opp noen av de svakhetene av forgjengeren. SNMPv2 inneholdt endringer i MIB (Management Information Base) definisjoner, også PDU (protokoll data unit) så endringer, og til slutt forbedret sikkerhet. Den forbedrede sikkerheten kom i form av dataintegritet, via sin bruk av MD5, og DES-algoritmen for kryptering. Til slutt var det noen form for beskyttelse for å spille angrep på grunn av bruken av godkjenningsprosedyrer.

Variasjoner av en variant!

Bare i tilfelle SNMPv2 var ikke forvirrende nok, bør du vite at i virkeligheten, det er faktisk fire varianter av det. De er som følger; SNMPv2c som er lokalbasert, SNMPv2 * eller også kjent som for meta tegnet jeg anta, SNMPv2u som var brukerbasert, og den opprinnelige SNMPv2 "stjerne". Kompleksiteten introdusert med SNMPv2 er en av de viktigste grunnene til at det ikke ble mye vedtatt av samfunnet. Kompleksitet gjør ikke for brukervennlighet.

Med vedvarende sikkerhetsspørsmål i SNMPv1 og v2, pluss kompleksitet spørsmål om SNMPv2 ble det besluttet en ny versjon som trengs for å løse disse svakhetene. Dette resulterte i SNMPv3, som tok hensyn til sine forgjengere mangler. Langt bedre sikkerhet kom i form av autentisering via hashing, tidsstempler, og budskapet konfidensialitet på grunn av bruk av kryptering. Denne versjonen er også mindre kompleks enn de SNMPv2 varianter, og langt overlegen når det gjelder sikkerhet enn versjon en. På tross av dette, som nevnt ovenfor, mange nettverk fortsatt bruke SNMPv1, med alle sine mangler.

Med alt det sagt, akkurat hva slags meldinger er en sannsynlig å se når man ser på SNMP trafikk? Vel det er et godt spørsmål, og vi vil faktisk føre dem. For enkelthets skyld vil vi liste opp PDU (protokoll data unit) typer som sett i SNMPv1. Dette er fortsatt den mest brukte ett, så det er fornuftig å liste dem. De er som følger;

GetRequest, GetNextRequest, GetResponse, SetRequest-, Trap

Den følgende versjoner SNMPv2 og v3 har lagt noen PDU typer som GetBulkRequest og InformRequest. Godt med dette svært høyt nivå forklaring til de ulike SNMP-versjoner ut av veien, er det på tide å sette ting i sammenheng med faktisk ser på en SNMP-pakken. Vi vil nå gå videre med å se på en SNMPv1 pakke, og gå gjennom noen av sine felt.

La oss sette ting i sammenheng

Hva ville tørke teorien være uten praktisk anvendelse? For å oppnå dette vil vi ta en titt på en pakke som viser SNMPv1 bruk. I denne pakken vil vi se hvor SNMPv1 går om drive sin virksomhet dvs: å holde systemadministratoren klar over nettverket, og eventuelle problemer. På dette notatet ta en titt på pakken nedenfor, og la oss diskutere de ulike feltene i den.

01: 31: 26,631025 192.168.1.200.161 > 192.168.1.100.40274: {SNMPv1
C = testnet-pub med { GetResponse plakater (90) R = 1546751089
.1.3.6.1.2.1.2.2.1.10. 24 = 3936973547 .1.3.6.1.2.1.2.2.1.16.24 = 3178
267035 .1.3.6.1.2.1.1.3.0 = 4268685032 .1.3.6.1.2.1.1.5.0 = "G"}} ( ttl 255, id41656, len 148)
0x0000 4500 0094 a2b8 0000 ff11 151c c0a8 01c8 E ...............
0x0010 c0a8 0164 00a1 9d52 0080 3f43 3076 0201
........ R ..? C0v ..
0x0020 0123 0123 0123 6574 2d70 7562 a266 0204 ..testnet-pub.f ..
0x0030 5c31 8c71 0201 0002 0100 3058 3013 060a \\ 1.q ...... 0x0 ...
0x0040 2b06 0102 0102 0201 0a18 4105 00ea a972 + ......... A .... r
0x0050 eb30 1306 0a2b 0601 0201 0202 0110 1841 ..0 ... + ......... En
0x0060 0500 BD70 819b 3011 0608 2b06 0102 0101 .... p..0 ... + ... ..
0x0070 0300 4305 00fe 6ef6 E830 1906 082b 0601 ... C ... n..0 ... + ..
0x0080 0201 0105 0004 0d47 ....... G

jeg vil kommentere pakken ovenfor kommer fra den første linjen, og også fra høyre til venstre. Vår normal tidsstempel er det første feltet, etterfulgt av vår kilde IP-adresse og kildeport. Man vil legge merke til at denne kildeport er 161, som er den havn for SNMP. Vi har da destinasjon IP-adresse og destinasjon port. Nå ser vi i parentes at pakken er å fortelle oss at dette er SNMPv1. Etter det er det "community string", og nå er et godt tidspunkt å vite at standardverdien fastsettes normalt som "read only". I vårt tilfelle samfunnet string navn er "testnet-pub" som understreket i pakken ovenfor.

Neste vi har vår PDU type "GetResponse", som også understreket i pakken ovenfor. Etter dette er vår "forespørsel identifikasjon" nummer. Nå ser vi en rekke tall fordelt ut med perioder. De er OID-tallet eller objektidentifikatorer. Disse brukes til å definere selve kriterier som system oppetid, NIC gjennomstrømming, og belastningen på serveren for eksempel. For eksempel kan administrasjonsstasjonen utstede noen "GetRequest s" til en bestemt datamaskin for å finne ut hva lasten på tjeneren er på det bestemte tidspunkt. Dette er hvordan admin er i stand til å bruke SNMP til å hjelpe dem med å administrere sine noen ganger langt slengte nettverk.

Med det sagt at dette er en protokoll som du egentlig ikke fullt ut kan bryte ut for hånd, og du trenger en protokoll analysator som Ethereal, eller ideelt sett programmet som følger med programvare for nettverksadministrasjon. Det i sin tur vil tillate deg å få følelse av OID-er som vi ser ovenfor. Alt som er sagt vi nå se hvorfor SNMPv1 er egentlig ikke et godt valg for å ha som din SNMP-protokollen. Alt er i klart! Selv en minimal kompetent hacker kan gjøre skade med informasjonen avslørt i pakken ovenfor. Hvis mulig bør du oppgradere til SNMPv3. Dette bringer oss til slutten av vår meget høyt nivå oversikt over SNMP, og jeg håper du likte det. Til neste gang!