Einfaches Netzwerkmanagementprotokoll

SNMPV3 STD0062
Kommunikationsprotokoll
Häfen) 161, 162 (Falle)
RFC (s) 3411–3418
Sichern SNMP
Kommunikationsprotokoll
Häfen) 10161, 10162 (Falle)
RFC (s) 6353

Einfaches Netzwerkmanagementprotokoll (SNMP) ist ein Internetstandard Protokoll zum Sammeln und Organisieren von Informationen über verwaltete Geräte auf IP Netzwerke und zur Änderung dieser Informationen, um das Geräteverhalten zu ändern. Zu den Geräten, die in der Regel SNMP unterstützen, gehören Kabelmodems, Router, Schalter, Server, Arbeitsstationen, Drucker und mehr.[1]

SNMP wird in großem Umfang verwendet in Netzwerk Management zum Netzwerküberwachung. SNMP enthält Verwaltungsdaten in Form von Variablen auf den in a organisierten verwalteten Systemen Managementinformationsbasis (MIB), die den Systemstatus und die Konfiguration beschreiben. Diese Variablen können dann durch die Verwaltung von Anwendungen aus der Ferne abgebildet (und unter bestimmten Umständen manipuliert) werden.

Es wurden drei signifikante Versionen von SNMP entwickelt und eingesetzt. SNMPV1 ist die Originalversion des Protokolls. Neuere Versionen, SNMPV2C und SNMPV3, bieten Verbesserungen in Bezug auf Leistung, Flexibilität und Sicherheit.

SNMP ist eine Komponente der Internet -Protokollsuite wie definiert durch die Internettechnik-Arbeitsgruppe (IETF). Es besteht aus einer Reihe von Standards für Netzwerkmanagement, einschließlich eines Anwendungsschicht Protokoll, eine Datenbank Schemaund ein Satz von Datenobjekte.[2]

Überblick und grundlegende Konzepte

Prinzip der SNMP -Kommunikation

In typischen Verwendungen von SNMP rufen ein oder mehrere administrative Computer auf Manager haben die Aufgabe, eine Gruppe von Hosts oder Geräten auf a zu überwachen oder zu verwalten Computernetzwerk. Jedes verwaltete System führt eine Softwarekomponente aus, die als ein bezeichnet wird Agent Welche Informationen über SNMP an den Manager berichtet.

Ein SNMP-verwaltetes Netzwerk besteht aus drei Schlüsselkomponenten:

  • Verwaltete Geräte
  • Agent- Software, die auf verwalteten Geräten ausgeführt wird
  • Netzwerkverwaltungsstation (NMS) - Software, die auf dem Manager ausgeführt wird

A verwaltetes Gerät ist ein Netzwerkknoten, der eine SNMP-Schnittstelle implementiert, die den unidirektionalen (schreibgeschützten) oder bidirektionalen (Lese- und Schreib-) Zugriff auf knotenspezifische Informationen ermöglicht. Managierte Geräte tauschen knotenspezifische Informationen mit dem NMSS aus. Manchmal als Netzwerkelemente bezeichnet, können die verwalteten Geräte jede Art von Gerät sein, einschließlich, aber nicht beschränkt auf, Router, Zugriff auf Server, Schalter, Kabelmodems, Brücken, Hubs, IP -Telefone, IP -Videokameras, Computer Gastgeber, und Drucker.

Ein Agent ist ein Netzwerk-Management-Softwaremodul, das sich auf einem verwalteten Gerät befindet. Ein Agent verfügt über lokale Kenntnisse über Managementinformationen und übersetzt diese Informationen in oder aus SNMP-spezifischer Form.

A Netzwerkverwaltungsstation Führt Anwendungen aus, die verwaltete Geräte überwachen und steuern. NMSS bietet den Großteil der für die Netzwerkverwaltung erforderlichen Verarbeitungs- und Speicherressourcen. Ein oder mehrere NMS können in jedem verwalteten Netzwerk vorhanden sein.

Managementinformationsbasis

SNMP -Agenten setzen Verwaltungsdaten auf den verwalteten Systemen als Variablen auf. Das Protokoll ermöglicht auch aktive Verwaltungsaufgaben, wie z. B. Konfigurationsänderungen, durch Remote -Modifikation dieser Variablen. Die über SNMP zugänglichen Variablen sind in Hierarchien organisiert. SNMP selbst definiert nicht, welche Variablen ein verwaltetes System bieten sollte. SNMP verwendet vielmehr ein erweiterbares Design, mit dem Anwendungen ihre eigenen Hierarchien definieren können. Diese Hierarchien werden als als beschrieben Managementinformationsbasis (MIB). MIBs beschreiben die Struktur der Verwaltungsdaten eines Geräte -Subsystems. Sie verwenden a Hierarchischer Namespace enthält Objektkennung (OID). Jedes OID identifiziert eine Variable, die über SNMP gelesen oder festgelegt werden kann. MIBs verwenden die Notation, die definiert durch Struktur von Managementinformationen Version 2.0 (SMIV2, RFC 2578), eine Teilmenge von Asn.1.

Protokolldetails

SNMP arbeitet in der Anwendungsschicht des Internet -Protokollsuite. Alle SNMP -Nachrichten werden über durch transportiert User Datagram Protocol (UDP). Der SNMP -Agent erhält Anfragen auf Udp-hafen 161. Der Manager kann Anfragen von jedem verfügbaren Quellport an Port 161 im Agenten senden. Die Agent -Antwort wird an den Quellport des Managers zurückgesandt. Der Manager erhält Benachrichtigungen (Fallen und InformationRequests) auf Port 162. Der Agent kann Benachrichtigungen von einem verfügbaren Port über den verfügbaren Port erstellen. Wenn mit verwendet Transportschichtsicherheit oder Datagramm Transportschichtsicherheit, Anfragen werden auf Port 10161 und Benachrichtigungen an Port 10162 gesendet.[3]

