www.wikidata.de-de.nina.az
SNMP Simple Network Management Protocol Familie InternetprotokollfamilieEinsatzgebiet NetzwerkverwaltungNeueste Version SNMPv3Ports 161 UDP 162 UDP Trap SNMP im TCP IP Protokollstapel Anwendung SNMPTransport UDPInternet IP IPv4 IPv6 Netzzugang Ethernet TokenBus TokenRing FDDI Standards RFC 1157 SNMP 1990 1 RFC 3410 bis 3418 SNMPv3 2002 2 siehe Text Das Simple Network Management Protocol SNMP deutsch Einfaches Netzwerkverwaltungsprotokoll ist ein Netzwerkprotokoll das von der IETF entwickelt wurde um Netzwerkelemente z B Router Server Switches Drucker Computer usw von einer zentralen Station aus uberwachen und steuern zu konnen Das Protokoll regelt dabei die Kommunikation zwischen den uberwachten Geraten und der Uberwachungsstation SNMP beschreibt den Aufbau der Datenpakete die gesendet werden konnen und den Kommunikationsablauf Es wurde dabei so ausgelegt dass jedes netzwerkfahige Gerat mit in die Uberwachung aufgenommen werden kann Zu den Aufgaben des Netzwerkmanagements die mit SNMP moglich sind zahlen Uberwachung von Netzwerkkomponenten Fernsteuerung und Fernkonfiguration von Netzwerkkomponenten Fehlererkennung und Fehlerbenachrichtigung Uberwachung der Netzwerkkomponenten von der Managementkonsole aus Durch seine Einfachheit Modularitat und Vielseitigkeit hat sich SNMP zum Standard entwickelt der sowohl von den meisten Managementprogrammen als auch von Endgeraten unterstutzt wird Inhaltsverzeichnis 1 Funktionsweise 2 Management Information Base 3 Versionen 3 1 Version 1 3 2 Secure SNMP 3 3 Party Based SNMP Version 2 SNMPv2p 3 4 User Based SNMP Version 2 SNMPv2u 3 5 Community Based SNMP Version 2 SNMPv2c 3 6 Version 3 4 Paketaufbau SNMPv1 4 1 SNMP Paket Header 4 2 PDU Header Nicht Trap Pakete 4 3 PDU Header Trap Pakete 4 4 PDU Body 5 Sicherheitsprobleme 6 Literatur 7 Siehe auch 8 Weblinks 9 EinzelnachweiseFunktionsweise Bearbeiten nbsp Wie SNMP funktioniert Zur Uberwachung werden sogenannte Agenten eingesetzt Dabei handelt es sich um Programme die direkt auf den uberwachten Geraten laufen oder um Hardware welche die gleichen Aufgaben erfullt 3 Diese Programme Gerate sind in der Lage den Zustand des Netzwerkgerates zu erfassen und auch selbst Einstellungen vorzunehmen oder Aktionen auszulosen Mit Hilfe von SNMP ist es moglich dass die zentrale Managementstation mit den Agenten uber ein Netzwerk kommunizieren kann Dazu gibt es sieben verschiedene Datenpakete die gesendet werden konnen GET REQUEST zum Anfordern eines Management Datensatzes GETNEXT REQUEST um den nachfolgenden Datensatz abzurufen um Tabellen zu durchlaufen GETBULK ab SNMPv2 um eine angegebene Anzahl an Datensatzen auf einmal abzurufen ahnelt mehreren GETNEXT REQUEST SET REQUEST um einen oder mehrere Datensatze eines Netzelementes zu verandern Manchmal verlangt ein Netzelement die gleichzeitige Anderung mehrerer Datensatze um die Konsistenz zu uberprufen Beispielsweise erfordert die Konfiguration einer IP Adresse die gleichzeitige Angabe der Netzwerkmaske GET RESPONSE Antwort auf eines der vorherigen Pakete TRAP unaufgeforderte Nachricht von einem Agenten an den Manager dass ein Ereignis eingetreten ist Programme wie Wireshark die zum Dekodieren von Protokollen wie SNMP benutzt werden nennen dieses Datenpaket auch REPORT Ein TRAP kann auch geschickt werden wenn die in einem SET REQUEST Paket beschriebene n Datensatzanderung en nicht durchgefuhrt werden konnte n und nicht nur um eine Fehlfunktion z B einen Defekt eines Moduls eines Netzelements zu melden INFORM REQUEST aufgebaut wie ein Trap nur dass dieser vom Empfanger quittiert wird Die drei GET Pakete GET GETNEXT GETBULK konnen vom Manager zu einem Agenten gesendet werden um Daten uber die jeweilige Station anzufordern Dieser antwortet mit einem RESPONSE Paket das entweder die angeforderten Daten oder eine Fehlermeldung enthalt Mit dem SET REQUEST Paket kann ein Manager Werte beim Agenten verandern Damit ist es moglich Einstellungen vorzunehmen oder Aktionen auszulosen Der Agent bestatigt die Ubernahme der Werte ebenfalls mit einem GET RESPONSE Paket Wenn der Agent bei der Uberwachung des Systems einen Fehler erkennt kann er diesen mit Hilfe eines TRAP Paketes unaufgefordert an die Management Station melden Diese Pakete werden nicht vom Manager bestatigt Der Agent kann daher nicht feststellen ob das gesendete TRAP Paket beim Manager angekommen ist Damit die Netzwerkbelastung gering bleibt wird zum Versenden der Nachrichten das verbindungslose Protokoll UDP verwendet Der Agent und der Manager kommunizieren Requests Responses auf dem Port 161 wahrend der Port 162 zum Empfangen der TRAP Meldungen vorgeschrieben ist Management Information Base Bearbeiten Hauptartikel Management Information Base Zum Rahmenwerk des SNMP basierten Management gehort nicht nur das Protokoll sondern auch die Reprasentation der Datenbasis die im Netzwerkgerat vorhanden ist und die man als Management Information Base oder abgekurzt als MIB bezeichnet Versionen BearbeitenVersion 1 Bearbeiten Die erste Version von SNMP wurde 1988 in den folgenden RFCs definiert RFC 1155 Structure and Identification of Management Information for TCP IP based internets 1988 lost RFC 1065 ab englisch RFC 1156 Management Information Base for Network Management of TCP IP based internets 1988 lost RFC 1066 ab englisch RFC 1157 A Simple Network Management Protocol 1988 lost RFC 1067 ab ersetzte auch RFC 1098 englisch Das Hauptproblem der ersten Version ist die unzureichende Sicherheit bei der Ubertragung Eines der Probleme ist die unverschlusselte Ubertragung des Passwortes dadurch kann es leicht abgehort und durch unberechtigte Parteien verwendet werden Secure SNMP Bearbeiten Das gestiegene Bedurfnis nach Sicherheit fuhrte dazu dass 1992 drei RFCs uber SNMPsec Secure SNMP veroffentlicht wurden RFC 1351 SNMP Administrative Model englisch RFC 1352 SNMP Security Protocols englisch RFC 1353 Definitions of Managed Objects for Administration of SNMP Parties englisch Diese Version wurde nie eingefuhrt sondern durch SNMPv2 ersetzt Party Based SNMP Version 2 SNMPv2p Bearbeiten 1993 wurde SNMPv2p von der IETF veroffentlicht Es verbesserte SNMPv1 in puncto Sicherheit und Vertraulichkeit durch die Verschlusselung des Community String und fuhrte eine Kommunikation zwischen verschiedenen Managern ein Durch den neuen GetBulk Befehl wurde das Abfragen von Tabellen erheblich erleichtert RFC 1441 Introduction to version 2 of the Internet standard Network Management Framework englisch RFC 1445 Administrative Model for version 2 of the Simple Network Management Protocol SNMPv2 englisch RFC 1446 Security Protocols for version 2 of the Simple Network Management Protocol SNMPv2 englisch RFC 1447 Party MIB for version 2 of the Simple Network Management Protocol SNMPv2 englisch Diese Version wird heute nicht mehr verwendet User Based SNMP Version 2 SNMPv2u Bearbeiten Bei SNMPv2u versucht man durch Benutzernamen die Sicherheit zu erhohen RFC 1909 An Administrative Infrastructure for SNMPv2 englisch RFC 1910 User based Security Model for SNMPv2 englisch Diese Version wird heute nicht mehr verwendet Community Based SNMP Version 2 SNMPv2c Bearbeiten SNMPv2c ist bezuglich Sicherheit auf dem Stand von SNMPv1 Es ist lediglich erweitert um ein paar zusatzliche Funktionen die es bereits bei SNMPv2p gab Tabellen mussen nicht mehr mit dem GetNext Befehl durchlaufen werden sondern konnen mit dem GetBulk Befehl auf einmal geholt werden Kommunikation zwischen verschiedenen Managern Diese Version hat sich durchgesetzt und breite Akzeptanz erfahren Wenn heutzutage von SNMPv2 gesprochen wird ist meistens diese Version gemeint RFC 1901 Introduction to Community based SNMPv2 englisch RFC 1905 Protocol Operations for version 2 of the Simple Network Management Protocol SNMPv2 lost RFC 1448 ab englisch RFC 1906 Transport Mappings for version 2 of the Simple Network Management Protocol SNMPv2 lost RFC 1449 ab englisch Version 3 Bearbeiten SNMP Versionen 1 und 2c bieten fast keine Sicherheitsmechanismen Daher stammt auch die scherzhafte Deutung der Abkurzung SNMP als Security is not my problem Sicherheit ist nicht mein Problem In der aktuellen Version 3 wurden die Sicherheitsmechanismen deutlich ausgebaut Die damit einhergehende gestiegene Komplexitat z B Schlusselverwaltung hat aber dazu gefuhrt dass SNMPv3 noch nicht so weit verbreitet ist wie SNMPv2 SNMP in der neuesten Version 3 wird durch eine Reihe neuer RFCs definiert die Spezifizierung erfolgte im Dezember 2002 RFC 3410 Introduction and Applicability Statements for Internet Standard Management Framework Dezember 2002 englisch RFC 3411 An Architecture for Describing Simple Network Management Protocol SNMP Management Frameworks Dezember 2002 englisch RFC 3412 Message Processing and Dispatching for the Simple Network Management Protocol SNMP Dezember 2002 englisch RFC 3413 Simple Network Management Protocol SNMP Applications Dezember 2002 englisch RFC 3414 User based Security Model USM for version 3 of the Simple Network Management Protocol SNMPv3 Dezember 2002 englisch RFC 3415 View based Access Control Model VACM for the Simple Network Management Protocol SNMP Dezember 2002 englisch RFC 3416 Version 2 of the Protocol Operations for the Simple Network Management Protocol SNMP Dezember 2002 englisch RFC 3417 Transport Mappings for the Simple Network Management Protocol SNMP Dezember 2002 englisch RFC 3418 Management Information Base MIB for the Simple Network Management Protocol SNMP Dezember 2002 englisch Paketaufbau SNMPv1 BearbeitenDie Beschreibung der SNMP Pakete erfolgt durch ASN 1 die Kodierung fur den Transport uber das Netzwerk mittels Basic Encoding Rules BER Die meisten SNMP Pakete sind identisch aufgebaut Lediglich bei Trap Meldungen werden im PDU Header teilweise andere Informationen versendet Aufbau eines SNMP Paketes fur Nicht Trap Meldungen SNMP Paket Header PDU Header PDU BodyVersionsnummer Community Name Pakettyp Get GetNext RequestID Fehlerstatus Fehler Index Variable Bindung 1 Variable Bindung 2 Variable Bindung nDer Paketaufbau eines SNMPv1 Pakets enthalt keine Grossenangabe da jedes Feld mit Hilfe von ASN 1 in das Type Length Value Format gebracht wird SNMP Paket Header Bearbeiten Im Header wird die Versionsnummer SNMPv1 SNMPv2 oder SNMPv3 und der Community Name ubertragen Durch das Zuweisen von Communities werden Zugriffsrechte vergeben In den meisten Fallen wird fur lesenden Zugriff read only standardmassig der Community Name public fur Schreib Lesezugriff read write private verwendet Da diese beiden Community Names als Standardeinstellung bekannt sind sollten diese geandert werden Allerdings erhoht dies die Sicherheit nicht zwangslaufig da die Community Namen als Klartext uber das Netzwerk ubertragen werden PDU Header Nicht Trap Pakete Bearbeiten Im ersten Teil des PDU Headers wird die Art des SNMP Paketes und die Grosse der PDU ubertragen Der Aufbau des zweiten Teils hangt von der Art des SNMP Paketes ab Damit Antwortpakete den vorherigen Anfragen zugeordnet werden konnen gibt es die Request ID welche bei Anfrage und Antwort identisch sind Damit ist es moglich mehrere Anfragen zu verschicken und die Antworten wieder richtig zuzuordnen Der Fehlerstatus und index wird dazu verwendet bei Antwortpaketen mitzuteilen warum eine Anfrage nicht bearbeitet werden konnte Solange kein Fehler auftritt sind die beiden Felder mit dem Wert Null belegt Im Fehlerfall gibt der Fehlerindex an beim wievielten Datensatz der Fehler auftrat Mit dem Fehlerstatus wird der Grund des Fehlers angegeben Der Fehlerstatus kann bei SNMPv1 einen von 6 moglichen Werten haben kein Fehler Paket ist zu gross zum Versenden die OID wird nicht unterstutzt falscher Datentyp oder Wert nur als Antwort auf Set Pakete moglich nur Lesezugriff nur als Antwort auf Set Pakete moglich unbekannter GenerierungsfehlerPDU Header Trap Pakete Bearbeiten Die ersten beiden Felder des PDU Headers sind bei Traps identisch mit denen anderer SNMP Pakete Das Feld Pakettyp gibt an dass es sich um einen Trap handelt Im zweiten Teil werden andere Werte ubertragen die nur bei Traps benotigt werden Aufbau des PDU Headers eines SNMP Trap Paketes SNMPv1 PDU HeaderPakettyp Trap OID des Gerates das den Trap generiert hat IP Adresse des Absenders allgemeine TrapID firmenspezifische TrapID Zeitpunkt des Auftretens des Trap EreignissesZum Erkennen von wem die Nachricht kommt wird die IP Adresse des Absenders und dessen herstellerspezifische OID 1 3 6 1 4 1 mitgesendet Die OID gibt an um was fur ein Gerat es sich handelt Das ist wichtig zu wissen wenn es sich um einen firmenspezifischen Trap handelt der nur fur diesen Geratetyp gilt Danach folgt die allgemeine TrapID Es gibt sieben mogliche allgemeine TrapIDs 4 Bezeichnung Wert in der Trap PDUKaltstart coldStart 0Warmstart warmStart 1Link Down linkDown 2Link Up linkUp 3Authentifizierungsfehler authenticationFailure 4EGP Nachbar verloren egpNeighborLoss 5firmenspezifisch enterpriseSpecific 6Wird im Feld TrapID firmenspezifisch enterpriseSpecific angegeben so wird die ID der firmenspezifischen Trap im nachfolgenden Feld ubertragen Da es moglich ist dass Trap Pakete nicht in der Reihenfolge eintreffen wie sie versendet wurden gibt es zusatzlich noch eine Zeitangabe die auf Hundertstelsekunden genau angibt wie lang der SNMP Agent gelaufen ist bis das Trap Ereignis auftrat Dadurch ist es moglich die Trap Ereignisse in die zeitlich richtige Reihenfolge zu bringen PDU Body Bearbeiten Im PDU Body werden die eigentlichen Werte ubertragen Jeder Wert wird in einer sogenannten Variable Binding ubertragen Variable Bindings OID Variable BindingWertZu einer Variable Binding gehoren deren OID und der Wert selber Es gibt keine Vorgabe wie viele Variable Bindings im PDU Body mitgeschickt werden durfen Es ist also moglich mehrere Werte mit einem Get Befehl abzufragen Wenn aber das Antwortpaket dabei zu gross wird kann es passieren dass die entsprechende Fehlermeldung im Antwortpaket zuruckgeschickt wird Bei Traps ist es auch moglich dass keine Variable Bindings mitgeschickt werden In dem Fall wird die TrapID als ausreichende Information angesehen Im SNMP Paket ist keine Angabe vorgesehen welche die Anzahl an mitgeschickten Variable Bindings angibt Das lasst sich nur uber die Grossenangabe des PDU Bodys und der Grossenangabe der einzelnen Variable Bindings herausfinden Sicherheitsprobleme BearbeitenEin Nachteil von SNMP Version 1 bis 2c ist die fehlende Sicherheit Diese Versionen von SNMP unterstutzen keine Anmeldung mit Kennwort und Benutzernamen es werden sogenannte Communities verwendet Diese haben jedoch den Nachteil dass jeder User im Netzwerk mit einem passenden Programm Systeminformationen auslesen und sogar Werte verandern kann Communities sind einfache Namen wie zum Beispiel PUBLIC darf nur lesen oder PRIVATE darf auch schreiben die mit der Anfrage zusammen vom SNMP Service ubermittelt werden Sie sind nichts anderes als ein vorher vereinbarter Schlussel Pre shared keys Man kann naturlich auch sehr lange und komplizierte Community Namen verwenden Das ist allerdings von begrenztem Nutzen da SNMP Pakete nicht verschlusselt sind und deshalb sehr einfach von einem Angreifer gesnifft abgehort werden konnen Allowed Host Es gibt jedoch die Moglichkeit die IP Adressen der Systeme einzuschranken die mit einem uberwachten SNMP System Kontakt aufnehmen durfen Das ist ein relativ einfacher Schutz der sich jedoch moglicherweise mit ARP Spoofing und IP Spoofing aushebeln lasst Management Schutz Seit Anfang der 1990er Jahre ist es ublich dass man fur die Uberwachung der Systeme ein eigenes Netzwerk erstellt um den Nutzdaten Verkehr vom Management Verkehr zu trennen Dies wird Out of Band genannt Verkehr der uber das herkommliche Datennetz fliesst wird als Inband Kommunikation bezeichnet Read Only Es besteht auch die Moglichkeit auf gewisse Systeme ein Read Only zu vergeben Somit kann jedes Uberwachungsgerat nur lesen Das wird haufig bei Routern verwendet 5 SNMP Version 3 bietet unter anderem Verschlusselung und eine bessere Authentifizierung was zurzeit aber wegen der hoheren Komplexitat oft nicht genutzt wird Literatur BearbeitenLarry Walsh SNMP Mib Handbook Wyndham Press 2008 ISBN 978 0 9814922 0 9 Douglas R Mauro Kevin J Schmidt Essential SNMP Help for System and Network Administrators 2 Auflage O Reilly Media 2005 ISBN 0 596 00840 6 William Stallings SNMP SNMPv2 SNMPv3 and RMON 1 and 2 2 Auflage Addison Wesley Longman 1999 ISBN 0 201 48534 6 Michael W Lucas SNMP Mastery 1 Auflage Tilted Windmill Press Februar 2020 ISBN 978 1 64235 037 1 Siehe auch BearbeitenAgent Extensibility Protocol AgentX Weblinks BearbeitenOID Info SNMP OID Repository SNMP FAQ Teil 1 Teil 2 englisch Einzelnachweise Bearbeiten RFC 1157 A Simple Network Management Protocol 1990 englisch RFC 3410 Introduction and Applicability Statements for Internet Standard Management Framework Dezember 2002 englisch 1 RFC 2089 Mapping SNMPv2 onto SNMPv1 englisch Systeme verraten sensible Daten per SNMP Heise de 4 Marz 2008 Abgerufen von https de wikipedia org w index php title Simple Network Management Protocol amp oldid 236235003