Ratgeber Netz-Management

Oldie SNMP bestimmt den Markt

08.09.2010 von Daniel Zobel
Auch in der mittlerweile dritten Generation ist das Simple Network Management Protocol (SNMP) Standard im Netz-Management - nicht zuletzt mangels einer praktikablen Alternative. Wir zeigen, worauf beim Einsatz zu achten ist.
Foto: aboutpixel.de

SNMP als Basis für ein umfassendes Netz-Management ist nicht unproblematisch und erfordert umfassendes Know-how und manchmal Improvisationsvermögen. Moderne Monitoring-Lösungen setzen auf SNMP, verringern aber dessen Komplexität, indem sie den Anwender bei der Einrichtung unterstützen.

Via SNMP lassen sich Konfigurationsaufgaben abarbeiten und Einstellungen aus der Ferne tätigen. Kompatible Hardware sind üblicherweise Router, Switches und Server. Auch Drucker, Umgebungssensoren (etwa Temperatur oder Luftfeuchtigkeit) und viele andere Geräte können mittels dieses Standardprotokolls abgefragt und gesteuert werden. Voraussetzung ist, dass das Gerät per Netz (Ethernet, TCP/IP) erreichbar ist und über einen SNMP-Server verfügt. Es sollte sich also um ein aktives Gerät handeln, das auf gezielte Anfragen reagiert.

Von den neueren Netz-Switches unterstützen SNMP jedoch nur die etwas teureren Geräte beispielsweise von den Markenherstellern Cisco, Linksys und Hewlett-Packard (jeweils ab 200 Euro). Bei vielen günstigeren Geräten (Unter-100-Euro-Klasse, Consumer-Hersteller) wurde am Zugriff durch SNMP "gespart".

Wie funktioniert SNMP?

Mittels SNMP findet eine Client-Server-Kommunikation über das "User Datagram Protocol" (UDP) statt: Eine Überwachungs- oder Management-Software fungiert als Client und sendet UDP-Pakete an den SNMP-Server, den so genannten Agenten. Dieser befindet sich in der Regel in einem Gerät und antwortet wiederum mit der Aussendung eines eigenen SNMP-Pakets. Mit jedem einzelnen Anfrage-Antwort-Zyklus kann der Client einen Messwert abrufen, beispielsweise den derzeitigen Netz-Traffic, die CPU-Auslastung und die Temperatur. Je nach Methode können auch mehrere Werte gleichzeitig übertragen werden.

Steuerungsbefehle und SNMP-Traps

Über den reinen Informationsaustausch hinaus kann SNMP auch Steuerungsbefehle übertragen. Mit diesen ist der Client in der Lage, bestimmte Werte zu setzen und Optionen sowie Einstellungen zu verändern. Während bei der klassischen Kommunikation stets der Client aktiv Informationen vom Server abfragt, ermöglicht SNMP zusätzlich die Verwendung von "Traps". Dabei handelt es sich um Datenpakete, die der SNMP-Server an den Client versendet, ohne dass sie explizit angefordert werden müssen. Bei entsprechender Konfiguration eines Geräts (beziehungsweise des Servers in diesem Gerät) und sobald auf Server-Seite ein bestimmtes Ereignis eintritt, wird ein SNMP-Trap an den Client gesendet. Eine Netz-Management-Software kann so ohne Zeitverzögerung auf spezifische Vorkommnisse in der Umgebung reagieren.

Aufwendige Beschreibungssprache

Client-Server-Kommunikation mittels SNMP zum Austausch von Statusinformationen.
Foto: Paessler

Der reine Sendeprozess ist recht einleuchtend und geradlinig. Dagegen ist das Erzeugen der Datenpakete sehr aufwendig. Die Pakete werden in einer Beschreibungssprache erstellt, die auf der vergleichsweise komplizierten "Abstract Syntax Notation One" (ASN.1) basiert. Dieser Vorgang ist relativ komplex, weshalb viele Implementierungen Fehler enthalten - besonders im Embedded-Bereich (etwa in Routern und Switches). Diese Fehler reichen vom kleinen Lapsus bis zu handfesten Falschinterpretationen der Request- for-Comments-(RFC-)Spezifikationen, was zu erheblichen Problemen bei den Client-Programmen führen kann. Beispielsweise werden falsche Daten übermittelt, oder die Kommunikation kommt erst gar nicht zustande.

Softwarehersteller, die sich mit SNMP-Implementierungen auseinandersetzen, müssen gut über die Geräte der einzelnen Hardwarehersteller Bescheid wissen. Erst nach und nach werden sie die verschiedenen Probleme erkennen. Eine moderne Netz-Monitoring-Software sollte deshalb mehrere SNMP-"Varianten" verschiedener Hersteller abfangen, die eigentlich fehlerhaft implementiert sind.

Die Management Information Base (MIB)

Für eine erfolgreiche Übermittlung der Werte und eine Netzüberwachung mittels SNMP sind eindeutige Adressen für die verfügbaren SNMP-Objekte Voraussetzung. Diese müssen auf beiden Seiten bekannt sein. Damit der Zugriff auch herstellerübergreifend und mit unterschiedlichen Client-Server-Kombinationen funktioniert, wurde die "Management Information Base" (MIB) als unabhängiges Format zur Speicherung von Geräteinformationen entwickelt. Eine MIB ist eine Textdatei, in der alle abfragbaren SNMP-Objekte eines Geräts in einer standardisierten Baumstruktur aufgelistet sind. Sie enthält mindestens einen "Object Identifier" (OID), der, neben der notwendigen eindeutigen Adresse sowie einem Namen, zusätzlich Informationen über Typ, Zugriffsrechte sowie eine Beschreibung des jeweiligen Objekts liefert.