SNMPV1 Gibt fünf Kern an Protokolldateneinheiten (PDUS). Zwei andere PDUs, GetBulkrequest und InformationRequest wurden in SNMPv2 und der hinzugefügt Bericht PDU wurde in SNMPV3 hinzugefügt. Alle SNMP -PDUs sind wie folgt konstruiert:

IP -Header UDP -Header Ausführung Gemeinschaft PDU-Typ Anfrage ID Fehler-Status Fehler-Index variable Bindungen

Die sieben SNMP -PDU -Typen, wie sie von der identifiziert wurden PDU-Typ Feld sind wie folgt:

GetRequest
Eine Manager-zu-Agent-Anfrage zum Abrufen des Werts einer Variablen oder der Liste von Variablen. Die gewünschten Variablen werden in variablen Bindungen angegeben (das Wertfeld wird nicht verwendet). Das Abrufen der angegebenen Variablenwerte ist als eine Atombetrieb vom Agenten. EIN Antwort mit aktuellen Werten wird zurückgegeben.
SetRequest
Eine Manager-zu-Agent-Anfrage, um den Wert einer Variablen oder Liste von Variablen zu ändern. Variable Bindungen werden im Körper der Anforderung angegeben. Änderungen an allen angegebenen Variablen sind als Atomoperation durch den Agenten vorzunehmen. EIN Antwort Mit (aktuellen) neuen Werten für die Variablen werden zurückgegeben.
GetNexTrequest
Eine Anfrage von Manager zu Agent, um verfügbare Variablen und deren Werte zu entdecken. Gibt eine zurück Antwort mit variabler Bindung für die Lexikografisch als nächstes Variable in der MIB. Die gesamte MIB eines Agenten kann durch iterative Anwendung von gelaufen werden GetNexTrequest Beginnend bei OID 0. Zeilen einer Tabelle können gelesen werden, indem Spalten OIDs in den variablen Bindungen der Anforderung angegeben werden.
GetBulkrequest
Eine Anfrage von Manager-zu-Agent für mehrere Iterationen von GetNexTrequest. Eine optimierte Version von GetNexTrequest. Gibt eine zurück Antwort mit mehreren variablen Bindungen, die von den variablen Bindungen oder Bindungen in der Anforderung gewonnen wurden. PDU spezifisch Nicht-Repeater und Max-Repetitionen Felder werden verwendet, um das Antwortverhalten zu kontrollieren. GetBulkrequest wurde in SNMPv2 eingeführt.
Antwort
Gibt variable Bindungen und Bestätigung vom Agenten zu Manager für zurück GetRequest, SetRequest, GetNexTrequest, GetBulkrequest und InformationRequest. Die Fehlerberichterstattung erfolgt von Fehler-Status und Fehler-Index Felder. Obwohl es als Reaktion auf beide Get und Sets verwendet wurde, wurde diese PDU genannt Erhalten Antwort in SNMPV1.
Fangen
Asynchrone Benachrichtigung vom Agenten zum Manager. Während der Manager in anderen SNMP -Kommunikation aktiv Informationen vom Agenten fordert, sind dies PDUs, die vom Agenten an den Manager gesendet werden, ohne ausdrücklich angefordert zu werden. SNMP Fallen Ermöglichen Sie einem Agenten, die Verwaltungsstation bedeutender Ereignisse über eine unerwünschte SNMP -Nachricht zu informieren. Trap PDUs umfassen Strom sysuptime Wert, ein OID, der den Typ der Trap und optionale variable Bindungen identifiziert. Die Zieladressierung für Fallen wird auf anwendungsspezifische Weise typischerweise durch Trap-Konfigurationsvariablen in der MIB bestimmt. Das Format der Trap -Nachricht wurde in SNMPv2 geändert und die PDU wurde umbenannt SNMPV2-Trap.
InformationRequest
Anerkannte asynchrone Benachrichtigung. Diese PDU wurde in SNMPv2 eingeführt und ursprünglich definiert als Manager zum Manager Kommunikation.[4] Spätere Implementierungen haben die ursprüngliche Definition gelockert, um zulässig zu werden Agent zum Manager Kommunikation.[5][6][7] Manager-zu-Manager-Benachrichtigungen waren in SNMPV1 mit a bereits möglich FangenAber da SNMP üblicherweise über UDP läuft, wo die Lieferung nicht sicher ist und nicht abgelegte Pakete gemeldet werden, wird die Lieferung von a Fangen war nicht garantiert. InformationRequest Festlegen, dass dies als Bestätigung zurückgegeben wird.[6]

RFC 1157 Gibt an, dass eine SNMP -Implementierung eine Nachricht von mindestens 484 Bytes annehmen muss. In der Praxis akzeptieren SNMP -Implementierungen längere Nachrichten.[8]: 1870 Bei korrekter Implementierung wird eine SNMP -Nachricht verworfen, wenn die Decodierung der Nachricht fehlschlägt und somit fehlförmige SNMP -Anforderungen ignoriert werden. Eine erfolgreich dekodierte SNMP -Anforderung wird dann mit der Community -Zeichenfolge authentifiziert. Wenn die Authentifizierung fehlschlägt, wird eine Falle generiert, die einen Authentifizierungsfehler angibt und die Nachricht fallen gelassen wird.[8]: 1871

SNMPV1 und SNMPv2 verwenden Gemeinschaften Vertrauen zwischen Managern und Agenten schaffen. Die meisten Agenten unterstützen drei Community-Namen, jeweils eine für schreibgeschützte, Leseschreiber und Falle. Diese drei Community -Saiten kontrollieren verschiedene Arten von Aktivitäten. Die schreibgeschützte Community gilt für erhalten Anfragen. Die Read-Write-Community-String gilt für einstellen Anfragen. Die Trap Community -Zeichenfolge gilt für den Erhalt von Fallen. SNMPV3 verwendet auch Community -Zeichenfolgen, ermöglicht jedoch eine sichere Authentifizierung und Kommunikation zwischen SNMP Manager und Agent.[9]

