{autotoc}

Az SNMP fogalma

Definíció: az SNMP (Simple Network Management Protocol) olyan szabványos, alkalmazásszintű protokoll, amelynek a feladata a hálózat működését ellenőrző alkalmazások támogatása.

Az SNMP egy szerver-kliens kapcsolatra épülő protokoll. A szerver program - amit hálózati menedzsernek (network manager) is szoktak nevezni - virtuális kapcsolatot létesít a kliens programmal, amit SNMP ügynöknek (SNMP agent) is neveznek, és a távoli, felügyelt hálózati egyeden van telepítve.

A SNMP modell felépítése és a részek kapcsolódása következőképpen néz ki:

  • Kiszolgáló program (agent): ezek a menedzselt csomópontok. A kiszolgáló programok alapfunkciója, hogy a menedzsernek üzenetei alapján:
    • A MIBMIB változók értékeit megvizsgálják, és a menedzsernek elküldjék
    • Illetve módosítsák az információkat
  • Manager: ­ ezek a menedzsment állomások. A menedzser programok adatgyűjtési, adat tárolási és megjelenítési funkciókat látnak el. A megjelenítés gyakran grafikus felhasználói felülettel történik,kiszolgáló programok hálózati térképét ábrázolják.
  • Management Information Base (MIB):­ információkat tartalmazó fa strukturájú virtuális adatbázis.
  • Protocol:­ az információ áramlást biztosítja, kezeli

SNMP modell

Az információkat egy speciális fastruktúrában tárolják. Célja, hogy a menedzselt állomásokról kinyerhető információkat azonosítsa.

Összefoglalva az SNMP legfontosabb előnyei:

  • Az Interneten használták és tesztelték.
  • Egyszerűsége, kis erőforrás igénye megkönnyíti és elősegíti az implementációját a hálózati eszközökbe.
  • Az SNMP termékek könnyen hozzáférhetőek.
  • A fejlesztő programcsomagok ingyen hozzáférhetőek.

Az SNMP több hátránnyal is rendelkezik:

  • Gyenge biztonság (ezen csak az SNMPv2-ben segítenek).
  • Nagy tömegű adatlehívás lehetőségének hiánya.
  • Az SNMP menedzser-menedzser kommunikáció hiánya.

Az SNMP Protokoll

A hálózatok figyelésének egyik elterjedt módja az SNMP protokoll alkalmazása.

Az SNMP sokféle eszköz, akár kiszolgálószoftver figyelésére is alkalmas. Az első, kifejezetten hálózati diagnosztikára kifejlesztett protokoll az SGMP (Simple Gateway Monitoring Protocol) volt, amely 1987-ben jelent meg. Nevének megfelelően csak a hálózati átjárók vizsgálatára volt alkalmas. Az SNMP egy évvel később született, de az első változata csak a TCP/IP hálózatokon működött. SNMP - Simple Network Management Protocol, vagyis egyszerű hálózat felügyelő protokoll. A protokoll alapgondolata, hogy a meglévő hálózati elemek mellé felügyeleti állomásokat határoz meg. Ahhoz, hogy egy hálózati elem felügyelhető legyen, speciális programokat kell futtatni. Ezeket a programokat szokás SNMP-ügynököknek nevezni (SNMP agent). Ezek a programok egy helyi adatbázissal rendelkeznek, amely információkat tartalmaz a hálózat aktuális, vagy múltbeli állapotáról. A felügyeleti állomásokon szintén speciális programok futnak, amelyek vezérlik az SNMP-ügynökök működését.

Beépített ügynökök

Az SNMP protokollt támogató hálózati eszközök automatikusan figyelik a saját működésüket egy beépített, SNMP megbízottnak vagy ügynöknek (agent) nevezett szoftver segítségével, és az így begyűjtött információt egy menedzsment információs adatbázisban (MIB ­ Management Information Base) tárolják. A rendszeradminisztrátor a saját munkaállomásán olyan hálózatmenedzselő alkalmazást futtat, mint a Tivoli NetView vagy az OpenView. Ezek rendszeres ütemezéssel, automatikusan vagy az adminisztrátor parancsára lekérdezik a hálózati eszközök különböző SNMP megbízottjait, amelyek válaszként elküldik a saját MIB-jükön lévő adatokat. Ezeket a menedzsmentalkalmazás összegyűjti, elemzi és megjeleníti (1. ábra). Az SNMP nemcsak ellenőrzésre, hanem beavatkozásra is alkalmas. A menedzselő alkalmazás konfiguráló utasításokat és adatokat küldhet az egyes eszközök SNMP megbíztottjainak. A megbízottak úgy is beállíthatók, hogy egy adott helyzetben vagy egy esemény bekövetkezésekor jelzést küldjenek a menedzselő alkalmazásnak.

