SNMP (Simple Network Management Protocol)

SNMP (Simple Network Management Protocol)

© Copyright Shutterstock / Profit_Image

Was bedeutet SNMP (Simple Network Management Protocol)?

Das SNMP (Simple Network Management Protocol) ist ein Protokoll, welches von der IETF (Internet Engineering Task Force) entwickelt wurde. Es dient der Steuerung, Überwachung und Konfiguration von Netzwerkelementen. Unter diese Kategorie fallen Geräte wie Router, Switches, Computer, Server, Drucker und auch Firewalls.

Das grundlegende Konzept bzw. die ursprüngliche Idee hinter dem SNMP (Simple Network Management Protocol) ist der Informationsaustausch zwischen einem zentralen Manager und seinen Agenten. Der Austausch erfolgt über sogenannte Netzwerkpakete.

Die Daten sind dabei unterschiedlicher Natur. Dies können statistische Daten, Statusdaten, sowie Konfigurations- und Steuerungsdaten sein. Der Aufbau der Daten und den genauen Ablauf der Kommunikation wird durch das SNMP bestimmt. Aktuelle existieren mehrere SNMP-Versionen. Die neuesten Versionen unterstützen dabei auch Sicherheitsmechanismen wie Verschlüsselungen.

Die Management Information Base (MIB) im SNMP

Die MIB übernimmt eine zentrale Aufgabe bei der Steuerung und Überwachung der Netzwerkelemente durch das SNMP, denn über sie läuft die Bereitstellung von Informationen der Objekte. Man kann die MIB als eine Art Datenbank betrachten. In dieser werden die Daten in einer baumartigen Objektstruktur abgelegt. In der vorhandenen Struktur bildet das MIB die Datenbasis, welche in einem Netzwerkelement vorhanden ist. Diese kann dann durch das SNMP abgefragt werden. Für die Standardversion des MIB existieren zahlreiche Erweiterungen, sowie herstellerspezifische Objekte.

Die Kommunikation zwischen Manager und Agenten im SNMP

Beim Simple Network Management Protocol kommunizieren die sich auf jedem Endgerät befindlichen Agenten mit einem oder gar mehreren zentral eingerichteten Managern. Bei den beschriebenen Agenten handelt es sich in den meisten Fällen um eine Software, welche direkt auf den Komponenten läuft, die überwacht werden sollen. Die Software ist in der Lage den Status und die Konfiguration eines Komponenten zu erfassen. Sie kann Aktionen ausführen und Einstellungen vornehmen.

Der Manager ist ebenfalls eine Software, die sich auf einem dafür vorgesehen Rechner befindet. Dieser soll dann mit den Agenten kommunizieren, sowie Meldungen entgegennehmen. Der typische Ablauf einer solchen Kommunikation sieht in der Regel wie folgt aus: der Manager sendet einen Request an einen Agenten, der diesen dann bearbeitet und ein Response-Paket als Antwort zurückschickt. Es ist jedoch auf möglich, dass ein Agent unaufgefordert Informationen an den Manager versendet.

Dies geschieht über die sogenannten TRAPS“. Diese werden dann vom Agenten versendet, wenn ein unvorhergesehenes oder kritisches Ereignis eingetreten ist, wie zum Beispiel eine Fehlfunktion im System. Eine TRAP kann aber nicht nur für die Meldung einer Fehlfunktion vom Agenten genutzt werden. Ebenso ist es möglich, dass eine TRAP auf eine Request des Managers gesendet wird, nämlich immer dann, wenn der Agent die Request nicht bearbeiten oder durchführen kann.

Die verschiedenen Arten von Nachrichten des SNMP

Um vielfältige Aufgaben zu erfüllen stehen dem SNMP standardmäßig verschiedenen Pakettypen zur Verfügung. Diese ergeben sich wie folgt:

Dient zum Anfordern von Informationen
Dient zur weiteren Anforderung von Daten der MIB
Dient dem Abruf von mehreren Datensätzen zur selben Zeit
Dient der Veränderung von Daten und Konfigurationsinformationen eines Elements
Dient als Antwort auf eine Anfrage oder auf einen TRAP, der durch einen Agenten versendet wurde

GET-Pakete sendet ein Manager an den jeweiligen Agenten. Response Pakete stellen eine Antwort oder eine Bestätigung auf die Anfrage dar und beinhalten die angefragten Informationen. Die TRAP-Pakete, die vom Agenten ausgehen, werden vom Manager nicht bestätigt. Das heißt der Agent kann nicht feststellen, ob diese tatsächlich Ihr Ziel erreicht haben.

Wie ist ein Paket im SNMP aufgebaut?

Bis auf die TRAPs sind die anderen Pakete größtenteils identisch aufgebaut. Bei der Version v1 des SNMP sind keinerlei Informationen über die Größe eines verschickten Pakets enthalten. Die Informationen über die genutzte Version können Sie im Header finden. Dort befindet sich auch der Name der Community. Auf die einzelnen Versionen des SNMP wird im nächsten Absatz genauer eingegangen. Vorher ist noch zu erwähnen, dass innerhalb einer Community die Zugriffsrechte für die Objekte zugewiesen werden.

Hier wird oft die Community “public” verwendet, um den Zugriff für das reine Lesen von Informationen zu gewähren. Sollen ebenfalls Schreib- und Lesezugriffe eingerichtet werden, so kann das durch die Community “private” geschehen. Diese Bezeichnungen sind jedoch in den meisten Fällen standardisiert. Zur Wahrung der Sicherheit empfiehlt es sich, diese Community-Namen in eigenen Namen zu ändern.

Die unterschiedlichen Versionen des SNMP

Die erste Version des SNMP entstand bereits im Jahr 1988. Diese standen damals jedoch vor einem schwerwiegendem Problem: Es gab entweder gar keine oder nur eine mangelhafte Implementierung von Sicherheitsmechanismen. Die unzureichende Sicherheit macht es möglich, die Kommunikation zwischen dem Manager und einem Agenten einzusehen. Sogar Passwörter konnten auf diese Art ohne größeren Aufwand ermittelt werden, da diese ohne Verschlüsselung übertragen wurden.

Aus SNMPv1 entstand dann zu einem späteren Zeitpunkt der Nachfolger SNMPv2, welches in verschiedenen Varianten existiert. Das SNMPv2 bringt jedoch hinsichtlich der Sicherheit kaum nennenswerte Vorteile. Neuerungen in der Version 2 war die Einführung des Befehls GETBULK für die Abfrage mehrere Informationen gleichzeitig. Zusätzlich unterstützt SNMPv2 neben den altbekannten Protokollen IP, ECP und UDP nun auch weitere Protokolle wie IPX und Appletalk.

Mit der Entwicklung des SNMPv3 wurden dann im Jahr 2002 die lang erwarteten Sicherheitsfunktionen implementiert. So gibt es jetzt die Möglichkeit auf eine Username- und Passwortverschlüsselung, sowie die Verschlüsselung von Übertragungen. Auch der Umfang der Konfigurationsmöglichkeiten wurde deutlich erhöht. Einzig und allein die Verwendung von Community-Strings (wie oben bereits erwähnt) ist im SNMPv3 nicht mehr möglich. SNMPv3 setzt auf Benutzernamen und Kennwörter.


Sie haben noch Fragen?

Kontaktieren Sie uns

Kostenloser SEO-Check der OSG


Weitere Inhalte