Simple Network Management Protocol

Jan Horák, jhhorak@gmail.com

Obsah

Úvod

SNMP je protokol používaný k monitorování stavu počítače, sítě a dalších zařízení v počítači. Pomocí SNMP a jeho nástrojů lze získat například informace o:

SNMP používá většinou UDP protokol, a to na portech 161 (poslouchá) a 162 (posílá trapy). SNMP se v podstatě chová jako klasický model klient/server, kde jako server vystupuje tzv. agent, který obsluhuje dotazy a obstarává samotnou komunikaci a klient, tzv. manager, který příjímá data od agenta. Agent může asynchronně posílat tzv. trapy, snmptrapd daemonovi, což je reakce na nepředvídanou událost, například při hardwarové chybě, při připojení nového zařízení...

SNMPv1 - první verze protokolu, neřeší nijak zabezpečení, pakety jsou zasílany nešifrovaně

SNMPv2 - druhá verze protokolu, rozšíření protokolu v1, ale zpětně nekompatibilní, to je řešeno pomocí proxy agenta

SNMPv3 - poslední verze protokolu, řeší bezpečnostní problémy předchozích verzí (autentizace, šifrování)

Metody SNMP

Ve verzích 1 a 2 jsou používány následující příkazy:

MIB (Management Information Base)

MIB je hierarchicky řazená stromová struktura, udržující základní informace jednotlivých objektech (uzlech) ve stromu. Objekty jsou definovány na základě SMIv2 (Structure of Management Information Version 2) a každý na svůj tzv. OID (Object Identifier), pomocí kterého se lze na jednotlivé objekty odkazovat. Jedná se o posloupnost čísel začínající "tečkou", která představuje root. Každý z uzlů je spravován svojí organizací:

Například:

Ostatní organizace si mohou zažádat o vlastní část podstromu, kterou si budou sami spravovat.

       
          .

       /  |  \
    ccit iso iso-ccitt
          |   
      --------
     /  / | \ \
         org 
          | 
         dod
        /   \
   internet
      /   \
    mgmt
    /  \
  mib-2
   /
 ----------------------------------------------------
  /     /               |          |   |    |  |   |
system interface addr-translation ip  icmp tcp udp egp
 

Autentizace a konfigurace SNMP

Hlavní konfigurační soubor je /etc/snmp/snmpd.conf, kde je nastavení snmp daemona. Konfiguraci můžeme provést budˇ ručně nebo formou dialogu za pomocí skriptu snmpconf -b basic_setup.

Ve verzích 1 a 2 probíhá nastavení pomocí direktiv rocommunity/rwcommunity:

rocommunity COMMUNITY [SOURCE [OID]]
rwcommunity COMMUNITY [SOURCE [OID]]
nebo
rocommunity COMMUNITY SOURCE -V VIEW
rwcommunity COMMUNITY SOURCE -V VIEW
zmíněná komunikace tedy probíhá nešifrovaně.

Ve verzi 3 je možné nastavit práva přímo pro uživatele autentizovaného heslem:

rouser USER [noauth|auth|priv [OID]]
rwuser USER [noauth|auth|priv [OID]]

Část konfigurace tedy může vypadat takto:

# namapujeme jméno komunity na security jméno
#		sec.name	source		community
com2sec		readonly	10.0.0.0/24 	public
com2sec		ferda		10.0.0.0/24	private

# namapujeme sec. jméno na group jméno
#		group.name	securityModel	sec.name
group		ROgrp		v1		readonly
group		auth		usm		ferda

# vytvoříme nějaký "pohled"
# 		name		incl/excl	subtree
view		roview		included	system.sysContact
view		roauth		included	system.sysName
# přidělíme práva
# 	group	context	sec.model sec.level prefix read write notif
access  ROgrp	""	    v1    noauth   exact  roview none none
access  auth    ""          usm   priv     exact  roauth none none  

Nástoje

K dispozici je řada nástrojů, jsou součástí balíků net-snmp a net-snmp-utils

#	verze komunita   zdroj	     OID/string
snmpget -v 1 -c public localhost .1.3.6.1.2.1.1.5.0
SNMPv2-MIB::sysName.0 = STRING: proto02

MRTG

MTRG (The Multi Router Traffic Grapher ) je vizualizační nástroj, který na základě informací ze SNMP umí vygenerovat HTML stránky, obsahující i grafy, zobrazující provoz na síti.

Nagios

Nagios je systém pro monitorování stanic a specifikovaných služeb. Lze ho konfigurovat a ovládat přes webové rozhraní. Podle nastavení je schopný posílat upozornění administrátorovi. Mezi základní funkce patří:

Literatura