A menedzselő alkalmazás (NMS,­ Network Management System) négyféle paranccsal kommunikál az egyes eszközök SNMP-megbízottjaival: ­

  • olvasás: (get, get-next) az NMS kiolvassa az adatokat az eszköz MIB adatbázisából
  • írás: (set) az NMS konfigurációs céllal változó adatokat ír az eszköz MIB adatbázisába
  • lekérdezés: (get response, válasz a get, get-next  vagy set parancsra) az NMS lekérdezi, hogy az eszköz milyen változókat kezel, és sorban kiolvassa őket ­
  • riasztás: (trap) az eszköz a korábbi beállításnak megfelelően jelzi bizonyos esemény bekövetkezését az NMS-nek.

Mivel a menedzselt eszközök és működésük jellemzői meglehetősen különbözőek, az ezeket tároló MIB adatbázist a lehető legegyszerűbb módon kellett kialakítani egyszerű fa struktúrában. Az SNMP első változatát két irányban fejlesztették tovább az idők során: rugalmasabbá tették és beépítettek néhány biztonsági elemet. Az utóbbira azért volt szükség, mert az eszközök átkonfigurálásának a lehetősége támadási felületet is jelentett ellenük. Sok gyártó ezért ezt a lehetőséget nem is építette be az eszközeibe, az SNMP-vel csak diagnosztizálni lehet őket, konfigurálni nem. A rugalmasabb felhasználást segítette, hogy az új verzió, az 1992 júliusában elfogadott SNMP v2 már nemcsak TCP/IP hálózatokon használható, hanem többek között az AppleTalk és az IPX protokollok felett is működik. Ezenkívül kibővítették a MIB adatbázisban tárolható változók típusait, és bevezették a MIB modulokat, amelyek a hozzájuk tartozó menedzselt objektum definícióját tartalmazzák. Az SNMP v2 háromféle üzenettípust használ: titkosítás nélküli, hitelesített, de nem titkosított, valamint hitelesített és titkosított üzeneteket.

A hitelesítéshez egy előre egyeztetett kulcsot használnak. A kulcsot a küldő elhelyezi az üzenetben, majd a teljes üzenetről egy 128 bites lenyomatot készít, és ezt illeszti a kulcs helyére, ezután továbbítja az üzenetet. A fogadó a kulccsal szintén kiszámítja a lenyomatot, és összeveti az üzenetben lévővel. Az üzenet egy időbélyeget is tartalmaz, ennek a segítségével ellenőrizhető az üzenetek eredeti sorrendje, mert az időrendben való továbbítást a hálózatok jó része nem garantálja. Az SNMP v2 nem kompatíbilis az első verzióval, de a megjelenés után több mint 10 évvel ez aligha okoz gondot. Az SNMP legújabb továbbfejlesztése az Rmon (Remote Monitoring), amely az egyedi eszközök halmaza helyett egységként kezel egy-egy alhálózatot, ezzel megkönnyítve a rendszeradminisztrátor dolgát.

Milyen adatokat gyűjthetünk be az SNMP-vel?

Ez teljes mértékben az eszközöben lévő megbízottaktól és a menedzselő alkalmazástól függ. Az egyes hálózati eszközök ­útválasztók, kapcsolók, tűzfalak ­figyelése természetes; mivel az SNMP magas szintű protokoll, kiszolgáló alkalmazásokat is figyelhetünk vele. Például vizsgálhatjuk a HTTP-forgalmat egy webkiszolgálón. Terhelésdiagramján egy éles tüske utalhat egy DoS (Denial of Service) támadásra, amikor egyszerre annyi kérést intéznek a kiszolgálóhoz, hogy az a túlterhelés miatt elfogadhatatlan válaszidőket produkálva lelassul. Egy meredek felfutás pedig azt mutathatja, hogy nem működik a terheléselosztás, mert a hálózat egy szegmense leállt vagy túlterhelt. Figyelhetjük egy dokumentumhoz való hozzáférés gyakoriságát is.

Például hányan nyitották meg vagy töltötték le az adott állományt, és túlterhelés esetén gondoskodhatunk egy másik kiszolgálón való replikációjáról. Alacsonyabb szinten megnézhetjük például, hogy hány kapcsolat él most a hálózatunkon. Egy specifikus esemény előfordulásáról is gyűjthetünk adatot: hányszor kapták a felhasználók az "Oldal nem található" (Page not found) vagy a "Szolgáltatás nem elérhető" (Service unavailable) hibaüzenetet. Talán ebből a rövid áttekintésből is kiderült, hogy neve ellenére az SNMP egyáltalán nem egyszerű protokoll. Ráadásul nem is valami hatékony, a hálózati sávszélességgel meglehetősen pazarlóan bánik, például a verziószám minden egyes üzenetben szerepel, feleslegesen. A kilencvenes évek közepén fejlesztették ki a CMIP (Common Management Information Protocol) protokollt ­ ez jóval többet tud, mint az SNMP, amelynek a felváltására szánták. A CMIP azonban az SNMP-hez képest többszörös hálózati forgalmat generál, többek között ez akadályozza az elterjedését.