Wir zeigen Ihnen was es mit SNMP Agents, Managern, Traps, OIDs und MIBs auf sich hat und wie SNMP in der Praxis sicher eingesetzt werden kann.
SNMP steht für Simple Network Management Protocol und ist ein breit eingesetzter und etablierter Industriestandard für die Überwachung und Steuerung von Netzwerkgeräten.
SNMP arbeitet nach einem traditionellen Client-Server Prinzip und wurde im Jahr 1990 durch den RFC1157 offiziell spezifiziert.
Ein Überwachungssystem sendet hierbei eine Abfrage gegen ein SNMP-fähiges Netzwerkgerät und erhält von diesem eine Antwort zurück.
Umgekehrt können aber auch die Netzwerkgeräte selbst proaktiv und unaufgefordert sogenannte "Traps" an das Überwachungssystem senden. Dazu aber später mehr.
Die Kommunikation erfolgt verbindungslos über UDP Port 161 für die Abfrage bzw. UDP Port 162 bei Traps.
Aktuell gibt es insgesamt 3 verschiedene SNMP Versionen. Diese unterscheiden sich neben einigen Funktionserweiterungen vor allem in Ihren Sicherheitsfunktionen.
Während SNMP v1 und SNMP v2 mit den sogenannten Coummunity-Strings nur eine sehr rudimentäre und leicht zu erratende Authentifizierungsmethode bieten, können bei SNMP v3 komplexere Authentifizierungen mit Benutzername / Passwort sowie eine Verschlüsselung der Datenübertragung genutzt werden.
Die SNMP Version v2c stellt aktuell die am weitesten verbreitete Variante dar und ist auf vielen Netzwerkgeräten auch der voreingestellte Standard. Dies ist auch die einzige SNMP Version, die mit dem Kürzel "c" eine zusätzliche Abstufung in der Versionsnummer besitzt.
Jedes Netzwerkgerät stellt aufgrund seiner Funktionen unterschiedliche Abfragemöglichkeiten bereit. Um diese gezielt ansprechen zu können, gibt es sogenannte OIDs (= Object Identifier).
Diese kann man sich wie eine Telefonnummer mit Vorwahl vorstellen. Hier ein Beispiel einer OID um den hinterlegten Standort eines Gerätes auszulesen:
1.3.6.1.2.1.1.6.0
Eine OID teilt sich dabei von Links nach Rechts in eine hierarchische Baumstruktur auf. Die ersten 4 Stellen sind hierbei in 99% der Fälle immer gleich:
Danach verzweigt sich die OID hauptsächlich in zwei weitere Hauptbereiche:
Die verschiedenen Abfragemöglichkeiten eines Gerätes werden ähnlich wie in einem Telefonbuch oder Postleitzahlenverzeichnis vom Hersteller in einer Management Information Base (= MIB) zusammengefasst.
In dieser sind folgende Informationen ersichtlich:
Für MIBs und deren OIDs gibt es auch offizielle Verzeichnisse, die einem die Recherche deutlich erleichtern:
Wie Eingangs bereits angesprochen gibt es neben dem Weg einen Wert aktiv abzufragen mit SNMP Traps auch eine Möglichkeit die Kommunikationsrichtung umzudrehen.
In diesem Fall sendet das Netzwerkgerät bei einem vordefinierten Event eine Nachricht an das Monitoringsystem. Dies wird vor allem für zeitkritische Benachrichtigungen verwendet:
Der SNMP-Manager ist das Überwachungssystem, welches Abfragen zum aktuellen Status versendet oder SNMP-Traps erhält. Gängig sind hierbei z.B. Monitoringsysteme wie Nagios, Icinga, PRTG, etc.
Es kann sich hierbei aber auch um einen einfachen SNMP-Tester oder ein Kommandozeilen Tool handeln, welches eine SNMP-Abfrage durchführt und den Wert dann ausgibt.
Der SNMP-Agent ist im übertragenen Sinne der Client, welcher Abfragen vom Monitoringsystem entgegen nimmt und auf diese antwortet. Der SNMP-Agent kann hierbei auch von sich aus Traps versenden.
Dabei handelt es sich in der Regel um einen SNMP-Dienst, der auf einem Netzwerkgerät oder Server läuft.
SNMPv1 und v2 bieten von Haus aus nur eine sehr eingeschränkte Sicherheit über die Community-Strings. Zudem ist immer zu beachten, dass alle Daten unverschlüsselt im Netzwerk übertragen werden. Diese Versionen sollten somit nicht für die Übertragung schützenswerter Informationen genutzt werden.
Für sensible Informationen sollte stets SNMPv3 aufgrund seiner Authentifizierungs- und Verschüsselungsmöglichkeiten eingesetzt werden. Der Konfigurationsaufwand ist hierbei allerdings deutlich höher und damit fehleranfälliger als bei SNMPv1 und v2.
Offiziell unterstützt SNMPv3 als höchsten Authentifizierungsstandard nur SHA-128 und AES-128 zur Verschlüsselung. Zwischenzeitlich gibt es aber immer mehr Netzwerkgeräte, welche vom Standard abweichen und höhere Algorithmen unterstützen. Beispielsweise bei neueren Cisco Netzwerkgeräten:
Diese Parameter sind nicht Bestandteil des offiziellen RFC-Standards, weshalb der Support stark vom eingesetzen Monitoringsystem abhängig ist.
Mit SNMP lassen sich auf einfachem und schnellem Wege viele Daten über ein Netzwerkgerät auslesen. Das macht SNMP gleichzeitig auch zum perfekten Protokoll zur Inventarisierung.
Für viele Standardgeräte wie Switches, Netzwerkdrucker, Infrastruktur, etc. lassen sich bereits grundlegende Informationen auslesen.
# Standort
1.3.6.1.2.1.1.6.0
# Hersteller ID
1.3.6.1.2.1.1.2.0
# Modell
1.3.6.1.2.1.1.1.0
# Seriennummer
1.3.6.1.2.1.47.1.1.1.1.11
Die Herausforderung liegt hierbei in der Vielfältigkeit der Hersteller und Geräte. Nicht alle geben die benötigten Informationen unter diesen Standard Abfragepunkten zurück, sondern nutzen stattdessen Herstellerspezifische Spezifikationen (= MIBs).
Über diesen Ansatz lässt sich eine komplett automatische Inventarisierung der Netzwerkgeräte realisieren, was in der Praxis nicht nur viel Zeit spart sondern auch Sicherheit durch verlässliche und aktuelle Daten gearantiert.
Kombiniert Hardware, Lizenzen, Verträge, Bestellungen und vieles mehr in einem System.
Am häufigsten wird SNMP jedoch zur Überwachung kritischer Infrastrukturkomponenten eingesetzt. Primär vor allem im Netzwerkbereich, bei dem kleine Ausfälle eine große und globale Wirkung haben können.
# Uptime
1.3.6.1.2.1.25.1.1
# CPU Last pro Core
1.3.6.1.2.1.25.3.3.1.2
# HPE iLO Health
1.3.6.1.4.1.232.6.1.3.0
Ein Blick in die SNMP MIBs des jeweiligen Gerätehersteller liefert hier Klarheit über die Abfragemöglichkeiten. Für viele gängige Monitoringtools existieren zudem vordefinierte Sensoren (z.B. bei PRTG), welche eine Einrichtung sehr einfach machen.
SNMP erlaubt auch eine Steuerung bzw. Schreibvorgänge von bzw. auf Netzwerkgeräte. Diese Funktion führt allerdings vor allem aus Sicherheitsgründen ein Nischendasein und ist nur für spezielle Einsatzzwecke interessant.
Die Steuerung über SNMP sollte auf den Geräten deaktiviert werden. Sofern diese Funktion doch benötigt wird, muss in der Praxis in jedem Fall SNMPv3 mit einer sicheren Authentifizierung eingesetzt werden.
Teilweise ist Trial-and-Error angesagt um die Reaktion eines Gerätes auf bestimmte Ereignisse zu prüfen. Vor allem wenn keine offiziellen MIBs bereitstehen oder Fehler enthalten.
Hierbei haben sich für uns zur Abfrage von SNMP Werten die nachfolgenden Tools in der Praxis bewährt.
Auf der Linux Kommandozeile können die beiden Tools "snmpget" und "snmpwalk" verwendet werden.
snmpget -v2c -c public <IP-Adresse> 1.3.6.1.2.1.25.1.1
snmpwalk -v2c -c public <IP-Adresse> 1.3.6.1.2.1.25
Der letztere Befehl snmpwalk eignet sich besonders gut zum "Auskundschaften" aller verfügbaren SNMP OIDs unterhalb des angegebenen Pfades.
Für den Einsatz unter Windows bietet der für seine Monitoring Lösung PRTG bekannte Hersteller Paessler ein kostenloses Abfragetool an.
Um herstellerspezifische MIBs zur Abfrage von Geräten zu nutzen und in diesen zu navigieren, kann der SNMP MIB-Browser verwendet werden.
Bei der Verwendung von SNMP in der Praxis gibt es einige Best Practices, die beachtet werden sollten.
Es gibt sehr viele Standardwerte, die sich per SNMP abfragen lassen. Leider verfolgen manche Hersteller hier teils individuelle und manchmal undokumentierte Implementierungen, die Admins leider in der Praxis viel Zeit für einfache Tasks kosten.
Trotz oder vielleicht gerade aufgrund seines Alters hat sich SNMP dennoch als sehr vielseitiges Tool zur Überwachung und Inventarisierung von Netzwerkgeräten etabliert. Daneben bietet es mit SNMP Traps und erweiterten Funktionen wie SNMP SET auch zusätzliche Funktionen zur vollständigen Automatisierung.
Zu beachten ist hierbei aber immer die Art der abgefragten Daten. Einfache Kennzahlen wie z.B. CPU Last oder Füllstand einer Festplatte können bei Bedarf unverschlüsselt übertragen werden, während für alle anderen sensiblen Daten auf SNMPv3 inkl. Authentifizierung und Verschlüsselung gesetzt werden sollte.
Geschäftsführer / CEO
Gründer und Geschäftsführer der EntekSystems GmbH. Herr Kostka verantwortet bei uns die Bereiche technischer Vertrieb und Leitung des Tagesgeschäfts.
Kombiniert Hardware, Lizenzen, Verträge, Bestellungen und vieles mehr in einem System.
Weitere Artikel und Beiträge
IT-Inventarisierung ist wie ein gutes Rezept: Wie können die richtigen Zutaten und eine präzise Zubereitung dafür sorgen, dass Ihre IT optimal funktioniert? In diesem Artikel werfen wir einen Blick darauf, wie Sie Ihre IT-Inventarisierung erfolgreich „zubereiten“.
Der Helpdesk-Alltag ist oft überlastet durch Support-Anfragen und IT-Verwaltung. Wann ist es Zeit für ein IT Asset Management (ITAM)-System? In diesem Artikel beleuchten wir die Anzeichen für den Bedarf und die Vorteile eines Umstiegs, um Ihre Helpdesk-Operationen zu optimieren.
Als IT-Administrator ist es die Aufgabe, die digitale Infrastruktur eines Unternehmens zu verwalten und sicherzustellen, dass alle Ressourcen effizient genutzt werden. Eine der grundlegenden, aber oft vernachlässigten Aufgaben in diesem Bereich ist die IT-Inventarisierung.