SNMP Grundlagen, Sicherheit und wichtige Begriffe

Das Simple Network Management Protocol, kurz SNMP, ist ein weit verbreitetes Protokoll für die Überwachung von Netzwerkgeräten wie beispielsweise Routern oder Switches. SNMP benötigt lediglich zwei Komponenten um zu funktionieren. Eine Management Station (z.B. Nagios) welche Informationen bezieht oder empfängt und einen Agenten, welcher die Informationen zur Verfügung stellt. Der Agent ist häufig bereits in die Netzwerk-Hardware integriert und muss nur noch aktiviert und konfiguriert werden. SNMP ist recht einfach gestrickt aber dennoch leistungsfähig. Mit SNMP lässt sich ein Gerät nicht nur überwachen sondern auch seine Einstellungen bei Bedarf verändern.

Nachdem SNMP Agenten von vielen Betriebssystemen bereits mitgeliefert werden (z.B. Microsoft Windows 2012 Server), oder sich einfach installieren lassen, ist auch die Überwachung eines Servers mit SNMP möglich.

SNMP Versionen und Sicherheit

Die meisten Geräte unterstützen alle drei Versionen von SNMP – Version 1, Version 2c und Version 3.

Version 1 ist die einfachste Version welche lediglich die Basisfunktionen von SNMP zur Verfügung stellt. Version 1 wird auch heute noch verwendet, beispielsweise wenn ältere Hardware überwacht werden muss.

Version 2c erweitert Version 1 um ein paar zusätzliche Funktionen.  Version 2c wird aufgrund der einfachen Konfigurierbarkeit sehr häufig eingesetzt.

Die große Schwäche von Version 1 und 2c ist die Sicherheit. Beide Versionen arbeiten mit sogenannten „Community Strings“, welche mit Passwörtern gleichzusetzen sind. Diese und auch alle anderen über Version 1 und  Version 2c ausgetauschten Daten werden unverschlüsselt übermittelt. Eine Möglichkeit zur Authentifizierung gibt es nicht. Das ist besonders problematisch da sich mit SNMP auch die Konfiguration von Geräten möglich ist. Dennoch lassen sich beide Versionen einsetzen, wenn die Daten ausschließlich im lokalen Netzwerk versendet werden. Außerdem sollte die Sicherheit über eine entsprechende Konfiguration des Agents nochmals erhöht werden. Zwei Konfigurationsschritte sollten an dieser Stelle unbedingt durchgeführt werden:

  • Abfrage von Werten nur von der IP Adresse der Management Station erlauben
  • Standardwerte der Community Strings (ro = Public, rw = Private) ändern

Version 3 behebt die Sicherheitsprobleme von Version 1 und Version 2c und sollte nach Möglichkeit auch genutzt werden, insbesondere wenn die Daten über eine unsichere Leitung (z.B. Internet ohne VPN) fließen. Den Sicherheitsgewinn bezahlt man allerdings mit einer deutlich komplexeren Konfiguration.

OIDs and MIBs

Der SNMP Agent legt seine Werte in Objekten ab. Jedes Objekt besitzt eine eindeutige OID (Object Identifier). OIDs sind hierarchisch angeordnet. Ähnlich einer Ordnerstruktur auf dem PC, oder einem LDAP Verzeichnis.

SNMP OID Baumstruktur

Über OIDs können die Werte von der Management Station abgefragt werden. Hier ein Beispiel einer solchen Abfrage:

snmpget -v1 -c public 192.168.0.1 .1.3.6.1.2.1.1.1.0

MIB bedeutet Management Information Base. In der Management Information Base (MIB) sind die OIDs dokumentiert. Sie beschreibt Objekte die von einem Gerät im Netzwerk abgefragt bzw. gesetzt werden können.

Deutlich erleichtern kann man sich die Arbeit mit MIB und OIDs durch einen MIB Browser mit grafischer Oberfläche. Unter Windows ist hier der iReasoning MIB Browser Personal Edition zu empfehlen. Auf dem Mac der MIB Browser von von Aribada.

Community Strings

Community Strings sind gleichzusetzen mit einem Passwörtern. Sie werden dafür verwendet um bestimmten Nutzern bestimmte Rechte auf den Datenpool zu erteilen. Häufig sind standardmäßig „Public“ für „nur Lesen“ definiert und „Private“ für „Lesen und Schreiben“. Diese Werte sollten unbedingt geändert werden!

Weitere SNMP relevante Begriffe

  • Get: Die GET Anfrage wird an den Agent gesendet um eine Bestimmte Information (z.B. durchschnittliche Prozessorlast) zurück zu erhalten.
  • Get Next: Die GETNEXT Anfrage verläuft im Prinzip genauso wie die GET Anfrage. Einziger Unterschied ist, dass nicht die Werte der in der Variablenliste angebenen Variablen geholt werden, sondern die Werte der Nachfolgervariablen.
  • Informs: Ähnlich zu Traps sind Informs Werte die durch den Agenten verschickt werden, ohne dass die Management Station diese explizit angefragt hat. Unterschied zu Traps ist, dass bei Informs eine Bestätigung an den Agenten verschickt wird.
  • NMS: Abkürzung für Network Management Station, die Software welche Informationen empfängt und auswertet (z.B. Nagios).
  • Notification: Entspricht einer Trap.
  • Object: Ein Objekt dessen Status über SNMP abgefragt werden kann (z.B. CPU Last, Interface Status etc.)
  • Polling: Als Poll wird die Anfrage der Network Management Station bezeichnet.
  • Set: Die SET Anfrage wird verwendet um Einstellungen eines Geräts zu ändern.
  • Trap: Ein „Trap“ ist eine Nachricht des Agenten an die Network Management Station, welche nicht explizit angefordert wurde. Traps können beispielsweise gleich bei Auftreten eines Ereignisses verschickt werden.
  • Variable: Die Variable ist der aktuelle Wert eines Objektes. also z.B. CPU Last = 10%, oder Interface = up.
  • Walk: Eine Abfrage (und Ausgabe) der kompletten MIB, bzw. eine Reihe von GETNEXT Befehlen.

Quelle: http://www.networkmanagementsoftware.com/snmp-tutorial

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.