Herausforderungen bei der Arbeit mit SNMP

Die MIB besitzt eine Baumstruktur, wie das Beispiel einer Linux-MIB zeigt.
Foto: Paessler

Eine Netzüberwachung mittels SNMP arbeitet meist sehr zuverlässig. Neben den bereits erwähnten Kompatibilitätsproblemen ergeben sich bei der praktischen Umsetzung jedoch kleine Tücken oder Hindernisse, die den erfolgreichen Einsatz von SNMP erschweren - vor allem bei der Ersteinrichtung. Zu den größeren Herausforderungen zählen beispielsweise Lastprobleme. Diese treten auf, wenn der SNMP-Client infolge einer zu "optimistischen" Konfiguration in sehr kurzen Abständen viele Anfragen erzeugt und damit das Netz zeitweise stört oder gar lahmlegt. Eine geeignete Netz-Monitoring-Software kann helfen, viele Probleme von vornherein auszuschließen, und unterstützt hier mit sinnvollen Default-Werten.

Auch der Einrichtungsaufwand durch fehlende oder fehlerhafte MIBs wird häufig unterschätzt. Die RFC-Spezifikationen beinhalten sogar die Möglichkeit, dass Geräte mit jedem Neustart die eindeutige Adresse (OID) ihrer SNMP-Objekte ändern dürfen. Hier kann eine intelligente Auto-Discovery-Funktion im SNMP-Management-Programm (Client) den Administrator erheblich entlasten. Sie erkennt die im Netz vorhandenen Geräte und die darin enthaltenen SNMP-Objekte automatisch und sorgt dafür, dass Geräte mit wechselnden OIDs nach einem Neustart automatisch wiedererkannt werden.

Alternativen zu SNMP

Angesichts der etwas schwerfälligen Erstkonfiguration stellt sich die Frage nach grundsätzlich anderen Monitoring-Möglichkeiten im Netz. Der Nutzen von Alternativen hängt ganz davon ab, was überwacht werden soll und auf welchen Systemen. Bei PCs besteht die Möglichkeit, spezielle Software zu installieren - so genannte Probes oder Agenten. Soll jedoch ein Router überwacht werden, bleibt oft nur das übrig, was der Hersteller in der Firmware anbietet. Meist ist das ausschließlich SNMP. Bei höherwertigen Geräten gibt es in der Regel erweiterte Monitoring-Optionen wie beispielsweise das Netflow-Protokoll (Cisco-Standard). Auch Packet Sniffing, WMI (Windows-Standard) oder agentenbasierende Systeme (meist herstellerspezifisch) bieten weitere Möglichkeiten zur Netzüberwachung.

Die Zukunft von SNMP

Trotz der vielen Probleme und Sicherheitsrisiken ist vor allem SNMP V1 bis heute weit verbreitet, da universell einsetzbar. Viele Geräte stellen es als einzigen Standard zum Auslesen von Werten zur Verfügung. Hier liegt großes Potenzial für einen neuen, modernen und flexiblen Standard, allerdings kann den niemand im Alleingang entwickeln. In den vergangenen Jahren gab es hierzu verschiedene Ansätze, von denen sich aber bis heute keiner durchsetzen konnte. Das liegt vor allem daran, dass für einen neuen Standard verschiedene Hardwarehersteller miteinander kooperieren müssten. Doch wird sich kaum ein Entwickler die Mühe machen, ein (experimentelles) neues Protokoll zu unterstützen, an dem er nicht selbst mitgearbeitet hat. Entschließt sich wiederum ein Hersteller dazu, ein proprietäres Format zu entwickeln, dann stößt dieses in der Regel auf wenig Akzeptanz bei den Administratoren.

Verschiedene SNMP-Entwicklungsstufen

Die erste SNMP-Version (V1) tauchte bereits 1981auf. Obwohl V1 keine "Abhörsicherheit" mittels Verschlüsselung oder ähnlicher Mechanismen beinhaltet, ist sie aufgrund ihrer intuitiven Bedienung hinter einer Firewall noch immer die favorisierte Variante in vielen nichtöffentlichen LANs. Für den Gebrauch in öffentlichen Netzen empfiehlt sich diese Version jedoch nicht. Trotzdem bieten viele Geräte noch heute lediglich SNMP V1 an.

Seit 1993 rückte das Sicherheitsproblem in den Fokus. Die damals diskutierten, mehr auf diese Problematik ausgerichteten Lösungen haben sich aber nie wirklich durchgesetzt. Lediglich eine um wenige Funktionen erweiterte Nachfolgeversion (üblicherweise als "V2c" bezeichnet) fand bei manchen Anwendern Gefallen. Auch die aktuelle Version SNMP V3, die vor allem SNMP sicherer machen soll, hat Akzeptanzprobleme, da ihr Einsatz recht komplex und aufwendig ist.

Fazit

SNMP dürfte uns trotz seiner Einschränkungen noch lange begleiten, selbst wenn ein neuer Standard eingeführt werden sollte. Millionen laufende und funktionierende Monitoring-Systeme werden nicht von heute auf morgen durch etwas Neues ersetzt werden - getreu dem Motto: "Never Touch a Running System". Das Protokoll mag zwar nicht die beste Lösung sein, aber es ist weit verbreitet, bekannt und etabliert. Und wenn eine Überwachung mittels SNMP erst einmal eingerichtet ist, läuft sie meist auch sehr zuverlässig.

Ein weiterführendes White Paper mit detaillierten technischen Informationen finden Sie bei Paessler zum Download.