Zuletzt aktualisiert am 04.12.2025 8 Minuten Lesezeit

SNMP

SNMP (Simple Network Management Protocol) ist ein standardisiertes Netzwerkprotokoll, das die Überwachung und Verwaltung von Netzwerkgeräten ermöglicht. Es bildet das Rückgrat der meisten Netzwerk-Monitoring-Systeme und erlaubt Administratoren, den Status von Routern, Switches, Servern, Druckern und anderen netzwerkfähigen Geräten zentral zu erfassen und zu steuern.

Stell dir SNMP wie einen Hausmeister vor, der regelmäßig durch ein Gebäude geht und den Zustand aller technischen Anlagen prüft: Läuft die Heizung? Ist das Licht an? Wie voll ist der Mülleimer? Genauso fragt SNMP systematisch Netzwerkgeräte nach ihrem Zustand ab und kann bei Bedarf auch Einstellungen ändern.

Geschichte und Entwicklung

SNMP wurde 1988 von der Internet Engineering Task Force (IETF) als einfache Lösung für das wachsende Problem der Netzwerkverwaltung entwickelt. Zu dieser Zeit expandierten Computernetzwerke rasant, und es fehlte ein einheitlicher Standard zur Überwachung heterogener Geräte verschiedener Hersteller.

Die wichtigsten Meilensteine:

  • 1988: SNMPv1 wird als RFC 1067 veröffentlicht - einfach, aber ohne Sicherheitsfunktionen
  • 1993: SNMPv2 erscheint mit verbesserten Funktionen (RFC 1441-1452)
  • 1996: SNMPv2c ("community-based") wird der praktische Standard, da SNMPv2 zu komplex war
  • 1998: SNMPv3 führt erstmals echte Sicherheitsfunktionen ein (RFC 2571-2575)
  • 2002: Aktualisierte SNMPv3-Spezifikation als Internet-Standard (RFC 3411-3418)

Trotz seines Alters ist SNMP bis heute der De-facto-Standard für Netzwerk-Monitoring. Nahezu jedes netzwerkfähige Gerät unterstützt das Protokoll - von günstigen Home-Routern bis zu Enterprise-Switches.

Komponenten eines SNMP-Systems

Ein SNMP-basiertes Managementsystem besteht aus drei Hauptkomponenten, die zusammenarbeiten, um Netzwerkgeräte zu überwachen und zu verwalten.

SNMP Manager (Network Management Station)

Der SNMP Manager ist die zentrale Überwachungsinstanz - typischerweise eine Software auf einem Server, die das gesamte Netzwerk im Blick behält. Er sendet Anfragen an die Agents, empfängt deren Antworten und Alarmmeldungen, und stellt die gesammelten Daten in Dashboards oder Berichten dar.

Bekannte SNMP-Manager sind Nagios, Zabbix, PRTG Network Monitor, Cacti oder das kommerzielle SolarWinds. Diese Tools visualisieren die Netzwerkdaten und können bei Problemen automatisch Alarme auslösen.

SNMP Agent

Der SNMP Agent ist eine Software-Komponente, die auf jedem verwalteten Gerät läuft. Er sammelt lokale Informationen wie CPU-Auslastung, Speicherverbrauch, Netzwerkverkehr oder Fehlerzähler und stellt diese dem Manager auf Anfrage zur Verfügung. Bei kritischen Ereignissen kann der Agent auch unaufgefordert Alarme (Traps) an den Manager senden.

Die meisten Betriebssysteme und Netzwerkgeräte bringen einen SNMP-Agent bereits mit. Unter Linux ist der snmpd-Daemon Teil des Net-SNMP-Pakets, Windows Server enthält einen SNMP-Dienst, und Router sowie Switches haben den Agent in ihrer Firmware integriert.

MIB (Management Information Base)

Die MIB ist eine hierarchisch strukturierte Datenbank, die alle verwaltbaren Objekte eines Geräts beschreibt. Sie definiert, welche Informationen abgefragt werden können, welchen Datentyp sie haben und ob sie nur lesbar oder auch schreibbar sind.

Jedes Objekt in der MIB wird durch einen eindeutigen OID (Object Identifier) identifiziert - eine Zahlenfolge, die den Pfad durch die Hierarchie beschreibt. Zum Beispiel:

1.3.6.1.2.1.1.1.0  = sysDescr (Systembeschreibung)
1.3.6.1.2.1.1.3.0  = sysUpTime (Betriebszeit)
1.3.6.1.2.1.1.5.0  = sysName (Hostname)
1.3.6.1.2.1.2.2.1  = ifTable (Interface-Tabelle)