Protokollversionen

In der Praxis unterstützen SNMP -Implementierungen häufig mehrere Versionen: typischerweise SNMPV1, SNMPV2C und SNMPV3.[10][11]

Version 1

SNMP Version 1 (SNMPV1) ist die erste Implementierung des SNMP -Protokolls. Das Design von SNMPV1 wurde in den 1980er Jahren von einer Gruppe von Mitarbeitern durchgeführt, die die offiziell gesponserten OSI/IETF/NSF (National Science Foundation) -Bemühungen (HEMS/CMIS/CMIP) als beide in den Computerplattformen der Zeit sowie in der Zeit sowie in der Zeit sowie in der Zeit sowie in den potenziell nicht verarbeitbar. SNMP wurde auf der Grundlage der Überzeugung zugelassen, dass es sich um ein Interim-Protokoll handelte, das für die Ausführung von Schritten in Richtung großer Bereitstellung des Internets und seiner Kommerzialisierung erforderlich war.

Der Erste Anfrage für Kommentare (RFCS) für SNMP, jetzt als SNMPV1 bekannt, erschien 1988:

  • RFC 1065-Struktur und Identifizierung von Managementinformationen für TCP/IP-basierte Internets
  • RFC 1066-Verwaltungsinformationsbasis für die Netzwerkverwaltung von TCP/IP-basierten Internet
  • RFC 1067- Ein einfaches Netzwerkmanagementprotokoll

Im Jahr 1990 wurden diese Dokumente ersetzt von:

  • RFC 1155-Struktur und Identifizierung von Managementinformationen für TCP/IP-basierte Internets
  • RFC 1156-Verwaltungsinformationsbasis für die Netzwerkverwaltung von TCP/IP-basierten Internet
  • RFC 1157- Ein einfaches Netzwerkmanagementprotokoll

1991, RFC 1156 (MIB-1) wurde durch die häufiger verwendeten ersetzt:

  • RFC 1213-Version 2 der Verwaltungsinformationsbasis (MIB-2) für die Netzwerkverwaltung von TCP/IP-basierten Internet

SNMPV1 wird weit verbreitet und ist das de facto Netzwerkmanagementprotokoll in der Internet -Community.[12]

SNMPV1 kann von getragen werden Transportschicht Protokolle wie User Datagram Protocol (UDP), Internet Protocol (IP), OSI Verbindungslosen-Modus-Netzwerkdienst (Clns), Appletalk Datagramm -Lieferprotokoll (DDP) und Novell Internetwork -Paketaustausch (IPX).

Version 1 wurde wegen seiner schlechten Sicherheit kritisiert.[13] Die Spezifikation ermöglicht tatsächlich den Raum für die Verwendung einer benutzerdefinierten Authentifizierung, aber weit verbreitete Implementierungen "Unterstützen Sie nur einen trivialen Authentifizierungsdienst, der alle SNMP -Nachrichten als authentische SNMP -Nachrichten identifiziert".[14] Die Sicherheit der Nachrichten hängt daher von der Sicherheit der Kanäle ab, über die die Nachrichten gesendet werden. Beispielsweise kann eine Organisation ihr internes Netzwerk als ausreichend sicher betrachten, dass für ihre SNMP -Nachrichten keine Verschlüsselung erforderlich ist. In solchen Fällen der "Gemeinschaftsname", der in übertragen wird Klartext, tendenziell als De -facto -Passwort angesehen werden, trotz der ursprünglichen Spezifikation.

Version 2

SNMPv2, definiert von RFC 1441 und RFC 1452, überarbeitet Version 1 und beinhaltet Verbesserungen in den Bereichen Leistung, Sicherheit und Manager-zu-Manager-Kommunikation. Es wurde eingeführt GetBulkrequestEine Alternative zu iterativem GetNexTrequests zum Abrufen großer Mengen an Verwaltungsdaten in einer einzigen Anfrage. Das in SNMPv2 eingeführte neue Partei-basierte Sicherheitssystem, das von vielen als übermäßig komplex angesehen wurde, wurde nicht weit verbreitet.[13] Diese Version von SNMP erreichte das vorgeschlagene Standardniveau der Reife, wurde jedoch von späteren Versionen als veraltet eingestuft.[15]

Community-basierte einfache Netzwerkmanagementprotokoll Version 2, oder SNMPV2C, ist definiert in RFC 1901RFC 1908. SNMPV2C umfasst SNMPv2 ohne Das umstrittene neue SNMP V2-Sicherheitsmodell, das stattdessen das einfache Community-basierte Sicherheitsschema von SNMPV1 verwendet. Diese Version ist einer der relativ wenigen Standards, um das Standardreife der IETF zu erfüllen, und wurde allgemein als die betrachtet de facto SNMPV2 Standard.[15] Es wurde später als Teil von SNMPV3 angepasst.[16]

Benutzerbasierte einfache Netzwerkverwaltungsprotokoll Version 2, oder Snmpv2u, ist definiert in RFC 1909RFC 1910. Dies ist ein Kompromiss, der versucht, eine größere Sicherheit als SNMPV1 zu bieten, ohne jedoch die hohe Komplexität von SNMPv2 zu entstehen. Eine Variante davon wurde kommerzialisiert als SNMP v2*und der Mechanismus wurde schließlich als eines von zwei Sicherheitsrahmen in SNMP V3 übernommen.[17]

64-Bit-Zähler

