Diese wissenschaftliche Arbeit soll einen grundlegenden Überblick über das Simple Network Management Protocol zur Überwachung von Netzwerkgeräten geben. Der Aufbau der Arbeit ist so strukturiert, dass zu Beginn kurz auf die Entstehungsgeschichte von SNMP eingegangen wird. Danach folgen die Rahmenbedingungen die für den Einsatz des SNMP zur Netzwerküberwachung gegeben sein müssen. Anschließend werden grundlegende Kommunikationsbefehle und die Management Information Base beschrieben. Im Letzten Kapitel erfolgt eine detaillierte Beschreibung der SNMP-Versionen. Hierbei wird der Paketaufbau von SNMP erläutert und allgemeine Schwachstellen von SNMP in der Version 1 beschrieben. Zum Schluss werden die Unterschiede zu den Nachfolgerversionen dargestellt.
Da heutzutage die Effizienz eines Unternehmens von deren eingesetzten Netzwerk-Technologie abhängt, ist es unabdingbar Komponenten wie z.B. Switche, Router und Server hinsichtlich Ihrer Funktionalität zu überwachen. Da auf dem Markt zahlreiche Hersteller mit unterschiedlichen Geräten werben, wurde Ende der 80ger Jahre von der IETF (The Internet Engineering Task Force) ein Standard zur Überwachung und Steuerung dieser Geräte entwickelt. Ziel dieser Organisation ist es, hoch qualitative und technische Dokumente anzufertigen, auch bekannt als RFC-Textdatei (Request for Comments), um u.a. eine Standardisierung der im Internet eingesetzten Protokolle zu erreichen. Das im Jahre 1988 von der IETF publizierte RFC 1067, mit dem Titel „Simple Network Management Protocol“, setzte sich als Ziel, die hier eingesetzte SNMP-Architektur so unabhängig wie möglich von der Architektur bzw. des Mechanismus des Gastgebers zu gestalten. Das somit damals angestrebte Ziel der Unabhängigkeit sorgte dafür, dass fast alle Hersteller heutzutage das SNMP-Protokoll auf Ihren Geräten unterstützen und diese somit überwacht und gesteuert werden können.
Inhaltsverzeichnis
Abkürzungsverzeichnis
Abbildungsverzeichnis
1 Einleitung
2 Simple Network Management Protocol
2.1 Geschichte
2.2 Rahmenbedingungen für SNMP
2.3 Kommunikation zwischen Agenten und Netzwerkmanagement
2.3.1 Get, GetNext, GetBulk, Response
2.3.2 Set
2.3.3 Trap
2.4 Management Information Base
2.4.1 Managed Objects
2.4.2 OID-Object Identifier
2.5 Internet Assigned Numbers Authority
2.6 SNMPv1, SNMPv2, SNMPv3
2.6.1 SNMPv1
2.6.1.1 Aufbau SNMP-Paket
2.6.1.2 SNMP-Paket-Header
2.6.1.3 PDU-Header
2.6.1.4 PDU-Body
2.7 SNMPv2
2.8 SNMPv3
2.8.1 Authentifizierung, Datenintegrität, Verschlüsselung
3 Fazit
4 Literaturverzeichnis
Abkürzungsverzeichnis
Abbildung in dieser Leseprobe nicht enthalten
Abbildungsverzeichnis
Abbildung 1 Client-Serverkommunikation mittels SNMP
Abbildung 2 Beispiel Get-Kommunikation
Abbildung 3 Beispiel Trap
Abbildung 4 MIB2-Tree Beispiel
Abbildung 5 Objekt-Beispiel
Abbildung 6 MIB-Tree Ausschnitt
Abbildung 7 MIB-Tree OID-Beispiel
Abbildung 8 OID-Abfrage Qlogic Switch
Abbildung 9 OID-Abfrage Juniper Switch
Abbildung 10 Sniffing-Beispiel Wireshark
Abbildung 11 SNMP-Paketaufbau, get-request ifNumber
Abbildung 12 Anfrage(get-Request) / Antwort(get-Response)
Abbildung 13 Anfrage(get-Request) / Antwort(get-Response)
Abbildung 14 Anfrage(get-Request) / Antwort(get-Response)
Abbildung 15 Paketgrößenvergleich SNMPv1 Get vs Snmpv2c GetBulk
Abbildung 16 Beispiel Switch SNMP Gruppe mit OIDs definieren
Abbildung 17 Beispiel Switch Benutzer & Berechtigungen
Abbildung 18 Beispiel SNMP-Zugangsdaten NMS
1 Einleitung
Diese wissenschaftliche Arbeit soll einen grundlegenden Überblick über das Simple Network Management Protocol zur Überwachung von Netzwerkgeräten geben. Der Aufbau der Arbeit ist so strukturiert, dass zu Beginn kurz auf die Entstehungsgeschichte von SNMP eingegangen wird. Danach folgen die Rahmenbedingungen die für den Einsatz des SNMP zur Netzwerküberwachung gegeben sein müssen. Anschließend werden grundlegende Kommunikationsbefehle und die Management Information Base beschrieben. Im Letzten Kapitel erfolgt eine detailierte Beschreibung der SNMP-Versionen. Hierbei wird der Paketaufbau von SNMP erläutert und allgemeine Schwachstellen von SNMP in der Version 1 beschrieben. Zum Schluss werden die Unteschiede zu den Nachfolgerversionen dargestellt.
2 Simple Network Management Protocol
2.1 Geschichte
Da heutzutage die Effizienz eines Unternehmens von deren eingesetzten Netz- werk-Technologie abhängt, ist es unabdingbar Komponenten wie z.B. Switche, Router und Server hinsichtlich Ihrer Funktionalität zu überwachen. Da auf dem Markt zahlreiche Hersteller mit unterschiedlichen Geräten werben, wurde Ende der 80ger Jahre von der IETF (The Internet Engineering Task Force) ein Standard zur Überwachung und Steuerung dieser Geräte entwickelt. Ziel dieser Organisation ist es, hoch qualitative und technische Dokumente anzufertigen, auch bekannt als RFC-Textdatei (Request for Comments), um u.a. eine Standardisierung der im Internet eingesetzten Protokolle zu erreichen.[1]
Das im Jahre 1988 von der IETF publizierte RFC 1067, mit dem Titel „Simple Network Management Protocol“, setzte sich als Ziel, die hier eingesetzte SNMPArchitektur so unabhängig wie möglich von der Architektur bzw. des Mechanismus des Gastgebers zu gestalten.[2] Das somit damals angestrebte Ziel der Unabhängigkeit sorgte dafür, dass fast alle Hersteller heutzutage das SNMP-Protokoll auf Ihren Geräten unterstützen und diese somit überwacht und gesteuert werden können.
2.2 Rahmenbedingungen für SNMP
Das Simple Network Management Protocol gehört zu der TCP/IP (Transmission Control Protocol/Internet Protocol) Familie. Dabei handelt es sich um ein Protokoll für die Anwendungsschicht, mit dessen Hilfe Verwaltungsinformationen zwischen Netzwerkgeräten ausgetauscht werden können. Die Voraussetzungen dafür setzen sich aus drei wesentlichen Komponenten zusammen.
- Geräte (z.B. Router, Switche, Server, Computer) - Agenten
- Network Management System (NMS)
Bei den Geräten handelt es sich um Netzwerkknoten auf denen SNMP-Agenten
ausgeführt werden. Diese SNMP-Agenten sind Programme, die Informationen über den Host erfassen, manipulieren und bereitstellen können. Sie bilden die Schnittstelle mit dem zentralen Netzwerkmanagement, das über das User Datagram Protocol (UDP) bei Bedarf Informationen über die Geräte via SNMP abfragen kann. Das NMS führt Anwendungen aus, um verwaltete Geräte zu überwachen und zu steuern. Zudem stellt das System Bearbeitungs- und Speicherressourcen bereit, um empfangene Informationen verarbeiten, speichern und illustrieren zu können.
Abbildung 1 Client-Serverkommunikation mittels SNMP[3]
Abbildung in dieser Leseprobe nicht enthalten
2.3 Kommunikation zwischen Agenten und Netzwerkmanagement
Die Kommunikation zwischen Agenten und Netzwerkmanagement werden über sechs grundlegende Befehle abgewickelt. Um die Netzwerkbelastung möglichst gering zu halten stützt sich die Kommunikation zwischen Agenten und NMS auf das verbindungslose UDP-Protokoll. Anfragen an den Agenten werden über UDP Port 161 und Meldungen asynchron an das NMS über UDP Port 162 abgewickelt.[4]
2.3.1 Get, GetNext, GetBulk, Response
Jede SNMP-Nachricht enthält eine Protocol Data Unit (PDU). Diese PDUs dienen der Kommunikation zwischen NMS und Agenten. SNMP definiert hierbei unterschiedliche PDU-Typen wie z.B. „Get“, „Getnext“, „Set“ und „Response“. Mit dem Befehl „Get“ kann das Netzwerkmanagementsystem einen Datensatz vom Agenten anfordern, mit dem Befehl „GetNext“ den nächsten Datensatz und mit dem Befehl „GetBulk“ Datensätze am Stück.
Diese Anfragen werden vom Agenten entgegengenommen. Es folgt ein „Response Paket“ das entweder die angeforderten Informationen oder eine Fehlermeldung enthält. Diese Befehle werden in erster Linie dazu genutzt verwaltbare Geräte auszulesen und somit zu überwachen.[5]
Abbildung 2 Beispiel Get-Kommunikation
Abbildung in dieser Leseprobe nicht enthalten
2.3.2 Set
Der „Set“ Befehl dient der Steuerung von Geräten. Werte von verwalteten Geräten können manipuliert und gespeichert werden. Die Bestätigung oder Abweisung der Anfrage erfolgt wieder seitens des Agenten über ein „Response Paket“.
2.3.3 Trap
Um dem NMS Ereignisse seitens des Agenten unaufgefordert mitzuteilen, wird das „Trap Paket“ verwendet. Beim Auftreten von Fehlern auf dem zu überwachenden Gerät schickt der Agent ein „Trap-Paket“ an das NMS, dass jedoch nicht quittiert wird. Somit weiß der Agent nicht, ob das Paket bei dem NMS angekommen ist.[6]
Abbildung 3 Beispiel Trap
Abbildung in dieser Leseprobe nicht enthalten
2.4 Management Information Base
Um den Zugriff auf Informationen SNMP-fähiger Geräte herstellerübergreifend zu gewährleisten, wurde die Management Information Base (MIB) als Standardformat zur Beschreibung von Geräteinformationen entwickelt.
Die Management Information Base beinhaltet eine Sammlung von Managementinformationen, die in einer standardisierten Baumhierarchie aufgelistet werden. Der Zugriff erfolgt über das Netzwerkmanagement Protokoll SNMP. MIBs setzen sich aus Managed Objects (MO) zusammen die über Object Identifiers (OID) eindeutig identifiziert werden können. Die MIB dient hierbei als eine Art Adressverzeichnis in der die Manged Objects abgelegt und gespeichert werden. Sie enthält keinerlei Daten, sondern beschreibt nur wo sich diese befinden. Die Daten liegen bei den SNMP-fähigen Geräten.[7] Eine MIB wird als ASCCI-Datei in der Structure of Management Information (SMI) Syntax geschrieben. Sie definiert die Regeln für das
Beschreiben von Informationen mittels der abstrakten Beschreibungssprache Abstract Syntax Notation One (ASN.1).[8] Die folgende Abbildung illustriert einen MIB2-Tree.
Abbildung 4 MIB2-Tree Beispiel[9]
2.4.1 Managed Objects
Managed Objects stellen beliebig viele Eigenschaften SNMP fähiger Geräte bereit. Über jedes Objekt werden Angaben zur Syntax (Objekttyp), Access (Zugriffsberechtigung), Status, Description (Beschreibung) und Position im MIB-Baum gemacht.[10] Dies wird in der folgenden Abbildung dargestellt.
Abbildung 5 Objekt-Beispiel[11]
Abbildung in dieser Leseprobe nicht enthalten
Es wird zwischen skalaren und tabellarischen Objekten unterschieden. Abbildung 6 illustriert einen MIB2-Tree Ausschnitt.
Ein Beispiel für ein skalares Objekt ist ifNumber, das als einzige Objektinstanz den ganzzahligen Wert der zur Verfügung stehenden Netzwerkinterfaces angibt. Währenddessen besteht das Objekt ifTable aus mehreren zusammengehöhrenden Objektinstanzen. Jede dieser Instanz liefert abhängig von dem Ergebnis ifNumber detaillierte Informationen über diese Interfaces.[12]
Abbildung 6 MIB-Tree Ausschnitt
2.4.2 OID-Object Identifier
Über die OID kann ein NMS auf die Objektwerte eines Agenten zugreifen, diese abfragen bzw. manipulieren. Die OID kann entweder als Zahlenreihe oder String dargestellt werden. Sie beschreibt dabei den Weg durch die hierarchische Baumstruktur der MIB. Um die OID des Objektes ifNumber im vorangegangen Beispiel zu ermitteln verkettet man angefangen an der Wurzel des MIB-Trees alle Zahlen oder Strings bis hin zum gewünschten Objekt. Daraus würde sich folgende OID ergeben: .1.3.6.1.2.1.2.1. Veanschaulicht wird dies in Abbildung 7.
[...]
[1] RFC 3935, S. 1
[3] How to Install SNMP Agent 2013
[4] RFC 1157, S. 16
[5] RFC 1157, S. 20f.-24
[6] RFC 1157, S. 25-27
[7] Abeck 2009, S. 64
[8] Struktur der Managementinformation
[9] RFC 1213, S. 13-60
[10] RFC 1155, S. 10
[11] MIB2 Ausschnitt
[12] Abeck 2009, S. 44-66