Es gibt Standard-MIBs, die von allen Geräten unterstützt werden (wie MIB-2 für grundlegende Systeminformationen), und herstellerspezifische MIBs für erweiterte Funktionen. Cisco, HP und andere Hersteller stellen eigene MIB-Dateien bereit, die du in deinen SNMP-Manager importieren kannst.

SNMP-Operationen

SNMP definiert verschiedene Operationen für die Kommunikation zwischen Manager und Agent. Diese folgen einem einfachen Request-Response-Modell.

GET und GET-NEXT

Mit GET fragt der Manager einen spezifischen Wert beim Agent ab. Du gibst den OID an, und der Agent antwortet mit dem aktuellen Wert. GET-NEXT liefert das nächste Objekt in der MIB-Hierarchie - praktisch zum Durchlaufen von Tabellen.

# Systembeschreibung abfragen
snmpget -v2c -c public 192.168.1.1 sysDescr.0

# Alle Interfaces durchlaufen
snmpwalk -v2c -c public 192.168.1.1 ifDescr

GET-BULK (ab SNMPv2)

GET-BULK wurde mit SNMPv2 eingeführt und ermöglicht das effiziente Abrufen großer Datenmengen in einer einzigen Anfrage. Anstatt viele einzelne GET-NEXT-Anfragen zu senden, kann der Manager mit einem GET-BULK mehrere aufeinanderfolgende Werte auf einmal anfordern.

SET

Mit SET kann der Manager Konfigurationswerte auf dem Agent ändern - sofern das Objekt beschreibbar ist und die Berechtigung vorliegt. Damit lassen sich beispielsweise Interfaces aktivieren/deaktivieren oder Systemeinstellungen ändern.

# Systemname ändern (benötigt write-Community)
snmpset -v2c -c private 192.168.1.1 sysName.0 s "Router-01"

TRAP und INFORM

TRAPs sind asynchrone Benachrichtigungen vom Agent an den Manager. Anders als bei GET/SET initiiert hier der Agent die Kommunikation, um über wichtige Ereignisse wie Linkausfälle, hohe CPU-Last oder Sicherheitsvorfälle zu informieren.

INFORM (ab SNMPv2) funktioniert ähnlich wie TRAP, erfordert aber eine Bestätigung vom Manager. Dadurch wird sichergestellt, dass kritische Alarme auch wirklich ankommen - TRAPs können dagegen unbemerkt verloren gehen, wenn der Manager gerade nicht erreichbar ist.

SNMP-Versionen im Vergleich

Die drei SNMP-Versionen unterscheiden sich vor allem in ihren Sicherheitsfunktionen. Die Wahl der Version ist eine Abwägung zwischen Kompatibilität und Sicherheit.

Aspekt SNMPv1 SNMPv2c SNMPv3
Authentifizierung Community String (Klartext) Community String (Klartext) USM (Username/Passwort mit Hash)
Verschlüsselung Keine Keine AES/DES (optional)
GET-BULK Nein Ja Ja
INFORM Nein Ja Ja
Sicherheitslevel Gering Gering Hoch (konfigurierbar)
Verbreitung Legacy-Geräte Sehr hoch Wachsend

SNMPv1 und SNMPv2c: Community-basierte Authentifizierung

Die älteren Versionen verwenden Community Strings zur Authentifizierung - im Grunde Passwörter, die im Klartext übertragen werden. Standardmäßig sind dies oft "public" (nur lesen) und "private" (lesen und schreiben). Diese Standardwerte solltest du unbedingt ändern, da sie ein bekanntes Sicherheitsrisiko darstellen.

SNMPv3: Echte Sicherheit

SNMPv3 führt das User-based Security Model (USM) ein, das echte Benutzerauthentifizierung mit gehashten Passwörtern (MD5 oder SHA) ermöglicht. Optional kann die gesamte Kommunikation mit AES oder DES verschlüsselt werden.

Gemäß RFC 3411 definiert SNMPv3 drei Sicherheitsstufen:

  • noAuthNoPriv: Keine Authentifizierung, keine Verschlüsselung (entspricht v1/v2c)
  • authNoPriv: Authentifizierung (MD5/SHA), aber keine Verschlüsselung
  • authPriv: Authentifizierung und Verschlüsselung (AES/DES)

Das View-based Access Control Model (VACM) ermöglicht zudem feingranulare Zugriffsrechte: Du kannst definieren, welcher Benutzer auf welche MIB-Bereiche zugreifen darf.

Ports und Kommunikation

SNMP verwendet UDP als Transportprotokoll, was schnelle, ressourcenschonende Kommunikation ermöglicht - allerdings ohne Garantie für die Zustellung einzelner Pakete.

Port Richtung Verwendung
UDP 161 Manager → Agent GET, SET, GET-NEXT, GET-BULK
UDP 162 Agent → Manager TRAPs und INFORMs