SNMP Version 2 führt die Option für 64-Bit-Datenzähler vor. Version 1 wurde nur mit 32-Bit-Zähler entwickelt, die Ganzzahlwerte von Null auf 4,29 Milliarden speichern können (genau 4.294.967.295). Ein 32-Bit-Version 1-Zähler kann nicht die maximale Geschwindigkeit eines 10 Gigabit oder einer größeren Grenzfläche speichern, die in Bit pro Sekunde ausgedrückt wird. In ähnlicher Weise kann eine 32-Bit-Zähler-Tracking-Statistik für eine 10 Gigabit oder eine größere Schnittstelle in weniger als einer Minute wieder auf Null zurückkehren, was möglicherweise ein kürzeres Zeitintervall sein kann, als ein Zähler zum Lesen des aktuellen Zustands abgefragt wird. Dies würde zu verlorenen oder ungültigen Daten aufgrund des unentdeckten Wertrollovers und der Beschädigung von Trend-Tracking-Daten führen.

Mit dem 64-Bit-Version 2 können Werte von null auf 18,4 Quintillionen (genau 18.446.744.073.709.551.615) gespeichert werden. Derzeit ist es derzeit unwahrscheinlich, dass sie zwischen den Wahllokalen einen Gegenüberschuss aufnehmen. Zum Beispiel 1.6 Terabit Ethernet Es wird vorausgesagt, dass bis 2025 eine 64-Bit-Zählerinkrementierung mit einer Rate von 1,6 Billionen Bit pro Sekunde in der Lage wäre, Informationen für eine solche Schnittstelle zu erhalten, ohne 133 Tage lang zu rollen.

SNMPV1- und SNMPV2C -Interoperabilität

SNMPV2C ist mit SNMPV1 in zwei Schlüsselbereichen nicht kompatibel: Nachrichtenformate und Protokolloperationen. SNMPV2C -Nachrichten verwenden unterschiedliche Header- und Protokolldateneinheit (PDU) als SNMPV1 -Nachrichten. SNMPV2C verwendet auch zwei Protokolloperationen, die in SNMPV1 nicht angegeben sind. Inkompatibilität überwinden, RFC 3584 Definiert zwei SNMPV1/V2C-Koexistenzstrategien: Proxy-Agenten und zweisprachige Netzwerkmanagementsysteme.

Proxy -Agenten

Ein SNMPV2 -Agent kann im Namen von SNMPV1 -Managed -Geräten als Proxy -Agent fungieren. Wenn ein SNMPV2 -NMS einen Befehl für einen SNMPV1 -Agenten ausgibt, sendet er ihn stattdessen an den SNMPV2 -Proxy -Agenten. Der Proxy Agent leitet Erhalten, GetNext, und Satz Nachrichten an den SNMPV1 -Agenten unverändert. GetBulk -Nachrichten werden vom Proxy -Agenten in konvertiert GetNext Nachrichten und werden dann an den SNMPV1 -Agenten weitergeleitet. Zusätzlich empfängt und markiert der Proxy -Agent SNMPV1 -Trap -Nachrichten an SNMPV2 -Trap -Nachrichten und leitet sie dann an die NMS weiter.

Zweisprachiger Netzwerkmanagementsystem

Zweisprachige SNMPv2-Netzwerkmanagementsysteme unterstützen sowohl SNMPv1 als auch SNMPv2. Um diese Dual-Management-Umgebung zu unterstützen, untersucht eine Verwaltungsanwendung Informationen, die in einer lokalen Datenbank gespeichert sind, um festzustellen, ob der Agent SNMPV1 oder SNMPV2 unterstützt. Basierend auf den Informationen in der Datenbank kommuniziert das NMS mit dem Agenten mit der entsprechenden Version von SNMP.

Version 3

Obwohl SNMPV3 abgesehen von der Hinzufügung der kryptografischen Sicherheit nicht Änderungen am Protokoll vorliegt, sieht es aufgrund neuer Textkonventionen, Konzepte und Terminologie sehr unterschiedlich aus.[1] Die sichtbarste Änderung bestand darin, eine sichere Version von SNMP durch Hinzufügen von Sicherheits- und Remote -Konfigurationsverbesserungen zu SNMP zu definieren.[18] Der Sicherheitsaspekt wird angesprochen, indem sowohl eine starke Authentifizierung als auch die Datenverschlüsselung für die Privatsphäre angeboten werden. Für den Administrationsaspekt konzentriert sich SNMPV3 auf zwei Teile, nämlich Benachrichtigungsautoren und Stellvertreter. Die Änderungen erleichtern auch die Remote-Konfiguration und -verwaltung der SNMP-Entitäten sowie Probleme im Zusammenhang mit der groß angelegten Bereitstellung, Buchhaltung und Fehlerverwaltung.

