Suchen

Definition Was ist SNMP?

Das Simple Network Management Protocol (SNMP) wurde von der IETF (Internet Engineering Task Force) entwickelt und dient als Protokoll zur Überwachung, Steuerung und Konfiguration von Netzwerkelementen. Dies können sowohl Router, Switches und Firewalls als auch Server, Drucker oder Computer sein.

(© aga7ta - Fotolia)

Das Grundkonzept von SNMP sieht den Informationsaustausch zwischen Agenten und einem zentralen Manager über Netzwerkpakete vor. Solche Informationen können Statistik- oder Statusdaten aber auch Steuerungs- und Konfigurationsdaten sein. Das Simple Network Management Protocol beschreibt den Aufbau der Datenpakete und den genauen Ablauf der Kommunikation. Es existieren verschiedene SNMP-Versionen; aktuelle Versionen unterstützen Sicherheitsmechanismen wie Verschlüsselung.

Mögliche Aufgaben, die sich per SNMP realisieren lassen, sind das Überwachen von Netzwerkelementen, das Steuern und Konfigurieren der Elemente aus der Ferne sowie das Alarmieren und Übermitteln von Fehlern. Vorteile von SNMP sind die Einfachheit und der modulare Aufbau. Dank dieser Eigenschaften hat sich das Simple Network Management Protocol als Standard etabliert und wird von vielen Endgeräten und Netzwerkmanagementprogrammen unterstützt.

Kommunikation zwischen Agent und Manager

Bei SNMP kommunizieren die Agenten der einzelnen Endgeräte mit einem oder mehreren zentralen Managern. Bei den Agenten handelt es sich in der Regel um Software, die direkt auf den zu überwachenden Komponenten läuft. Die Software kann den Status und die Konfiguration einer Komponente erfassen, Aktionen ausführen oder Einstellungen vornehmen.

Der Manager ist eine Software auf einem dafür vorgesehenen Rechner, die mit den Agenten kommuniziert und deren Meldungen entgegennimmt. Das Kommunikationsprotokoll ist SNMP. Der typische Ablauf einer Kommunikation sieht vor, dass der Manager einen Request an den Agenten schickt, den dieser ausführt und mit einem Response-Paket beantwortet. Darüber hinaus kann der Agent unaufgeforderte Informationen über so genannte Traps versenden. Sie kommen oft bei unvorhergesehenen oder kritischen Ereignissen zum Einsatz.

Die verschiedenen Nachrichtentypen von SNMP

Um die verschiedenen Aufgaben zu erfüllen, sieht der SNMP-Standard unterschiedliche Pakettypen vor. Es handelt sich um GET-REQUEST zum Anfordern von Informationen, GETNEXT-REQUEST um weitere Daten der Management Information Base (MIB) anzufordern, GETBULK (SNMP Version 2) zum Abrufen von mehreren Datensätzen gleichzeitig, SET-REQUEST zum Verändern von Daten oder Konfigurationsinformationen eines Netzwerkelements, GET-RESPONSE als Antwort auf eine Anfrage und den TRAP als unaufgeforderte Nachricht eines Agenten an den Manager.

GET-Pakete werden vom Manager an den Agenten gesendet. Response-Pakete beantworten oder bestätigen die Requests und beinhalten die angeforderten Informationen. Da Trap-Pakete vom Manager nicht bestätigt werden, kann der Agent nicht feststellen, ob diese angekommen sind. Die Datenübermittlung nutzt im IP-Netz das verbindungslose UDP und die Ports 161 und 162.

Die Management Information Base (MIB)

Eine zentrale Rolle bei der Überwachung und Steuerung der Netzwerkelemente durch SNMP nimmt die Management Information Base (MIB) ein, über die die Bereitstellung von Informationen der Objekte läuft. Es handelt sich bei der MIB um eine Art Datenbank, in der die Daten in einer baumartigen Objektstruktur abgelegt sind. Die MIB repräsentiert die Datenbasis, die in einem Netzwerkelement vorhanden ist und per Simple Network Management Protocol abgefragt werden kann. Neben der Standard-MIB existieren zahlreiche Erweiterungen und herstellerspezifische Objekte.

Die verschiedenen SNMP-Versionen

Die erste Version des Simple Network Management Protocols SNMPv1 wurde bereits 1988 über verschiedene RFCs definiert. Unter anderem waren dies die RFCs 1155, 1156 und 1157. Eines der Hauptprobleme der ersten Version war die fehlende oder mangelhafte Implementierung von Sicherheitsmechanismen.

Aufgrund der unzureichenden Sicherheit war es beispielsweise möglich, die Kommunikation zwischen dem Agenten und dem Manager abzuhören. Auch das Passwort war leicht zu ermitteln, da es unverschlüsselt übertragen wurde.

Aus SNMPv1 entstand der Nachfolger SNMPv2, der in verschiedenen Ausprägungen existiert. Sicherheitstechnisch bringt er jedoch keine entscheidenden Vorteile. Er beinhaltet zusätzliche Funktionen wie den Befehl GETBULK zur Abfrage von mehreren Informationen gleichzeitig. Zudem unterstützt SNMPv2 neben IP, TCP und UDP weitere Protokolle wie IPX oder Appletalk.

Ausreichende Sicherheitsfunktionen sind erst in SNMPv3 implementiert. Diese Version beinhaltet Username- und Passwort-Verschlüsselung ebenso, wie die Verschlüsselung der Übertragung. Zusätzlich stehen deutlich mehr Konfigurationsmöglichkeiten zur Verfügung. Die Spezifizierung von SNMPv3 erfolgte in mehreren RFCs im Jahr 2002.

Der Aufbau eines SNMP-Pakets

Die verschiedenen Pakete sind bis auf die Trap-Meldung fast identisch aufgebaut. Bei SNMPv1 sind keine Informationen über die Größe des Gesamtpakets vorhanden. Im Header findet sich die Information zur genutzten Version (SNMPv1, SNMPv2 oder SNMPv3) sowie der Name der Community.

Über die Community sind in der Regel die Zugriffsrechte auf die Objekte zugewiesen. In vielen Fällen ist die Community "public" für den rein lesenden Zugriff auf Informationen vorgesehen. Für Schreib- und Lesezugriffe kommt meist die Community "private" zum Einsatz. Es empfiehlt sich aus Sicherheitsgründen, diese Community-Namen zu ändern und eigene zu verwenden.

Dem Header des Pakets folgen der PDU-Header und der PDU-Body. Der PDU-Header gibt Auskunft über den verwendeten Pakettyp.

(ID:45012799)

Über den Autor