Der Agent lauscht auf Port 161 und wartet auf Anfragen des Managers. Für ausgehende Traps verwendet der Agent Port 162 als Zielport beim Manager. In Firewall-Regeln musst du beide Ports berücksichtigen, wenn SNMP-Traffic zwischen Netzwerksegmenten erlaubt sein soll.

Typische Einsatzgebiete

SNMP ist das Werkzeug der Wahl für verschiedene Aufgaben im Netzwerk-Management:

Netzwerk-Monitoring

Die kontinuierliche Überwachung von Routern, Switches, Servern und anderen Geräten ist der Hauptanwendungsfall für SNMP. Monitoring-Systeme fragen regelmäßig Werte wie Bandbreitenauslastung, CPU-Last, Speicherverbrauch und Fehlerzähler ab, um Probleme frühzeitig zu erkennen.

Performance-Analyse und Kapazitätsplanung

Durch das Sammeln historischer SNMP-Daten kannst du Trends erkennen und die Kapazität deines Netzwerks planen. Tools wie MRTG, Cacti oder Grafana visualisieren Interface-Auslastung über Zeit und helfen dir, Engpässe zu identifizieren, bevor sie zum Problem werden.

Alerting und Incident Management

SNMP-Traps ermöglichen Echtzeit-Alarme bei kritischen Ereignissen. Wenn ein Interface ausfällt, eine Festplatte einen Fehler meldet oder die Temperatur eines Geräts kritische Werte erreicht, wird der Administrator sofort benachrichtigt.

Konfigurationsmanagement

Mit SNMP SET-Operationen können Administratoren Geräteeinstellungen zentral ändern - vom Aktivieren eines Interfaces bis zum Anpassen von QoS-Parametern. In der Praxis werden hierfür allerdings oft spezialisierte Tools oder CLI-Zugriff bevorzugt.

Praxisbeispiel: Router-Monitoring mit SNMP

Das folgende Beispiel zeigt, wie du grundlegende Informationen eines Netzwerkgeräts mit SNMP-Kommandozeilentools abfragst:

# Systeminformationen abfragen (SNMPv2c)
snmpget -v2c -c public 192.168.1.1 sysDescr.0 sysUpTime.0 sysName.0

# Alle Interfaces auflisten
snmpwalk -v2c -c public 192.168.1.1 ifDescr

# Interface-Statistiken (eingehende/ausgehende Bytes)
snmpget -v2c -c public 192.168.1.1 ifInOctets.1 ifOutOctets.1

# Mit SNMPv3 und Authentifizierung
snmpget -v3 -u admin -l authPriv -a SHA -A "AuthPasswort" \
  -x AES -X "PrivPasswort" 192.168.1.1 sysDescr.0

Die snmpwalk-Ausgabe zeigt dir alle Interfaces des Geräts. Die Octet-Counter (ifInOctets/ifOutOctets) kannst du in regelmäßigen Abständen abfragen und die Differenz berechnen, um die aktuelle Bandbreitennutzung zu ermitteln.

Sicherheitsempfehlungen

SNMP kann ein erhebliches Sicherheitsrisiko darstellen, wenn es nicht korrekt konfiguriert wird. Beachte folgende Best Practices:

  • SNMPv3 verwenden: Wann immer möglich, nutze SNMPv3 mit authPriv-Level für Authentifizierung und Verschlüsselung
  • Community Strings ändern: Ersetze "public" und "private" durch starke, einzigartige Werte
  • Zugriff beschränken: Konfiguriere ACLs auf den Geräten, sodass nur autorisierte Management-Stationen SNMP-Anfragen senden dürfen
  • SNMP-Traffic isolieren: Nutze ein separates Management-VLAN für SNMP-Kommunikation
  • Write-Community deaktivieren: Wenn keine SET-Operationen benötigt werden, deaktiviere den Schreibzugriff komplett
  • Logging aktivieren: Protokolliere SNMP-Zugriffe, um unauthorisierte Anfragen zu erkennen

SNMP in der IT-Praxis

Als Fachinformatiker für Systemintegration wirst du SNMP regelmäßig bei der Einrichtung und Wartung von Monitoring-Systemen einsetzen. Die Konfiguration von SNMP-Agents auf Netzwerkgeräten und Servern, das Einrichten von Traps für kritische Ereignisse und das Troubleshooting bei Verbindungsproblemen gehören zum Alltag der Netzwerkadministration.

Auch für Fachinformatiker für Anwendungsentwicklung ist SNMP relevant: Viele Anwendungen bieten SNMP-Schnittstellen für das Monitoring oder nutzen selbst SNMP-Bibliotheken wie Net-SNMP oder PySNMP, um Netzwerkdaten zu erfassen.

Quellen und weiterführende Links