Die Funktionen und Verbesserungen waren enthalten:

  • Identifizierung von SNMP -Entitäten zur Erleichterung der Kommunikation nur zwischen bekannten SNMP -Entitäten - jede SNMP -Entität hat eine Kennung, die als SNMpengineId bezeichnet wird, und die SNMP -Kommunikation ist nur möglich, wenn eine SNMP -Entität die Identität seines Peer kennt. Fallen und Benachrichtigungen sind Ausnahmen von dieser Regel.
  • Unterstützung für Sicherheitsmodelle - Ein Sicherheitsmodell kann die Sicherheitsrichtlinie in einem Verwaltungsbereich oder einem Intranet definieren. SNMPV3 enthält die Spezifikationen für ein userbasiertes Sicherheitsmodell (USM).
  • Definition von Sicherheitszielen, bei denen die Ziele des Nachrichtenauthentifizierungsdienstes Schutz vor Folgendem enthalten:
    • Änderung von Informationen - Schutz vor einer nicht autorisierten SNMP -Entitätsveränderung In-Transsit-Nachrichten generiert von einem autorisierten Auftraggeber.
    • Masquerade - Schutz vor Versuch, Management -Operationen zu versuchen, die für einige Schulleiter nicht autorisiert wurden, indem die Identität eines anderen Auftraggebers übernimmt, das über die entsprechenden Genehmigungen verfügt.
    • Änderung des Nachrichtenstroms-Schutz vor Nachrichten, die böswillig neu angeordnet, verzögert oder wiederholt werden, um nicht autorisierte Verwaltungsvorgänge zu beeinflussen.
    • Offenlegung - Schutz vor Abhören am Austausch zwischen SNMP -Motoren.
  • Die Spezifikation für USM - USM besteht aus der allgemeinen Definition der folgenden Kommunikationsmechanismen:
    • Kommunikation ohne Authentifizierung und Privatsphäre (NOAuthnopriv).
    • Kommunikation mit Authentifizierung und ohne Privatsphäre (Authnopriv).
    • Kommunikation mit Authentifizierung und Datenschutz (AuthPriv).
  • Definition verschiedener Authentifizierungs- und Datenschutzprotokolle-MD5, SHA und HMAC-SHA-2[19] Authentifizierungsprotokolle und die Datenschutzprotokolle von CBC_DES und CFB_AES_128 werden in der USM unterstützt.
  • Definition eines Erkennungsverfahrens - um die SNMPengineId eines SNMP -Unternehmens für eine bestimmte Transportadresse und die Transportendpunktadresse zu finden.
  • Definition des Zeitsynchronisationsverfahrens - zur Erleichterung der authentifizierten Kommunikation zwischen den SNMP -Unternehmen.
  • Definition des SNMP -Framework -MIB - zur Erleichterung der Remote -Konfiguration und -verwaltung der SNMP -Entität.
  • Definition der USM -MIBs - Erleichterung der Remote -Konfiguration und -verwaltung des Sicherheitsmoduls.
  • Definition des VAIM-MIBS (View Based Access Control Model)-zur Erleichterung der Remote-Konfiguration und -verwaltung des Zugriffskontrollmoduls.

Die Sicherheit war eine der größten Schwäche von SNMP bis V3. Die Authentifizierung in den SNMP -Versionen 1 und 2 ist nur ein Kennwort (Community -Zeichenfolge), das in klarem Text zwischen einem Manager und einem Agenten gesendet wurde.[1] Jede SNMPV3 -Nachricht enthält Sicherheitsparameter, die als Oktettzeichenfolge codiert werden. Die Bedeutung dieser Sicherheitsparameter hängt vom verwendeten Sicherheitsmodell ab.[20] Der Sicherheitsansatz in V3 -Zielen:[21]

  • Vertraulichkeit - Verschlüsselung von Paketen, um das Snooping durch eine nicht autorisierte Quelle zu verhindern.
  • Integrität - Nachrichtenintegrität Um sicherzustellen, dass ein Paket während des Transports nicht manipuliert wurde, einschließlich eines optionalen Paket -Replay -Schutzmechanismus.
  • Authentifizierung - Um zu überprüfen, ob die Nachricht von einer gültigen Quelle stammt.

V3 definiert auch die USM und den VAVM, auf die später ein Transportsicherheitsmodell (TSM) gefolgt wurde, das SNMP3 gegenüber SSH und SNMPV3 gegenüber TLS und DTLs unterstützte.

  • USM (Benutzerbasierter Sicherheitsmodell) bietet Authentifizierungs- und Datenschutzfunktionen (Verschlüsselung) und arbeitet auf Nachrichtenebene.
  • Das VAVM (Ansichts-Basis-Zugriffskontrollmodell) bestimmt, ob einem bestimmten Auftraggeber Zugriff auf ein bestimmtes MIB-Objekt zulässig ist, um bestimmte Funktionen auszuführen, und arbeitet auf PDU-Ebene.
  • TSM (Transportsicherheitsmodell) bietet eine Methode zum Authentifizieren und Verschlüsseln von Nachrichten über externe Sicherheitskanäle. Es wurden zwei Transporte, SSH und TLS/DTLs, definiert, die die TSM -Spezifikation verwenden.

Ab 2004 das Ietf erkennt Einfacher Netzwerkmanagement -Protokoll Version 3 wie definiert von RFC 3411RFC 3418[22] (auch als STD0062 bekannt) als aktuelle Standardversion von SNMP. Das Ietf hat SNMPv3 als voll bezeichnet Internetstandard,[23] das höchste Reifegrad Für einen RFC. Es berücksichtigt frühere Versionen als veraltet (bezeichnet sie unterschiedlich "historisch" oder "veraltet").[15]

Umsetzungsfragen

Die leistungsstarken Schreibfunktionen von SNMP, die die Konfiguration von Netzwerkgeräten ermöglichen würden, werden von vielen Anbietern nicht vollständig genutzt MIB -Objekt ändert sich.

