SNMP - Informatik 4
Transcription
SNMP - Informatik 4
Rheinisch-Westfälische Technische Hochschule Aachen Lehrstuhl für Informatik IV Prof. Dr. rer. nat. Otto Spaniol SNMP Seminar: Internetprotokolle für die Multimediakommunikation WS 2002/03 Martin Krebs Matrikelnummer: 232852 Betreuung: Karl-Heinz Krempels Lehrstuhl für Informatik IV, RWTH Aachen Inhaltsverzeichnis 1 2 3 SNMP-Einführung 4 1.1 Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2 Geschichte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.3 Ziele von SNMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Das Modell 5 2.1 Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.2 Management-Station (Manager) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.3 Proxy-Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.4 Das RFC-Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 ASN.1 (Abstract Syntax Notation One) 7 3.1 Die Grundidee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.2 Primitive Datentypen (simple types) . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.3 Subtypen (subtypes) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.4 Zusammengesezte Typen (constructed types) . . . . . . . . . . . . . . . . . . . . . 8 3.5 Neue Typen (tagged types) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.6 Object Identifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.7 Transfersyntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 4 SMI (Structure of Mangement Information) 11 5 MIB - Management Information Base 12 5.1 System-Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 5.2 Interfaces-Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 5.3 AT (Adresstranslation)- Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 5.4 IP-Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 5.5 ICMP-Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 5.6 TCP-Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2 6 7 8 5.7 UDP-Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 5.8 EGP-Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 5.9 Transmission-Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 5.10 SNMP-Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Standard MIBs 15 6.1 RMON-MIB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 6.2 RMON2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 6.3 Andere MIBs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Das SNMP-Protokoll 16 7.1 Transportprotokoll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 7.2 Communities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 7.3 SNMP-Nachrichten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 7.4 Aufbau der SNMP-Pakete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 7.4.1 PDU der Befehle Get, Get-next und Set . . . . . . . . . . . . . . . . . . . . 18 7.4.2 PDU von Traps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 SNMPv2 19 8.1 Einsatz weiterer Transportprotokolle . . . . . . . . . . . . . . . . . . . . . . . . . . 20 8.2 Erweiterungen der SMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 8.2.1 Neue Datentypen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 SNMPv2 Versionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 8.3.1 SNMPv2c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 8.3.2 SNMPv2u . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 8.3.3 SNMPv2* . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 8.3 9 SNMPv3 21 10 SNMP am Beispiel 22 10.1 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 24 1 SNMP-Einführung 1.1 Einleitung Netzwerke sind in der Regel recht komplex und heterogen. Sie bestehen aus Komponenten wie Router, Switches oder Drucker. Mit wachsender Anzahl und steigender Komplexität der Geräte wächst auch der administrative Aufwand, und damit die TCO (Total Cost of Ownership). Bei schlecht strukturierten und dokumentierten Netzwerken kann die Fehlersuche oft sehr viel Zeit verursachen. Jede Ausfallzeit, etwa eines E-Commerce Webservers bedeutet für ein Unternehmen nicht kalkulierbare Verluste, je nach Größe des Unternehmens sogar im sechsstelligen Bereich. Abhilfe schaffen intelligente Managementkonzepte, die Verwaltung und Fehlersuche wesentlich vereinfachen und beschleunigen. Die Grundlage für alle Konzepte bildet das SNMP (Simple Network Mangement Protokoll). Die Anforderungen an ein Mangementprotokoll sind relativ hoch. Es darf nicht zu komplex sein, und sollte ein Netzwerk nicht noch zusätzlich mit hohem Datenaustausch belasten. Für Hersteller ist der Implementierungsaufwand für ein Endgerät oft entscheidend. Ein grundlegender Ansatzpunkt stellt die Sicherheit bzw. ein Sicherheitskonzept eines Protokolls dar. Mit Hilfe des Protokolls muß es möglich sein nicht nur zu überwachen, sondern auch zu steuern: Fällt ein Port auf einem Switch, aus wird der Administrator durch eine Warnmeldung benachrichtigt. Dieser entscheidet dann, was zu tun ist. Er könnte einen Techniker vor Ort schicken oder einfach eine Reserveroute aufschalten. Das Protokoll muß einem Standard unterliegen, wie etwa den RFC(Request for Comments). Damit ein Protokoll auch erfolgreich wird, sollten es viele Hersteller in ihren Geräten unterstützen. Alle diese Ansprüche erfüllt SNMP. 1.2 Geschichte SNMP hat seinen Ursprung im nordamerikanischen Forschungsnetz ARPANET dem Vorgänger des Internet. Anfangs war das Netzwerk mit seinen Komponenten überschaubar. Funktionierte etwas nicht, konnte man den verantwortlichen Router problemlos etwa mit einem Ping ausfindig machen. In den 80er Jahren begann das Netz explosionsartig zu wachsen, in jedem Jahr verdoppelte sich die Anzahl der angeschlossenen Netzknoten mit den angeschlossenen Subnetzen. Dadurch wurde die eingesetzte Hardware-Landschaft immer unüberschaubarer und heterogener. Im März 1987 begann eine kleine Gruppe von Netzgurus mit der Entwicklung von Management-Protokollen. Sie verfolgten dabei mehrere verschiedene Ansätze. Darunter war das Simple Gateway Monitoring Protocol (SGMP). Der Name wurde deshalb gewählt, da das Management von Verbindungsknoten zwischen den Subnetzen mit den jeweiligen Gateways eines der Hauptprobleme darstellte. Zwei weitere Ansätze setzten sich nicht durch, das eine verließ nie den Entwicklungsstatus in den Labors und man gab es zu Gunsten von SGMP auf. Ein weiterer Ansatz CMOT konnte mit SGMP nicht konkurrieren. Im August 1988 wurden RFC 1065 Structurs of Management Information, RFC 1066 Management Information und RFC 1067 Simple Network Management Protocoll zum draft standard“ erklärt. Im April 1989 ” bekam SNMP, wie es jetzt hieß, den Standard recomended“, wodurch es faktisch zur Norm für die ” 4 Verwaltung von TCP/IP basierten Netzwerken wurde. Aufgrund der einfachen Realisierung des Protokolls, sowie der geringen Anforderungen an die Hardware fand SNMP schnelle Verbreitung. Es zeigten sich aber bald Schwächen, insbesondere im Bereich Sicherheit. Zur Lösung des Problems erschienen im Juli 1992 eine Reihe von RFCs, allgemein unter dem Namen Secure SNMP bekannt, als Proposed Standard. Zur gleichen Zeit wurde eine Erweiterung von SNMP vorgeschlagen, das Simple Management Protocol (SMP). Aus beiden Ansätzen entstand dann die offizielle zweite Version von SNMP: SNMPv2. Im März 1993 erlangte SNMPv2 den Proposed Internet Standard. Das Sicherheitskonzept von SNMPv2 wurde aber allgemein als zu komplex empfunden, so dass im Jahr 1996 überarbeitete RFCs zu SNMPv2 erschienen und man das Sicherheitskonzept von SNMPv2 durch das alte aus SNMPv1 bekannte und unsichere Community-basierende Konzept ablöste. Die neue“ ” Version erhielt den Namen SNMPv2c. Um das Sicherheitsproblem zu lösen, entwickelten sich zwei konkurrierende Ansätze, SNMPv2u und SNMPv2*. Da es aber keinen einheitlichen Standard mehr gab, begann 1997 die Arbeitsgruppe SNMPv3 mit der Arbeit. Im Januar 1998 wurde SNMPv3 zum Proposed Internet Standard, im März 1999 zum Draft Internet Standard erklärt. 1.3 Ziele von SNMP SNMP liegt folgenden Zielen zu Grunde: leicht und günstig zu implementieren mit möglichst geringem zusätzlichen Hardwareaufwand plattformunabhängig keine zu große Netzbelastung verursachen offene Architektur für zukünftige Erweiterungen (Abwärtskompatibilität) 2 Das Modell SNMP basiert auf dem Manager-Agent-Modell, wie es auch im OSI-Modell für Netzwerkmanagement verwendet wird. Die vier Kernkomponenten sind: Verwalteter Knoten mit Managementagent Managementstation Management Information Base (MIB) Managementprotokoll 5 Bild 2.1: Manager-Agent-Modell 2.1 Agent Die verwalteten Knoten können beliebige Endgeräte sein, die über einen Netzwerkanschluss verfügen, wie Router, Swichtes, oder Drucker. Es kann aber auch eine spezielle Anwendung sein wie das Betriebssystem eines PCs oder ein Proxyserver-Programm. Theoretisch ist es auch möglich, einen Toaster oder eine Kaffeemaschine mit SNMP zu verwalten, was dem Leitgedanken von SNMP keinesfalls widerspricht. Damit das entsprechende Gerät verwaltet werden kann, muss es einen SNMP-Agenten ausführen können, der die Kommunikation mit der Außenwelt abwickelt. Jeder Agent besitzt eine lokale Datenbank mit Variablen (MIB - Management Information Base), die den Zustand oder Ereignisse beschreiben. Durch Setzen von Variablen ist es möglich, den Zustand des Knotens zu verändern. Die Objekte sind nicht generisch, d.h. sie sind nicht erzeugbar, sondern sie sind vorhanden oder eben nicht. Sie besitzen auch keine Methoden, sondern nur einen Wert der gelesen (GET) oder geschrieben (SET) werden kann. 2.2 Management-Station (Manager) Das eigentliche Netzwerk-Management wird auf der Management-Station ausgeführt. Die Station ist ein beliebiger Rechner, auf der ein spezielles Management-Programm läuft, das mit den einzelnen verwalteten Knoten kommuniziert. Die Hauptaufgabe von SNMP besteht aus geplanter Anfrage/Antwort-Kommunikation, die von der Management-Station ausgelöst werden kann. Die zweite Möglichkeit ist, dass der Agent selbständig eine Nachricht an die NMS (Network Management Station) sendet, ausgelöst etwa durch ein unvorhergesehenes Ereignis, z.B. einen ausgefallenen Port an einem Switch. Diese Form der Nachricht wird als Trap bezeichnet. Mit Hilfe der Management Software ist es möglich, bestimmte Anfragen an Agenten zu automatisieren. Die Station fragt dann in einem bestimmten Zeitintervall Variablen ab, was als Polling bezeichnet wird. Geschieht dieses Polling in einem zu großen Umfang, belastet es ein bestehendes Netz noch zusätzlich, was dem Grundgedanken von SNMP widerspricht: möglichst klein und einfach zu sein. 6 2.3 Proxy-Agent Nicht alle Netzknoten, insbesondere ältere, verfügen über einen Agenten und sind damit per SNMP managebar. Um diese Geräte aber dennoch in ein Management-Konzept mit einzubinden, definiert SNMP sog. Proxy-Agenten. Der Proxy-Agent wird zwischen Management-Station und dem zu verwaltenden Gerät geschaltet. Die Kommunikation zwischen NMS erfolgt in gewohnter Weise über SNMP. Das Gerät kommuniziert dann mit dem Proxy-Agenten in einer ihm verständlichen Sprache. Danach sendet der Proxy-Agent die Antwort wieder als SNMP-Nachricht zurück an die NMS. 2.4 Das RFC-Framework Das SNMP-Framework basiert auf einer Vielzahl von Dokumenten und Spezifikationen und wird ständig erweitert. Die wichtigsten Dokumente von SNMP sind: RFC1155/1212 Structure of Management Information (SMI) RFC1213 Management Information Base II(MIB-II) RFC1157 SNMP Simple Network Management Protokoll 3 ASN.1 (Abstract Syntax Notation One) 3.1 Die Grundidee ASN.1 ist die formale Beschreibungssprache von Objekten, die von Agenten verwaltet werden und von einer NMS gelesen bzw. geschrieben werden können. Die Kommunikation zwischen Agent und NMS verschiedener Hersteller ist nur über einen einheitlichen Standard in der Kommunikation als auch in einer genormten Beschreibungssprache gewährleistet. Die formale Beschreibung von Objekten wird als abstract syntax, der serialisierte Datenstrom als transfer syntax und die spezielle Darstellung auf dem Rechner wird als local syntax bezeichnet. SNMP benutzt die ASN.1 des OSI-Standards nach ISO-Norm 8824 für die Transfer Syntax und ISO-Norm 8825 für die Basic Encoding Rules. Die Kodierung unterteilt sich in zwei genormte Module, eines zur Kodierung und eines zur Dekodierung. Diese beiden Vorgänge werden in der zuvor genannten Norm durch entsprechende Regeln abgedeckt. ASN.1 ist eine primitive Datendeklarationssprache die von SNMP in einer reduzierten Version benutzt wird, und sich darüber hinaus einiger Besonderheiten bedient. ASN.1 definiert primitive Objekte, die dann zu komplexen Objekten zusammengefasst werden. Vorhandene Standarddatentypen werden in Großbuchstaben geschrieben (z.B. INTEGER) . Benutzerdefinierte Datentypen besitzen einen großen Anfangsbuchstaben. Variablen können Groß-,Kleinbuchstaben, Ziffern oder Bindestriche enthalten, beginnen aber klein (z.B. counter). Kommentare werden von zwei Bindestrichen jeweils am Anfang und Ende eingeschlossen. Es existieren vier Arten von Typen: simple types, constructed types, tagged types, subtypes. 7 3.2 Primitive Datentypen (simple types) Es folgen zulässige Datentypen nach ASN.1. Weitere Datentypen wie BIT STRING,BOOLEAN oder REAL sind zwar in ASN.1 definiert, werden aber von SNMP nicht benutzt. Primitivtyp INTEGER OCTET STRING NULL OBJECT IDENTIFIER Bedeutung Ganzzahl Zeichenkette zwischen 0 und 255 Byte Platzhalter Objektbezeichner Allgemeine Deklaration: NameOfType::=TYPE Beispiel 1: Deklaration der Variablen DisplayString als Zeichenkette DisplayString ::= OCTETSTRING 3.3 Subtypen (subtypes) Variablen von Subtypen können nur bestimmte Werte annehmen, oder sind auf einen bestimmten Bereich beschränkt. Beispiel 2: Die Variable Status kann nur die drei Zustände up, down oder unknown annehmen. Packetsize ist eine Ganzzahl zwischen 0 und 1023. Status ::= INTEGER up(1), down(2), unknown(3) Packetsize ::= INTEGER (0..1023) 3.4 Zusammengesezte Typen (constructed types) ASN.1 definiert mehrere constructed types, in SNMP werden aber nur SEQUENCE, SEQUENCE OF und CHOICE verwendet. Mit Hilfe von SEQUENCE kann man z.B. Tabelleneinträge definieren. Alle Beispiele aus [1]. Beispiel 3: TableEntry ::= SEQUENCE tableIndex INTEGER tableAdress OCTETSTRING tableOwner OBJECTIDENTIFIER 8 SEQUENCE OF konstruiert eine geordnete Liste mit Elementen vom gleichen Typ, was einem Array in einer höheren Programmiersprache wie C entsprechen würde. Beispiel 4: Hier ist Table eine Tabelle mit Einträgen vom Typ TableEntry. Table ::= SEQUENCE OF TableEntry CHOICE ist ein Variantentyp. Beispiel 5: NumberRepr stellt drei verschiedene Möglichkeiten zur Auswahl eine Zahl darzustellen. Entweder als Ganzzahl, bcd-Zahl oder im Hex-ASCII Format. NumberRepr ::=CHOICE integerRepr INTEGER bcdRepr OCTET STRING hexRepr OCTET STRING 3.5 Neue Typen (tagged types) Neue Typen lassen sich durch tagging, ähnlich in C, der alten Typen erzeugen. Dazu stehen vier Kategorien zur Auswahl: universell, anwendungsweit, kontextspezifisch und privat. Ein tagged typ besteht aus einer Beschriftung und einer Ganzzahl zur Identifizierung des Tags. Bespiel 6: Es werden zwei Typen durch 32-Bit Ganzzahlen implementiert, sind aber unterschiedlich in der Umsetzung. Der erste kann nach erreichen des Höchstwertes wieder am Anfang beginnen, der zweite läuft nur bis zum Höchstwert und muss manuell zurückgesetzt werden. Counter32 ::= [application1] INTEGER (0.. 4294967295) Gauge32 ::= [application2] INTEGER (0.. 4294967295) 3.6 Object Identifier Um jedes Objekt eindeutig zu identifizieren existieren Object Identifier, die das Objekt an der zugewiesenen Stelle im Standardbaum einordnen. Die Wurzel des Baumes ist leer, und besitzt weder Beschreibung noch Nummer. Auf der obersten Ebene befinden sich die drei wichtigsten Standardisierungsorgane, ccitt (jetzt ITU), iso und joint-iso-citt, eine Kombination aus beiden. Jede Kante hat 9 eine Beschriftung und eine Nummer. Damit kann jedes Objekt in diesem Standard als Object Identifier dargestellt werden. Es existieren drei Darstellungsarten, nur Beschreibung, nur Nummern oder Mischform. Die Objekt Identifier iso identified-organisation (3) dod(6) internet(1) mgmt(2) mib-2(1) system(1) , 1361211 oder iso 3 dod(6) 1 2 1 system(1) beschreiben das gleiche Objekt,nämlich sysDescr.0 . 3.7 Transfersyntax Die Transfersyntax definiert, wie Werte von ASN.1-Typen eindeutig in eine Bytefolge zur Übertragung kodiert und dekodiert werden. Die von ASN.1 benutzte Transfersyntax ist BER (Basic Encoding Rules). ASN.1 hat keine weitere über SNMP hinausgehende Transfersyntax. Die Regeln sind rekursiv aufgebaut, so dass das Kodieren eines strukturierten Objektes nur die Verkettung der Kodierungen der Komponentenobjekte ist. Der Vorteil hierbei ist, dass alle Objektkodierungen auf Primitivobjekte reduziert werden. Die Kodierung dieser Objekte geschieht dann durch BER. Jede Variable wird durch drei Größen kodiert: Bezeichner (tag) Länge des Datenfeldes in Byte (length) Datenfeld (value) Die Kodierung wird auch als TLV-Kodierung bezeichnet. Tag Tag ist die Typenkennung und besteht aus simple types oder constructed types. Die vier Tag-Klassen sind wie folgt codiert und belegen Bit 7 und 8. Ein Tag wird wie folgt kodiert: Tag-Klasse 87 primitive/constructed type 6 Typenkennung 54321 Die Tag-Klasse kann folgende Werte annehmen: Tag-Klasse Bit 8 Bit 7 universal 0 0 application 0 1 context-specific 1 0 private 1 1 Das Feld primitive/constructed Type kann die Werte 0 und 1 annehmen. Length Das Feld lenght besteht aus 127 Bit, wobei Bit 127 reserviert ist. 10 Value Im Datenfeld wird der Wert einer Variablen kodiert. Es ist entweder leer oder enthält beliebig viele Bytes. 4 SMI (Structure of Mangement Information) SMI bedeutet wörtlich übersetzt Struktur und Identifizierung von Managementinformationen und definiert ein allgemeines Rahmenwerk mit dem Managed Objekts (MO) in einer Management Information Base (MIB) formal nach ASN.1 beschrieben werden können. SMI ist eine Teilmenge von ASN.1 um SNMP Datenstrukturen zu erzeugen. Um Einfachheit zu gewährleisten beschränkt man sich auf einfache Datentypen bzw. (2-dim.) Tabellen. Der Standardbaum ist der gleiche wie in ASN.1, mit der Ausnahme, dass identified-organisation hier org heißt. Die Objektklassen werden definiert über Namen, ihrer Syntax und die zugehörige Kodierung. Der Name des Objekts ist wie in ASN.1, nur dass hier eine Kurzform wie (mgmt 1) möglich ist. SNMP Variablen werden als Objekte definiert, zusammenhängende Objekte werden in Gruppen zusammengefasst, wie z.b. TCP-Gruppe, und Gruppen werden wiederum in Module gepackt. Eine SNMP-Variable beginnt mit dem Aufruf des Makros MODULE-IDENTITY, das den Namen und die Adresse des Implementers, die Revisionsgeschichte und andere Informationen liefert. Es folgt OBJECT-IDENTITY, das den Namen im Standardbaum liefert. Darauf wird das Makro OBJECT-TYPE aufgerufen, das die zu verwaltenden Variablen und deren Merkmale benennt. Dieses hat vier zwingende und vier weiter optionale Parameter: Syntax, der Datentyp der Variablen Max-Access, der Zugriff auf die Variable, Lesen-Schreiben oder Nur-Lesen Status, Status bei der aktuellen SNMP-Entwicklung z.B. current für aktuell gültig Description, eine Beschreibung was die Variable leistet (optional) ::=experimenatal 20 stellt die Variable in den Baum Beispiel der Variable lostPackets als Deklaration OBJECT TYPE (aus [2]). LostPackets OBJECT TYPE SYNTAX Counter -- Benutze 32-Bit-Zähler MAX-ACCESS read-only -- Variable ist schreibgeschützt STATUS current -- Variable ist aktuell DESCRIPTION ’Anzahl der verlorenen Pakete seit dem letzten Booten’ ::=experimental 20 SMI definiert drei Datentypengruppen, wie auch schon aus ASN.1, Primtive Types, Constructor Types und Defined Types. Defined Types sind in ASN.1 von Basistypen abgeleitete Datentypen. Die folgende Tabelle zeigt sechs Defined Types (SNMPv1). 11 Defined Type NetworkAddress IpAdress Counter Gauge TimeTicks Opaque 5 Bedeutung Netzwerkadresse (IP-Adresse) 4-Byte-Internetadresse 32-Bit-Zähler,beginnt wieder bei 0 32-Bit-Pegelanzeige, kein Wechsel auf 0 Anzahl von 1/100 sec-Einheiten (32-Bit) für private Datentypen,die auf OCTET STRING abgebildet werden MIB - Management Information Base Die von SNMP verwalteten Objekte werden in der MIB verwaltet. MIB bezeichnet keine reale Datenbank, sondern ein Datenmodell, das die per SNMP verwalteten Managed Nodes in einer abstrahierten und speziellen Sicht beschreibt. Definiert wird die aktuelle Version der MIB, die MIB-II in RFC 1213, die im wesentlichen aus 175 Makroaufrufen und Kommentaren besteht. Dabei werden Objekte in Gruppen eingeteilt. Unter dem Teilbaum mib-2 existieren derzeit 10 Gruppen, die jeweils wieder eigene Teilbäume bilden, in denen sich insgesamt 175 Objekte befinden. Die Object Identifier aller Objekte dort beginnen mit mgmt 1 oder eben 1.3.6.1.2.1. Alle Gruppen, außer egp müssen implementiert werden. Bild 5.1: MIB-Baum 12 Die MIB-II besteht aus folgenden Gruppen: mib-2 1 system mib-2 2 interfaces mib-2 3 at mib-2 4 ip mib-2 5 icmp mib-2 6 tcp mib-2 7 udp mib-2 8 egp mib-2 10 transmission mib-2 11 snmp 5.1 System-Group Die Gruppe System enthält 7 Objekte, die aus Informationen zum Managed Node bestehen. system 1 system 2 system 3 system 4 system 5 system 6 system 7 sysDescr sysObjectID sysUPTime sysContact sysName sysLocation sysServices Beschreibung der Hardware- und Systemsoftware-Konfiguration Objekt Identifier des Herstellers des Managed Nodes Zeit seit dem letzten Restart des Agent in TimeTicks (1/100 sec) Administrator des Managed Nodes Names des Managed Nodes, meist DNS-Name Beschreibung des Standortes des Managed Nodes implementierte Kommunikationsschichten des Managed Node 5.2 Interfaces-Group Diese Gruppe enthält Informationen und Tabellen über die vorhandenen Netzwerk-Interfaces des Gerätes, wie Übertragungsgeschwindigkeit (ifSpeed), Zustand (ifOperStatus) oder Länge der Warteschlange in Paketen. 5.3 AT (Adresstranslation)- Group Die AT-Gruppe besteht aus Informationen über Umsetzung von Ethernet in IP-Adressen. Sie ist allerding als ’deprecated’ gekennzeichnet und wird in einer nächsten Version nicht mehr vorhanden sein. 5.4 IP-Group Unter der IP-Gruppe finden sich u.a. Zähler über Anzahl der empfangenen IP-Datagramme oder eine IP-Tabelle mit dem des Managed Nodes zugewiesenen IP-Adressen. Besonders bei Routern ist die 13 Tabelle ipRouteTable mit allen bekannten Routen interessant. 5.5 ICMP-Group IP-Fehlermeldungen, gesendete und empfangene ICMP-Fehlermeldungen enthält diese Gruppe. 5.6 TCP-Group Hier befinden sich Informationen über gesendete und empfangene TCP-Pakete, oder die tcpConnTable mit aktuellen TCP-Verbindungen. 5.7 UDP-Group Die UDP-Gruppe enthält 4 Statistikzähler, und u.a. die Tabelle udpTable, die aktuelle UDP-Empfänger beschreibt. 5.8 EGP-Group In der EGP-Gruppe befinden sich Objekte des Exterior Gateway Protocols, ein Protokoll zum Austausch von Erreichbarkeitsinformationen. Das EGP wurde inzwischen aber durch das BGP (Border Gateway Protocol) abgelöst. 5.9 Transmission-Group Die Transmission-Gruppe ist ein Platzhalter für medienspezifische MIBs, etwa der Ether-Like MIB oder der Token-Ring MIB (RFC 1231 IEEE 802.5). 5.10 SNMP-Group In der SNMP-Gruppe sind 29 Zähler untergebracht zu gesendeten und empfangenen SNMP-Nachrichten oder Fehlermeldungen wie snmpInNosuchName snmp 9 oder der GetNext-Zähler snmpInGetNexts snmp 16. 14 6 Standard MIBs 6.1 RMON-MIB Außer der MIB-I / MIB-II existieren noch weiter MIBs, wie schon erwähnt die Ether-Like MIB. Viele Hersteller wie HP oder Cisco statten ihre Produkte mit eigenen MIBs aus, wie z.B. die Drucker-MIB von HP. Von besonderer Bedeutung ist allerdings die RMON (Remote Monitoring) MIB. Sie erweitert SNMP beachtlich um weitere Management und Überwachungsfunktionen, die den Datenverkehr protokollieren aber keine Informationen über spezielle Netzkomponenten liefern. RMON erweitert SNMP um Protokollfunktionen für LANs, da SNMP ursprünglich für WANs entwickelt wurde mit Schwerpunkt Gateways,Router und allgemeine Informationen. Mit Hilfe der RMON-MIB steigt die Funktionalität für Geräte auf OSI-Layer 2, etwa Switches, Repeater oder Bridges. Die RMON-MIB wird häufig von einem Monotoring-Tool, wie das komerzielle HP OpenView. Die Monitoring Software auf der Network Management Station ist eine Komplettlösung, die ganze Netzwerke verwaltet und überwacht. Dazu zählt: Identifikation der am LAN angeschlossenen Stationen Ermittlung der Netzbelastung und graphische Darstellung Verkehrsaufkommen Beobachten der Verfügbarkeit (host up/down?) Ermittlung und Darstellung anderer Protokolle wie IPX, NetBios Datenaufkommen mit Liste der zehn aktivsten Sender (Top Ten Talkers) RMON ist eine Gruppe innerhalb des MIB-II Teilbaums und bildet selbst wieder einen Teilbaum mit zehn Gruppen,ursprünglich waren es nur neun, Token Ring kam später dazu. Der eindeutige OBJECTIDENTIFIER für RMON lautet mib2 16. Die Implementierung ist optional, die SMI schreibt nur vor, dass jede implementierte Gruppe auch vollständig sein muss. Die RMON-MIB besteht aus folgenden Gruppen rmon 1 rmon 2 rmon 3 rmon 4 rmon 5 rmon 6 rmon 7 rmon 8 rmon 9 rmon 10 statistics history alarm hosts hostTopN matrix filter capture event tokenRing enthält Statistik-Werte über den Paketverkehr dient zur Erfassung periodischer Messwerte Variablen, die bei Schwellenwertüberschreitung ein Alarmereignis senden enthält Quell- und Ziel-MAC-Adressen enthält z.B Top Ten Talkers Datenverkehrsaufkommen zwischen je zwei MAC-Adressen als Paketzähler Filteraudrücke, nach den Pakete im LAN ausgewählt werden können mit Hilfe der Filter-Gruppe lassen sich Trace-Anwendungen realisieren enthält eine Protokolltabelle und eine Ereignistabelle stellt Informationen zu Token Ring zur Verfügung 15 6.2 RMON2 RMON2 ist eine Weiterentwicklung von RMON. Mit RMON2 ist es nun möglich, Geräte auf Layer 3 und darüberhinaus zu verwalten, wobei RMON ja nur auf Layer 2 beschränkt ist. Es lässt sich nun E-Mail Verkehr, WWW-Zugriff oder der Router direkt überwachen. Dies ermöglicht, z.B. nach der Installation von neuen Anwendungen festzustellen, warum das Netzwerk plötzlich so langsam geworden ist, oder es lässt sich herausfinden, welcher Datenverkehr durch privates Surfen der User in einem Unternehmen verursacht wird. RMON2 stellt dazu 10 weitere Gruppen zur Verfügung: rmon 11 protocolDir rmon 12 protocolDist rmon 13 adressMap rmon 14 n1Host rmon 15 n1Matrix rmon 16 a1Host rmon 17 a1Matrix rmon 18 userHistory rmon 19 probeConfig rmon 20 rmonConformance 6.3 Andere MIBs Es existieren fast schon unzählig viele MIBs, vor allem herstellerspezifische. An dieser Stelle seien noch einige wichtige Standard-MIBs gennant. RIP Version 2 (RFC 1389), MIB für das Routing Information Protocol (RIP) Ethernet MIB (RFC 1398), enthält u.a statisic group und collision statistic group UPS Management MIB (RFC 1628), MIB für unterbrechungsfreie Stromversorgung (USV) ATM Management MIB (RFC 1695), MIB für ATM mit Verkehrsmanagement Token Ring MIB (RFC 1231) 7 Das SNMP-Protokoll 7.1 Transportprotokoll Die Kommunikation zwischen Managementstation und Agenten erfolgt durch den Austausch von Protokollnachrichten. SNMP verwendet das verbindungs- und quittungslose User Datagramm Protocol (UDP). Auf der NMS wird dazu in der Regel Port 161 zum Senden und Empfangen von SET und GET benutzt. Port 162 wartet auf ankommende Traps eines Agenten. RFC 1157 weist aber darauf hin, 16 dass auch andere Transportprotokolle benutzt werden können. Das Datagramm Protokoll entspricht aber am ehesten dem Leitgedanken von SNMP, da es im Gegensatz zu TCP keinen zu großen Overhead besitzt, und ein bestehendes Netz nicht noch zusätzlich belastet. Ein Nachteil ist allerdings, dass Kommandos schlichtweg verloren gehen können, ohne dass es weiter auffällt, da der Kommunikationspartner den Empfang nicht quittieren muss. 7.2 Communities Die Einheit einer Anwendung auf einer Management Station und einem Agenten auf einem verwalteten Gerät wird als Application Entities bezeichnet. Beide benutzen zur Abwicklung des SNMPProtokolls jeweils eine SNMP-Protocol Entity. Application Entities werden zu Gruppen, sogenannten SNMP Communities, zusammengefasst. Sie erhalten einen eindeutigen Namen, den Community Name oder auch als Community String bezeichnet. Es können nur solche Application Entities miteinander kommunizieren, die in der gleichen Community sind. Man unterscheidet in Public und Private Community String. Der Public String berechtigt nur zum Lesen von Objektvariablen, der Private String erlaubt sowohl Lesen als auch Schreiben. 7.3 SNMP-Nachrichten In der Regel sendet eine Management Station eine Anfrage an einen Agenten, der darauf mit der gewünschten Information, einer Bestätigung des Änderungswunsches oder mit einer Fehlermeldung antwortet. Eine Fehlermeldung könnte sein, dass die angeforderte Variable nicht existiert, dann würde die Fehlermeldung lauten noSuchName“. Die Daten werden bei der Kommunikation,wie bereits ” erwähnt, per ASN.1 Transfersyntax übertragen. Das eigentliche Protokoll von SNMP wird in RFC 1448 definiert. SNMP kennt 7 Nachrichtentypen, davon werden 6 vom Initiator gesendet, die siebte ist die Antwort. Die möglichen Nachrichten sind: Get Get-next Set Inform Trap get-response fordert den Wert einer oder mehreren Variablen an fordert die nächste Variable nach der aktuellen an setzt eine Variable auf einen neuen Wert Manager/Manager Nachricht mit einer Beschreibung der aktuellen MIB Spontanmeldung eines Ereignisses vom Agenten an den Manager Anwort auf einen Befehl Eine mögliche Kommunikation zwische Manager und Agent könnte so aussehen: Beispiel 1: Der Manager sendet get(sysDescr.0) Der Agent antwortet get-response(sysDescr.0=’Elsa Lancom Wireless L11’) Beispiel 2: Die Anfrage get-next(sysDescr.0) 17 liefert get-response(sysObjectID.0=’1.3.6.1.4.x.y’), da in der MIB-II auf 1.3.6.1.2.1.1.1 (sysDescr) der OBJECT IDENTIFIER 1.3.6.1.2.1.1.2 (sysObjectID) folgt. 7.4 Aufbau der SNMP-Pakete SNMP Version Community Name Abbildung 7.1: SNMP Paket PDU Jede SNMP-Nachricht enthält eine SNMP-Versionsnummer, einen Community Namen und einen Datenteil mit der Bezeichnung Protocol Data Unit (PDU). Der Datenteil wird nach ASN.1/BER kodiert, der Community String wir allerdings im Klartext übertragen, was ein erhebliches Sicherheitsrisiko darstellt, und das der Hauptkritikpunkt an den ersten SNMP-Versionen ist. Insgesamt werden für die SNMP Operationen nur zwei PDUs definiert. Eine PDU für die get, get-next und set, die zweite PDU für trap Operationen. 7.4.1 PDU der Befehle Get, Get-next und Set PDU-Typ request-id error-status error-index Abbildung 7.2: Struktur einer SNMP-PDU PDU-Typ variable-bindings : Kennung für den PDU-Typ (z.B. 0 für GetRequest) request-id : Kennung, über die get-,get-next- und set-Operationen den jeweiligen Anworten zugeordnet werden können, auch eine Möglichkeit, verlorene oder gedoppelte Responses zu erkennen error-status: Status der Ausführung der Operationen, kann folgende Werte annehmen: NoError (0) tooBig (1) noSuchName (2) badValue (3) read-Only (4) genErr(5) erfolgreich Ergebnis passt nicht in einzelne Nachricht Objekt ist unbekannt unzulässiger Wert bei Set-Operation Variable ist schreibgeschützt alles andere error-index : Index der Variablen in variable-bindings, die den im error-status gemeldeten Fehler verursacht hat; wird nur bei noSuchName, bad Value und read-only angegeben, sonst NULL. variable-bindings : Liste der betroffenen Objektvariablen Bei GetRequest-, GetNextREquest- und SetRequest-PDUs sind die Werte für error-status und errorindex immer 0. 18 7.4.2 PDU von Traps Traps sind spontane Ereignismeldungen, die ein Agent selbständig an eine Managementstation sendet. Trap-PDUs haben dabei folgende Struktur: PDU-Typ Geräte-Herst. Agent-Adresse Abbildung 7.3: Struktur einer Trap-PDU generic-trap specific-trap time-stamp variable-bindings PDU-Typ : Kennung für den PDU-Typ, in diesem Fall nur der Wet 4 für Trap enterprise : Kennung des Gerätes, Wert der MIB-Variablen sysObjectID auf dem Managed Node agent-addr : Netzwerkadresse des sendenden Managed Node generic-trap : Ereignis, das den Trap auslöst, dass kann sein: Typ coldstart (0) warmstart (1) linkDown (2) linkUp (3) authenticationFailure (4) egpNeighborLoss (5) enterpriseSpecific (6) Bedeutung der Agent startet neu, Objekte in seiner MIB-View können sich ändern der Agent re-initialisiert sich, Werte der Objekte ändern sich nicht eine angeschlossene Schnittstelle ist vom up in den down Zustand gewechselt wie linkDown, aber Schnittstelle von down nach up Versuch des Zugriffs mit einer falschen Community ein EGP-Nachbar (Gateway) ist in den down Zustand gewechselt ein anderes herstellerspezifisches Ereignis ist eingetreten specific-trap : bezeichnet den enterpriseSpecific-Trap, ansonsten 0 time-stamp : Wert des Objektes sysUpTime zum Zeitpunkt des Ereignisses variable-bindings : Liste der betroffenen Objektvariablen 8 SNMPv2 SNMPv2 ist eine kontinuierliche Weiterentwicklung des ursprünglichen SNMP Protokolls. Die gemachten Verbesserungsvorschläge für die neue Version ergaben sich aus den Situationen, die mit dem praktischen Einsatz von SNMP verbunden waren. Der Hauptschwerpunkt ist die Einführung eines neuen Sicherheitsmodells. Aber auch in anderen Bereichen wurde SNMP deutlich erweitert, dabei sollte es aber keinesfalls gegen den Grundgedanken eines simple“ Protokolls verstoßen. SNMPv1 ” benutzt in seinem Kommunikationsmodell bei der Beziehung zwischen Agenten und Managementstationen das Community-Modell. In SNMPv2 wurde es deutlich durch die Einführung von SNMPv2” Party“ und SNMPv2-context“ erweitert. Aufgrund seiner Komplexität setzte sich dieses Sicherheits” konzept im Internet aber nicht durch. Deshalb wurden nach Überarbeitung des SNMPv2-Standards RFC 1901-1908 komplett für nichtig erklärt und verworfen. Stattdessen verwendete man wieder das aus SNMPv1 bekannte Community-Modell. Dieses Vorgehen war aber keine Lösung des eigentlichen Problems, und deshalb entstanden zwei weitere konkurrierende Ansätze des Sicherheitsmodells. 19 Die wichtigsten Neuerungen im Überblick sind: Kommunikationsmodell für SNMP Protocol Entities Sicherheitskonzept Kommunikation zwischen Managementstation Erweiterung des Agent-Konzeptes Einführung einer MIB für Protocol Entities Übertragung größerer Daten in einer PDU Abfrage einer ganzen Tabelle mit nur einem Befehl (Get-Bulk) Erweiterte Fehlersignalisierungen und Traps Erweiterung der Structure of Management Information (SMI) Verwendung anderer Transportprotokolle 8.1 Einsatz weiterer Transportprotokolle SNMPv1 wurde für die Verwaltung von TCP/IP basierten Netzwerken entwickelt. Damit ist SNMP fest mit dem TCP/IP Protokoll-Stack verbunden, und ein Einsatz anderer Transportprotokolle wie IPX oder OSI ist damit nicht möglich. Um aber die Verbreitung von SNMP weiter voranzutreiben und auch die Verwaltung von Netzwerken, die auf anderen Protokollen basieren zu ermöglichen, wurden einige Änderungen vorgenommen. Das Objekt IPAdresse besteht aus einer 32-Bit Internetadresse, für eine OSI-Adresse ist dieses Objekt aber nicht nutzbar. Die Lösung war die Schaffung eines neuen Adresstyps, der bis zu 21 Oktette aufnehmen kann. Das neue Objekt wird als NSAPAdresse bezeichnet. Damit besteht die Nutzung einer beliebigen OSI-Adresse, aber auch der Einsatz von IPv6-Adressen, die aus einer 128-Bit-Adresse bestehen, ist möglich. Damit ist SNMP für den nächsten großen Entwicklungsschritt des Internets auf IPv6 gerüstet. Neben dem empfohlenen User Datagramm Protocol (UDP) werden folgene Transportprotokolle vorgeschlagen (RFC 1149 - Transport Mappings for SNMPv2): Novell Internetwork Packet Exchange (IPX) OSI Connectionless-Mode Network Service CLNS AppleTalk DDP 8.2 Erweiterungen der SMI 8.2.1 Neue Datentypen Es werden zwei neue Datentypen definiert. Counter64 ::= [application6] IMPLICIT INTEGER (0..18446744073709551615) Unsigned32 :: = [application2] IMPLICIT INTEGER (0..4294967295) 20 Der Einsatz des Datentyps BITSTRING ist nun wie in ASN.1 auch in SNMP möglich. Der Datentyp Unsigned32 ist nur eine anderer Name für den Gauge Datentyp, hat sonst keinen Unterschied. Außerdem wurden die Bezeichnungen von Gauge und Counter in Gauge32 und Counter32 geändert, und es existiert ein neuer Datentyp NSAP (für NSAPAdresse). 8.3 SNMPv2 Versionen 8.3.1 SNMPv2c SNMPv2c ist das Community Based SNMP, das das Sicherheitsmodell aus SNMPv1 übernommen hat. Es ist der kleinste gemeinsame Nenner und einfach in der Praxis umzusetzen. Da es aber das nicht mehr zeitgemäße Sicherheitskonzept beinhaltet, gingen die Arbeiten weiter, die zu zwei konkurrierenden Ansätzen führten. 8.3.2 SNMPv2u SNMPv2u ähnelt der ursprünglichen Spezifikation von SNMPv2. Statt Parties enthält es aber ein User/Agent-Konzept, daher trägt das Sicherheitsmodell in dieser Version den Namen User-BasedSecurity-Modell (USEC-Modell). Die Authentifikation erfolgt mit Benutzername und Passwort. Zu jedem Benutzer ist ein Schlüssel generierbar, mit dessen Hilfe die übertragenen Daten verschlüsselt werden können. 8.3.3 SNMPv2* SNMPv2* (v2 star) implementiert den zweiten Ansatz zur Beseitigung des Sicherheitsproblems. Es basiert bis 80 Prozent auf den ursprünglichen Dokumenten von SNMPv2. Zusätzlich implementiert es weitere Funktionen auf der Managementstation, wie z.B. mögliche Fernkonfiguration von Agenten, um eine MIB auf dem Agenten zu ändern. 9 SNMPv3 Nach der Spaltung und Scheitern der SNMPv2 Arbeitsgruppe wurde die SNMPv3 Arbeitsgruppe gegründet und mit der Ausarbeitung eines einheitlichen Standards beauftragt, als Nachfolger zu SNMPv1/2. Es wurden folgende Ziele zuvor klar definiert: Es soll so viel wie möglich aus den beiden konkurrierenden Versionen SNMPv2u und SNMPv2* übernommen werden Das neue Sicherheitskonzept soll es ermöglichen, die set-Operation über das Internet auszuführen 21 SNMPv3 soll eine flexible Architektur bekommen, die es erlaubt, alternative Modelle zu integrieren SNMPv3 soll so einfach wie möglich gehalten werden Im Januar 1998 wurden folgende Dokumente der SNMPv3 Arbeitsgruppe als Proposed Internet Standard veröffentlicht: RFC 2271 An Architekture for Describing SNMP Management Frameworks RFC 2272 Message Processing and Dispatching for the SNMP Protocol RFC 2273 SNMPv3 Applications RFC 2274 User-based Security Model (USM) for version 3 of the SNMP Protocol RFC 2275 View-based Access Control Model (VACM) for the SNMP Protocol 10 SNMP am Beispiel Das folgende Beispiel zeigt eine Toaster-MIB. Der Toaster bildet einen Teilbaum unter enterprise und besitzt den OBJECT IDENTIFIER iso(1).org(3).dod(6).internet(1).private(4).enterprises(1).epilogue(12).toaster(2) . Der Teilbaum toaster enthält folgende Objekte: (1) toasterManufacturer (2) toasterModelNumber (3) toasterControl (4) toasterDoneness (5) toasterToastType enthält den Namen des Herstellers enthält den Namen der Modell-Bezeichnung steuert den Zustand des Toasters steuert die Bräunungsstufe eines Toastes steuert den Brottyp des Toasts TOASTER-MIB DEFINITIONS ::= BEGIN --- Microsoft copied from SNMP mailing list and made no changes. -IMPORTS enterprises FROM RFC1155-SMI OBJECT-TYPE FROM RFC-1212 DisplayString FROM RFC1213-MIB; epilogue OBJECT IDENTIFIER ::= enterprises 12 toaster OBJECT IDENTIFIER ::= epilogue 2 -- toaster MIB 22 toasterManufacturer OBJECT-TYPE SYNTAX DisplayString ACCESS read-only STATUS mandatory DESCRIPTION ‘The name of the toaster’s manufacturer. For instance, Sunbeam.’ ::= toaster 1 toasterModelNumber OBJECT-TYPE SYNTAX DisplayString ACCESS read-only STATUS mandatory DESCRIPTION "The name of the toaster’s model. For instance, Radiant Automatic.’ ::= toaster 2 toasterControl OBJECT-TYPE SYNTAX INTEGER up(1), down(2) ACCESS read-write STATUS mandatory DESCRIPTION ‘This variable controls the current state of the toaster. To begin toasting, set it to down(2). To abort toasting (perhaps in the event of an emergency), set it to up(2).’ ::= toaster 3 toasterDoneness OBJECT-TYPE SYNTAX INTEGER (1..10) ACCESS read-write STATUS mandatory DESCRIPTION ‘This variable controls how well done ensuing toast should be on a scale of 1 to 10. Toast made at 10 is generally considered unfit for human consumption; toast made at 1 is lightly warmed.’ ::= toaster 4 23 toasterToastType OBJECT-TYPE SYNTAX INTEGER white-bread(1), wheat-bread(2), wonder-bread(3), frozen-waffle(4), frozen-bagel(5), hash-brown(6), other(7) ACCESS read-write STATUS mandatory DESCRIPTION ‘This variable informs the toaster of the type of material being toasted. The toaster uses this information combined with toasterToastDoneness to compute how long the material must be toasted for to achieve the desired doneness.’ ::= toaster 5 END 10.1 Zusammenfassung Neben dem obigen Beispiel einer Toaster-MIB existieren komplette Managementlösungen für Netzwerke. Fast alle Hersteller bieten für ihre Netzwerkkomponenten Unterstützung für SNMP an, womit einem flächendeckendem Einsatz im Netzwerk nichts mehr im Wege steht. Nach wie vor existieren jedoch Sicherheitsprobleme, vor allem hat sich SNMPv2 mit seinen Sicherheitskonzepten nicht durchsetzen konnte. Dies dürfte den Einsatz in WANs mit hohen Sicherheitsansprüchen weitgehend verhindern. Mit SNMPv3 steht aber Besserung in Aussicht. Allerdings sind konkrete Implementierungen seitens der Hersteller noch kaum oder fast gar nicht verfügbar. Dies wird sicher aber im Laufe der Zeit höchstwahrscheinlich ändern. Auch auf weitere Entwicklungen des SNMP-Standards darf man gespannt sein. 24 Literatur [1] SNMP: Konzepte-Verfahren-Plattformen , Rainer Janssen, Wolfgang Schott, DATACOMVERLAG, Bergheim, 1993 [2] Computernetzwerke, Andrew S. Tanenbaum, Prentice Hall, 1998 [3] Managing Switched Local Area Networks - A practical Guide, Darryl P. Black, AddisonWesley, 1998 [4] TCP/IP Netzwerkadministration, Craig Hunt, O’Reilly, 1998 [5] RFC 1157 Simple Network Mangement Protokoll (SNMP) [6] RFC 1212 Concise MIB Definitions [7] RFC 1213 Mangement Information Base for network mangement of TCP/IP-based internets: MIB-II [8] RFC 1215 Convention for defining traps for use with SNMP [9] RFC 1271 Remote network monitoring Management Information Base : RMON-MIB [10] RFC 2271 An Architekture for Describing SNMP Management Frameworks [11] RFC 2272 Message Processing and Dispatching for the SNMP Protocol [12] RFC 2273 SNMPv3 Applications [13] RFC 2274 User-based Security Model (USM) for version 3 of the SNMP Protocol [14] RFC 2275 View-based Access Control Model (VACM) for the SNMP Protocol 25