6.2.3 SNMP piirangud

SNMP algversiooni puudusteks võib loetleda:
- Sõnumivahetuse tagasisidekinnituse probleemid Trap alarmide puhul kuna kasutab transpordiks UDP ühenduseta protokolli
- Üleliigne võrgukoormus, mis tuleneb sõnumivahetusest agentide ja haldurite vahel
- Puudulik turvalisus autentimisel ja krüpteerimisvõimaluste puudumine. Autentimine SNMPv1 ja SNMPv2 versioonides toimub krüpteerimata parooli abil, mis saadetakse agendi ja halduri vahel. Sel kujul võib pahatahtlik kasutaja parooli pealt kuulata ja hiljem kasutada seda seadme poole pöördumiseks ja selle info lugemiseks või seadme ümberkonfigureerimiseks.
Joonis 6‑6. SNMP sõnumivahetuse teekond (Allikas: Learning Materials for Information Technology Professionals (EUCIP-Mat))
Probleemidele
pakuvad lahendusi versiooniuuendused SNMPv2 ja SNMPv3.
SNMPv2 toob kasutusele haldusinfostruktuuri (SMI) mõiste, millest oli juttu
eespool ja mis aitab paremini struktureerida SNMP objekte erinevate tootjate
poolt.
SNMPv2 toob sisse ka jagatud arhitektuuriga võrguhalduse mõiste, mille puhul on
võrguhalduses rohkem kui üks halduri funktsiooni täitev üksus ja see võimaldab
laiendatud võrguhaldust, mis võimaldab omakorda halduse liiasust (redundancy)
ja balansseeritud ülesannete jaotust. SNMPv2 puhul saab kasutada tsentraliseeritud
võrguhaldust koos jagatud võrguhaldusega. Eksisteerivad süsteemid, mis võivad
täita nii agendi kui ka halduri rolli. Praktikas tähendab see seda, et agent
võib toimida nii NMS päringule vastamisega kui ka vahendada päringuid, mis
edastatud teistele seadmetele.
Joonis 6‑7. SNMPv2 arhitektuur (Allikas: Learning Materials for Information Technology Professionals (EUCIP-Mat))
NMS võib
nõuda agendilt andmete pärimist teise süsteemi MIB'ist. Sellisel juhul vahendab
agent teise süsteemi andmed, võttes endale ajutiselt halduri
rolli.Sõnumivahetused on topelt küsimuse/vastuse vormis ja ei vaja ühendusega
protokolli.
SNMPv2 defineerib ka uued sõnumivahetusoperatsioonid: GetBulk, Notification,
Inform ja Report (vt. eespool sõnumite selgitust).
Joonis 6‑8. PDU formaat erinevatele päringutele (Allikas: Learning Materials for Information Technology Professionals (EUCIP-Mat))
Sõnumite vastustes on defineeritud veakoodid, mis annavad teada pärinu protsessimise staatusest. GetBulk lahendab probleemi suurte andmemassiivide edastamiseks.
SNMPv3 lahendab turvalisusega seotud probleeme, mis on SNMP protokolli suurim nõrkus alates protokolli loomisest, tuues juurde kolm võtmeteenust: autentimine, konfidentsiaalsus ja juurdepääsukontroll. Enne SNMPv3 kasutuselevõttu oli SNMP protokoll pigem seadmetelt info kogumiseks kui seadmete konfigureerimiseks, sest puudu jäi turvalisusest. SNMPv3 muudab ka defineeringut halduritele ja agentidele - mõlemad on nüüd defineeritud SNMP üksusteks (SNMP entities). Iga üksus sisaldab SNMP töötlusseadme ja ühe või rohkem rakendust. Sellega seoses on muutunud ka kogu arhitektuuri definitsioon. See definitsioon võimaldab eraldada erinevad SNMP süsteemi osad tehes nii turvalisuse rakendamise võimalikuks.
SNMPv3 töötlusplokk sisaldab järgmisi mooduleid:
- Dispetšer (Dispatcher) , mille töö on saata ja vastuvõtta sõnumeid, tuvastada nende versioon ja edastada sõnumitöötlusmoodulile. Dispetšer saadab ka SNMP sõnumeid teistele üksustele.
- Sõnumitöötlusmoodul (Message Processing Subsystem) valmistab sõnumid ette saatmiseks ja eraldab vastuvõetud sõnumist andmed. See moodul võib sisaldada eraldi töötlemismooduleid eri versioonide jaoks.
- Turvamoodul (Security Subsystem) pakub autentimis ja privaatsusteenuseid. Autentimine kasutab kas kogukonna paroole (SNMPv1 ja SNMPv2) või SNMPv3 kasutajapõhist autentimist.Viimane kasutab MD5 ja SHA algoritme kasutajate autentimiseks. Privaatsusteenus kasutab DES algoritmi et krüpteerida ja dekrüpteerida SNMP sõnumid.
- Juurdepääsukontrollimoodul (Access Control Subsystem) kontrollib juurdepääsu MIB objektidele. Võimalik on seadistada,mis kasutajad milliseid objekte näevad ja milliseid operatsioone nad saavad objektidega teha.
SNMP rakendused:
- käsu generaator (Command generator) - genereerib get, getnext, getbulk ja set päringuid ja töötleb vastuseid. Seda rakendust kasutab NMS päringute saatmiseks seadmetele.
- Käsule vastaja (Command responder) - vastab käsu generaatori päringutele. Seda rolli täidab SNMPv1 ja SNMPv2 puhul agent ja SNMPv3 puhul seadme vastav üksus.
- Teate saatja (Notification originator) - genereerib SNMP trap'e ja teateid. Seda viib läbi seadmel rakendatud üksus
- Teate vastuvõtja (Notification receiver) - Võtab vastu trap'e ja inform sõnumeid. Seda kasutab NMS.
- Puhvri vahendaja (Proxy forwarder) - aitab edastada sõnumeid üksuste vahel.
Joonis 6‑9. SNMPv3 arhitektuur (Allikas: Learning Materials for Information Technology Professionals (EUCIP-Mat))
PDU sõnum, mida genereerib SNMP rakendus läbib SNMPv3 töötlusmooduli, mis koosneb dispetšerist, sõnumitöötlusmoodulist, turvamoodulist ja juurdepääsumoodulist
SNMPv3 turvasüsteemi autentimismehhanism kontrollib vastuvõetud sõnumi saaja autentsust. Sellega tagatakse, et sõnumit ei ole muudetud, viivitatud või korratud ülekandel. Selle saavutamiseks kombineerib SNMP räsifunktsiooni salajase võtmega vastavalt HMAC (Hashed Message Authentication Code) lähenemisele. Autentimiseks luuakse räsi MD5 ja SHA1 algoritmidega ja kasutades HMAC algoritmi arvutatakse sõnumi räsi. Autentimise salasõna või salajane võti lisatakse andmetele enne räsi arvutamist. Salajane võti peab olema teada saatjale ja vastuvõtjale ja peab olema vähemalt 8 tähemärki pikk.Andmete krüpteerimine tehakse CBS-DES algoritmiga ja krüpteerimise läbiviimiseks peavad saatja ja vastuvõtja teadme salajast võtit.Võti salvestatakse seadme tabelis, mida nimetatakse USM kasutaja tabel (USM User Table). Viimane salvestab kõik kasutajad, kellel on juurdepääs süsteemile SNMP kaudu. Seal sisalduvad järgmised elemendid: kasutaja nimi, autentimisprotokoll, autentimisvõti, privaatsusprotokoll, privaatsusvõti.