← Zurück zur Übersicht
Protokolle

SNMP

Simple Network Management Protocol

SNMPMIBOIDTrapAgentManagerMonitoring

SNMP ist das Standardprotokoll für Netzwerkgeräte-Monitoring und -Management. Es ermöglicht, Statuswerte (CPU-Last, Interfaces, Fehlerrate) von Switches, Routern und Servern zentral abzufragen und Alarme (Traps) zu empfangen.

SNMP ManagerNagios · ZabbixPRTG · LibreNMSRouterSNMP AgentSwitchSNMP AgentServerSNMP AgentGET (Poll)Response Trap (Alarm)GET (Poll)

Entstehung und Beteiligte

SNMP entstand 1988 in der IETF als pragmatische Zwischenlösung für das Management wachsender TCP/IP-Netze. Autoren um Jeffrey Case, Mark Fedor, Martin Schoffstall und James Davin entwickelten ein bewusst einfaches Protokoll.

Welches Problem sollte gelöst werden?

Router und Server verschiedener Hersteller sollten Zustände und Zähler einheitlich melden können. Proprietäre Konsolen skalierten schlecht und verhinderten zentrale Überwachung.

Technische Hürden und Lösungen

Managementinformationen mussten über MIBs standardisiert werden. UDP hält den Aufwand klein, liefert aber keine Garantie. SNMPv1 und v2c verwenden schwache Community Strings; SNMPv3 ergänzte Benutzer, Authentizität und Verschlüsselung, ist jedoch komplexer.

Standardisierung und Einordnung

Internetprotokolle werden überwiegend in offenen RFC-Dokumenten beschrieben. Ein RFC kann ein historischer Vorschlag, ein aktueller Standard oder inzwischen überholt sein. Implementierungen müssen nicht nur das Papier befolgen, sondern mit fehlerhaften Gegenstellen, Paketverlust, Zeitüberschreitungen, Sicherheitsangriffen und jahrzehntealten Erweiterungen umgehen. Interoperabilität entsteht dadurch, dass unabhängige Hersteller dieselben Zustandsautomaten, Nachrichtenformate und Fehlerfälle testen.

Technik im praktischen Betrieb

Für den produktiven Einsatz zählt die konkrete Protokollversion. Alte und neue Varianten können denselben Port verwenden, besitzen aber völlig unterschiedliche Sicherheits- und Funktionsmerkmale. Administratoren sollten daher Aushandlung, Zertifikate, Timeouts, maximale Nachrichtengrößen und Fehlercodes sichtbar machen. Proxys, NAT und Firewalls verändern häufig den Datenpfad. Gute Tests erfolgen aus derselben Netzposition wie die betroffene Anwendung und prüfen nicht nur einen offenen Port, sondern einen vollständigen gültigen Vorgang.

Warum das Thema heute noch relevant ist

Die ursprüngliche Entstehungszeit erklärt viele heutige Sicherheitslücken: Frühe Internetgemeinschaften waren klein und Vertrauen wurde vorausgesetzt. Authentifizierung, Verschlüsselung und Missbrauchsschutz kamen oft erst später als Erweiterung hinzu. Moderne Implementierungen müssen deshalb sichere Voreinstellungen verwenden, alte Varianten abschalten und dennoch mit Gegenstellen kommunizieren, die einen älteren Stand besitzen. Versionsnummer, Aushandlung und tatsächlich aktive Option sind aussagekräftiger als der bloße Protokollname.

Daten und Meilensteine

  • 1988: erste SNMP-RFCs.
  • GET liest Werte, SET verändert sie, Trap und Inform melden Ereignisse.
  • MIB-Objekte werden durch OIDs identifiziert.
  • SNMPv3 bietet Authentifizierung und optional Verschlüsselung.

Was ist SNMP?

SNMP (Simple Network Management Protocol) ist der Industriestandard für Netzwerk-Monitoring und -Management. Es ermöglicht, Statusinformationen von Netzwerkgeräten (Router, Switches, Server, Drucker) zentral abzufragen und Konfigurationen zu ändern.

SNMP nutzt UDP Port 161 (Agent empfängt GET/SET-Anfragen) und Port 162 (Manager empfängt Traps/Benachrichtigungen). Die Datenstruktur ist als MIB (Management Information Base) organisiert – eine hierarchische Baumstruktur aus OIDs (Object Identifiers).

SNMP-Versionen

  • SNMPv1 (1988): Ursprüngliche Version. Community-String (Passwort im Klartext) als einzige Authentifizierung. Heute unsicher.
  • SNMPv2c: Verbesserte Protokollfähigkeiten, aber immer noch Community-Strings (Klartext). Weit verbreitet.
  • SNMPv3 (2004): Sicherheit durch Authentifizierung (MD5/SHA) und Verschlüsselung (DES/AES). Best Practice für alle neuen Deployments.
  • Community Strings: "public" (Lesen) und "private" (Schreiben) sind oft noch Standard – müssen geändert werden!

MIB, OID und Traps

Die MIB (Management Information Base) definiert alle Variablen, die ein Gerät per SNMP bereitstellt. Jede Variable hat eine OID (Object Identifier) – einen hierarchischen Zahlencode, z.B. 1.3.6.1.2.1.1.1.0 für sysDescr (Systembeschreibung).

SNMP-Operationen: GET (Wert abfragen), GETNEXT/GETBULK (mehrere Werte), SET (Wert setzen), Trap (unaufgeforderter Alarm vom Gerät, z.B. Linkdown). Traps ermöglichen proaktive Benachrichtigung ohne ständiges Polling.