Einige SNMP -Werte (insbesondere tabellarische Werte) erfordern spezifische Kenntnisse der Tabellenindizierungsschemata, und diese Indexwerte sind nicht unbedingt übereinstimmende Plattformen. Dies kann zu Korrelationsproblemen führen, wenn Informationen von mehreren Geräten abgerufen werden, die möglicherweise nicht dasselbe Tabellenindizierungsschema verwenden (z. B. Abholen von Scheibennutzungsmetriken, bei denen ein bestimmter Festplattenkennung zwischen Plattformen unterschiedlich ist.[24]

Einige wichtige Ausrüstungsanbieter neigen dazu, ihre Eigentümerin zu übertreffen Befehlszeilenschnittstelle (CLI) Zentrale Konfigurations- und Steuerungssysteme.[25][Fehlgeschlagene Überprüfung]

Im Februar 2002 die Carnegie Mellon Software Engineering Institute (CM-Sei) Coordination Center (CERT-CC) Computer Emergency Response Team erteilte einen Hinweis auf SNMPV1,[26] nach dem Oulu University Secure Programming Group führte eine gründliche Analyse der SNMP -Nachrichtenhandhabung durch. Die meisten SNMP -Implementierungen, unabhängig davon, welche Version des Protokolls sie unterstützen, verwenden denselben Programmcode für die Dekodierung Protokolldateneinheiten (PDU) und Probleme wurden in diesem Code identifiziert. Weitere Probleme wurden bei Decoding SNMP -Trap -Nachrichten gefunden, die von der SNMP -Verwaltungsstation oder vom SNMP -Agenten auf dem Netzwerkgerät empfangen wurden. Viele Anbieter mussten Patches für ihre SNMP -Implementierungen ausstellen.[8]: 1875

Sicherheitsauswirkungen

Verwenden von SNMP, um ein Netzwerk anzugreifen

Da SNMP so konzipiert ist, dass Administratoren Netzwerkgeräte remote überwachen und konfigurieren können, kann es auch zum Eindringen in ein Netzwerk verwendet werden. Eine erhebliche Anzahl von Softwaretools kann das gesamte Netzwerk mithilfe von SNMP scannen. Daher können Fehler in der Konfiguration des Read-Write-Modus ein Netzwerk für Angriffe anfällig machen.[27]: 52

In 2001, Cisco Veröffentlichte Informationen, die darauf hinwiesen, dass die SNMP-Implementierung auch im schreibgeschützten Modus von SNMP von Cisco iOS ist anfällig für bestimmte Denial of Service Anschläge. Diese Sicherheitsprobleme können durch ein iOS -Upgrade behoben werden.[28]

Wenn SNMP in einem Netzwerk nicht verwendet wird, sollte es in Netzwerkgeräten deaktiviert werden. Bei der Konfiguration des SNMP-schreibgeschützten Modus sollte der Konfiguration der Konfiguration genau beobachtet werden Zugangskontrolle und von welchen IP -Adressen SNMP -Nachrichten akzeptiert werden. Wenn die SNMP -Server von ihrer IP identifiziert werden, darf SNMP nur auf diese IPS reagieren, und SNMP -Nachrichten von anderen IP -Adressen würden abgelehnt. Jedoch, IP -Adresse Spoofing bleibt ein Sicherheitsbedenken.[27]: 54

Authentifizierung

SNMP ist in verschiedenen Versionen erhältlich, jeweils über eigene Sicherheitsprobleme. SNMP V1 sendet Kennwörter im Clear-Text über das Netzwerk. Daher können Passwörter mit gelesen werden Paket schnüffeln. SNMP V2 erlaubt Passwort Hashing mit MD5, aber das muss konfiguriert werden. Praktisch allen Netzwerkverwaltungssoftware Unterstützen Sie SNMP V1, aber nicht unbedingt SNMP V2 oder V3. SNMP V2 wurde speziell entwickelt, um bereitzustellen Datensicherheit, das ist Authentifizierung, Privatsphäre und Genehmigung, aber nur SNMP -Version 2C erhielt die Bestätigung der Internettechnik-Arbeitsgruppe (IETF), während die Versionen 2U und 2* aufgrund von Sicherheitsproblemen keine IETF -Genehmigung erhalten haben. SNMP V3 verwendet MD5, Sichern Sie den Hash -Algorithmus (SHA) und Schlüsselalgorithmen, um Schutz vor nicht autorisierter Datenänderung zu bieten und Spoofing -Angriffe. Wenn ein höheres Sicherheitsniveau benötigt wird, das Datenverschlüsselungsstandard (Des) kann optional in der verwendet werden Verschlüsselungsblockkettung Modus. SNMP V3 wird seit Version 12.0 (3) t auf Cisco IOS implementiert.[27]: 52

SNMPV3 kann unterliegen rohe Gewalt und Wörterbuchangriffe Um die Authentifizierungsschlüssel oder Verschlüsselungsschlüssel zu erraten, werden diese Schlüssel aus kurzen (schwachen) Passwörtern oder Passwörtern generiert, die in einem Wörterbuch zu finden sind. SNMPV3 ermöglicht es sowohl zufällige gleichmäßig verteilte kryptografische Schlüssel bereitzustellen als auch kryptografische Schlüssel aus einem vom Benutzer gelieferten Kennwort. Das Risiko, Authentifizierungszeichenfolgen aus Hash -Werten zu erraten, die über das Netzwerk übertragen werden Kryptografische Hash -Funktion gebraucht und die Länge des Hash -Werts. SNMPV3 verwendet das HMAC-SHA-2 Authentifizierungsprotokoll für das benutzerbasierte Sicherheitsmodell (USM).[29] SNMP verwendet keine sicherere Challenge-Handshake-Authentifizierungsprotokoll. SNMPV3 (wie andere SNMP -Protokollversionen) ist a Staatelo Protokollund es wurde mit einer minimalen Menge an Interaktionen zwischen dem Agenten und dem Manager konzipiert. Die Einführung eines Herausforderungs-Response-Handshake für jeden Befehl würde den Agenten (und möglicherweise im Netzwerk selbst) belasten, dass die Protokolldesigner als übermäßig und inakzeptabel eingestuft wurden.

Die Sicherheitsmängel aller SNMP -Versionen können von gemindert werden Ipsec Authentifizierung und Vertraulichkeitsmechanismen. SNMP kann auch sicher übertragen werden Datagramm Transportschichtsicherheit (DTLS).[10]

Viele SNMP -Implementierungen enthalten eine Art automatische Erkennung, bei der eine neue Netzwerkkomponente wie ein Switch oder ein Router automatisch entdeckt und befragt wird. In SNMPV1 und SNMPV2C erfolgt dies über a Community -Zeichenfolge Das wird im Clear-Text auf andere Geräte übertragen.[10] Clear-Text-Passwörter sind ein erhebliches Sicherheitsrisiko. Sobald die Community -Saite außerhalb der Organisation bekannt ist, könnte sie zum Ziel für einen Angriff werden. Um die Administratoren auf andere Versuche zu alarmieren, Community-Zeichenfolgen zu veranlassen, kann SNMP so konfiguriert werden, dass sie die Authentifizierungsfehlerfallen der Community-Namen übergeben.[27]: 54 Wenn SNMPv2 verwendet wird, kann das Problem vermieden werden, indem die Kennwortverschlüsselung auf den SNMP -Agenten von Netzwerkgeräten aktiviert wird.

Die übliche Standardkonfiguration für Community-Zeichenfolgen ist "öffentlich" für schreibgeschützte Zugriff und "privat" für Leseschreiber.[8]: 1874 Aufgrund der bekannten Standardeinstellungen stellte SNMP die Liste der an. Ohne InstitutDie übliche Standardkonfigurationsprobleme und die Nummer zehn in den wichtigsten 10 kritischsten Bedrohungen für das Internet für das Jahr 2000.[30] System- und Netzwerkadministratoren ändern diese Konfigurationen häufig nicht.[8]: 1874

Ob es über TCP oder UDP läuft, SNMPV1 und V2 sind anfällig für IP -Spoofing Anschläge. Mit Spoofing können Angreifer die Gerätezugriffslisten in Agenten umgehen, die implementiert werden, um den SNMP -Zugriff einzuschränken. SNMPV3 -Sicherheitsmechanismen wie USM oder TSM verhindern einen erfolgreichen Spoofing -Angriff.

RFC -Referenzen

  • RFC 1155 (Std 16) - Struktur und Identifizierung von Managementinformationen für das TCP/IP-basierte Internet
  • RFC 1156 (Historisch) - Verwaltungsinformationsbasis für die Netzwerkverwaltung von TCP/IP-basierten Internet
  • RFC 1157 (Historisch) - Ein einfaches Netzwerkmanagementprotokoll (SNMP)
  • RFC 1213 (Std 17) - Verwaltungsinformationsbasis für die Netzwerkverwaltung von TCP/IP-basierten Internet: MIB-II.
  • RFC 1452 (Information) - Koexistenz zwischen Version 1 und Version 2 des Internet-Standard-Netzwerkmanagement-Frameworks (Veraltet von RFC 1908)
  • RFC 1901 (Experimentell) - Einführung in Community-basierte SNMPv2
  • RFC 1902 (Entwurfsstandard) - Struktur von Managementinformationen für SNMPv2 (Veraltet von RFC 2578)
  • RFC 1908 (Standards Track) - Koexistenz zwischen Version 1 und Version 2 des Internet-Standard-Netzwerkmanagement-Frameworks
  • RFC 2570 (Information) - Einführung in Version 3 des Internet-Standard-Netzwerkmanagement-Frameworks (Veraltet von RFC 3410)
  • RFC 2578 (STD 58) - Struktur der Verwaltungsinformationen Version 2 (SMIV2)
  • RFC 3410 (Information) - Einführung und Anwendbarkeitsanweisungen für das Internet Standard Management Framework
  • STD 62 Enthält die folgenden RFCs:
    • RFC 3411- Eine Architektur zur Beschreibung des SNMP -Verwaltungsrahmens (Network Management Protocol)
    • RFC 3412- Nachrichtenverarbeitung und Versand für das einfache Netzwerkverwaltungsprotokoll (SNMP)
    • RFC 3413- Einfache Netzwerkmanagement -Protokollanwendungen (SNMP)
    • RFC 3414- Benutzerbasiertes Sicherheitsmodell (USM) für Version 3 des einfachen Netzwerkverwaltungsprotokolls (SNMPV3)
    • RFC 3415- View-basiertes Zugriffskontrollmodell (VAVM) für das einfache Netzwerkmanagementprotokoll (SNMP)
    • RFC 3416- Version 2 der Protokolloperationen für das Simple Network Management Protocol (SNMP)
    • RFC 3417- Transportzuordnungen für das einfache Netzwerkmanagementprotokoll (SNMP)
    • RFC 3418- Management Information Base (MIB) für das einfache Netzwerkmanagementprotokoll (SNMP)
  • RFC 3430 (Experimentell) - Simple Network Management Protocol (SNMP) über Transmission Control Protocol (TCP) Transport Mapping
  • RFC 3584 (BCP 74) - Koexistenz zwischen Version 1, Version 2 und Version 3 des Internet-Standard-Netzwerkmanagement-Frameworks
  • RFC 3826 (Vorgeschlagen) - Der Cipher-Algorithmus (Advanced Encryption Standard) im SNMP-Benutzerbasierten Sicherheitsmodell
  • RFC 4789 (Vorgeschlagen) - Einfaches Netzwerkmanagementprotokoll (SNMP) über IEEE 802 -Netzwerke
  • RFC 5343 (STD 78) - Einfacher Netzwerkmanagementprotokoll (SNMP) Kontext -EngineID -Entdeckung
  • RFC 5590 (STD 78) - Transport -Subsystem für das einfache Netzwerkmanagementprotokoll (SNMP)
  • RFC 5591 (STD 78) - Transportsicherheitsmodell für das einfache Netzwerkmanagementprotokoll (SNMP)
  • RFC 5592 (Vorgeschlagen) - Sicheres Shell -Transportmodell für das einfache Netzwerkmanagementprotokoll (SNMP)
  • RFC 5608 (Vorgeschlagen) - Remote-Authentifizierungs-Dial-In-User Service (RADIUS) Nutzung für einfache Transportmodelle für Netzwerkverwaltungsprotokoll (SNMP).
  • RFC 6353 (STD 78) - Transport Layer Security (TLS) Transportmodell für das einfache Netzwerkmanagementprotokoll (SNMP)
  • RFC 7630 (Vorgeschlagen) - HMAC-SHA-2-Authentifizierungsprotokolle im userbasierten Sicherheitsmodell (USM) für SNMPV3

Siehe auch

Verweise

  1. ^ a b c Douglas R. Mauro & Kevin J. Schmidt. (2001). Essential SNMP (1. Aufl.). Sebastopol, CA: O'Reilly & Associates.
  2. ^ Eine Architektur zur Beschreibung des SNMP -Verwaltungsrahmens (Network Management Protocol). doi:10.17487/rfc3411. RFC 3411.
  3. ^ RFC 6353 Abschnitt 10
  4. ^ J. Fall; K. McCloghrie; M. Rose; S. Waldbusser (April 1993). "RFC 1448 - Protokolloperationen für Version 2 des einfachen Netzwerkmanagementprotokolls (SNMPv2)". Internettechnik-Arbeitsgruppe. Eine InformationRequest-PDU wird auf Anfrage generiert und übertragen. Eine Anwendung in einer SNMPv2-Entität, die in einer Manager-Rolle wirkt, die eine andere Anwendung (in einer SNMPv2-Entität, die auch in einer Manager-Rolle wirkt) mit Informationen in der MIB-Ansicht einer Partei benachrichtigt wird Lokal zur Sendungsanwendung. {{}}: Journal zitieren erfordert |journal= (Hilfe)
  5. ^ D. Levi; P. Meyer; B. Stewart (April 1999). "RFC 2573 - SNMP -Anwendungen". Internettechnik-Arbeitsgruppe. {{}}: Journal zitieren erfordert |journal= (Hilfe)
  6. ^ a b "SNMP -Anfragen". Cisco. Abgerufen 2011-12-09. {{}}: Journal zitieren erfordert |journal= (Hilfe)
  7. ^ "Verständnis der SNMP -Implementierung in Junos -Software". Juniper -Netzwerke. Abgerufen 2013-02-11. {{}}: Journal zitieren erfordert |journal= (Hilfe)
  8. ^ a b c d e Harold F. Tipton & Micki Krause (2007). Handbuch für Informationssicherheitsmanagement, Sechste Ausgabe. CRC Press. ISBN 9780849374951.{{}}: CS1 Wartung: Verwendet Autorenparameter (Link)
  9. ^ Douglas Mauro & Kevin Schmidt (2005). Handbuch für Informationssicherheitsverwaltung, Sechste editioessential SNMP: Hilfe für System- und Netzwerkadministratoren. O'Reilly Media, Inc. S. 21–22. ISBN 9780596552770.{{}}: CS1 Wartung: Verwendet Autorenparameter (Link)
  10. ^ a b c Stuart Jacobs (2015). Ingenieur Informationssicherheit: Die Anwendung von Systemtechnikkonzepten zur Erreichung der Informationssicherung. John Wiley & Sons. p. 367. ISBN 9781119104797.
  11. ^ RFC 3584 "Koexistenz zwischen Version 1, Version 2 und Version 3 des Internet-Standard-Netzwerkmanagement-Frameworks"
  12. ^ Wiley, John (2015-12-01). Ingenieur Informationssicherheit: Die Anwendung von Systemtechnikkonzepten zur Erreichung der Informationssicherung. p. 366. ISBN 9781119104711. Abgerufen 2017-09-14.
  13. ^ a b "Sicherheit in SNMPv3 gegen SNMPV1 oder V2C" (PDF). Archiviert von das Original (PDF) 2013-04-29.
  14. ^ RFC 1157
  15. ^ a b c "RFC -Suchdetail: Standards verfolgen SNMPv2 RFCs". Der RFC -Editor. Abgerufen 2014-02-24.
  16. ^ RFC 3416
  17. ^ SNMPV3 - Benutzersicherheitsmodell, Dr. Dobbs, abgerufen 2019-03-09
  18. ^ In dieser Ausgabe: SNMP Version 3 Die einfachen Zeiten ISSN 1060-6084
  19. ^ RFC 7860
  20. ^ David Zeltserman (1999). Ein praktischer Leitfaden für SNMPV3 und Netzwerkmanagement. Upper Saddle River, NJ: Prentice Hall PTR.
  21. ^ "SNMPV3". Cisco -Systeme. Archiviert von das Original Am 2011-07-19.
  22. ^ "SNMP Version 3". Institut für Betriebssysteme und Computernetzwerke. Abgerufen 2010-05-07.
  23. ^ RFC -Editor Archiviert 2007-10-29 bei der Wayback -Maschine Liste der aktuellen Internetstandards (STDs)
  24. ^ "Verständnis der Tabellenindexwerte in SNMP".
  25. ^ "SNMP-Forschungspräsentationen zugunsten des standardbasierten Managements über proprietäres CLIS". SNMP -Forschung. Abgerufen 2010-10-12.
  26. ^ Zertifikat CA-2002-03 Mehrere Schwachstellen in vielen Implementierungen
  27. ^ a b c d Andrew G. Mason & Mark J. Newcomb (2001). Cisco sichern Internet -Sicherheitslösungen. Cisco Press. ISBN 9781587050169.{{}}: CS1 Wartung: Verwendet Autorenparameter (Link)
  28. ^ Andrew G. Mason & Mark J. Newcomb (2001). Cisco sichern Internet -Sicherheitslösungen. Cisco Press. pp.52. ISBN 9781587050169.{{}}: CS1 Wartung: Verwendet Autorenparameter (Link)
  29. ^ HMAC-SHA-2-Authentifizierungsprotokolle im userbasierten Sicherheitsmodell (USM) für SNMPV3. RFC 7630.
  30. ^ "SANS -Institut - CIs Critical Security Controls".

Weitere Lektüre

  • Douglas Mauro; Kevin Schmidt (2005). Essential SNMP (Zweite Ausgabe). O'Reilly Media. ISBN 978-0596008406.
  • William Stallings (1999). SNMP, SNMPV2, SNMPV3 und RMON 1 und 2. Addison Wesley Longman, Inc. ISBN 978-0201485349.
  • Marshall T. Rose (1996). Das einfache Buch. Prentice Hall. ISBN 0-13-451659-1.

Externe Links