SNMP vs. Syslog vs. NetFlow: Erkenntnisse, Erfassung, Datenformat, Protokolle

Ein Netzwerk zu betreiben heißt, den Zustand von Geräten und Verkehr zu überwachen, Probleme früh zu bemerken und ihre Ursachen zu untersuchen. SNMP, Syslog und NetFlow sammeln alle Informationen von Geräten, zeigen aber Verschiedenes. Bei SNMP fragt ein verwaltendes System (der Manager) Geräte (Agenten) nach Werten wie dem Verkehr an Schnittstellen und der CPU-Auslastung, was zeigt, „wie viel“. Bei Syslog senden Geräte Ereignisse wie ausgefallene Links, Anmeldungen und Konfigurationsänderungen als Textnachrichten an einen Log-Server, was zeigt, „was wann geschah“. NetFlow (und das darauf aufbauende standardisierte IPFIX) fasst den Verkehr je Gruppe von Paketen mit gleicher Quelle, gleichem Ziel usw. (einem Flow) zusammen und exportiert diese Zusammenfassungen, was zeigt, „wer mit wem wie viel kommuniziert hat“. In der Praxis werden alle drei gemeinsam eingesetzt.

MerkmalSNMPSyslogNetFlow (IPFIX)
Was es zeigtGerätezustand und Mengen: Verkehr und Fehlerzähler der Schnittstellen, CPU- und Speicherauslastung, LinkstatusEreignisse: ausgefallene Links, erfolgreiche und fehlgeschlagene Anmeldungen, Konfigurationsänderungen, FehlerEine Aufschlüsselung des Verkehrs: welche Quell-Ziel-Paare über welches Protokoll und welche Ports wie viel gesendet haben
Wie Daten erfasst werdenDer Manager fragt in festem Intervall ab (Polling); Geräte können Probleme auch mit Benachrichtigungen (Traps) meldenDas Gerät sendet bei einem Ereignis eine Nachricht an den ServerDas Gerät fasst Flows zusammen und exportiert sie am Ende eines Flows oder in festen Intervallen an einen Sammelserver (Collector)
DatenformatIn MIBs definierte Werte (Zähler und Zustände), adressiert über Objektkennungen (OIDs)Schweregrad (0 bis 7), Art der Quelle (Facility), Zeitstempel und TextnachrichtDatensätze je Flow: Adressen, Portnummern, Protokoll, Paket- und Byteanzahl, Start- und Endzeit und mehr; die Felder werden über Templates definiert
Zeitliche AuflösungEin Mittelwert über jedes Polling-Intervall (z. B. 5 Minuten)Je Ereignis, kommt nahezu sofort anJe Flow; langlebige Flows werden in Stücke geteilt und in festen Intervallen exportiert
Was es nicht zeigtWessen Verkehr es istDas VerkehrsvolumenPaketinhalte (Daten); auch keine Gerätewerte wie die CPU-Auslastung
Last auf Geräten und LeitungenGeringGering, allerdings können Nachrichten bei einem Ausfall sprunghaft zunehmenHöher; auf schnellen Leitungen wird manchmal Sampling verwendet, das nur einen Teil der Pakete untersucht
Standards und PortnummernSNMPv3 ist RFC 3411 bis 3418; UDP-Port 161 (Abfragen) und 162 (Traps)RFC 5424; UDP-Port 514, bzw. 6514 bei Verwendung von TLSNetFlow v9 ist in RFC 3954 beschrieben (einem informativen RFC); das standardisierte IPFIX ist RFC 7011, Port 4739
SicherheitBei v1 und v2c wird der Community-String unverschlüsselt übertragen; v3 ergänzt Authentifizierung und VerschlüsselungÜber UDP gibt es weder Verschlüsselung noch Zustellbestätigung; TLS kann es schützenNetFlow v9 hat keinen eingebauten Schutz; IPFIX lässt sich mit TLS oder DTLS schützen
HaupteinsatzVerkehrsgrafiken, Verfolgung der Leitungsauslastung, Erkennung von GeräteausfällenUntersuchung von Ausfallursachen, Aufzeichnung, wer was getan hat, Sicherheitsüberwachung (Sammlung in einem SIEM)Hosts und Anwendungen mit hohem Bandbreitenverbrauch finden, ungewöhnlichen Verkehr erkennen, Leitungserweiterungen planen

Die Zahlenwerte sind typische Größenordnungen und variieren je nach Prozessgeneration und Produkt.

Wann welche Variante?

SNMP
Wenn die Auslastung von Leitungen und Geräten fortlaufend als Grafik beobachtet werden soll. Um Geräteausfälle und Linkausfälle sofort zu bemerken, mit Traps kombinieren.
Syslog
Wenn Ausfälle und sicherheitsrelevante Ereignisse mit Zeitstempel aufgezeichnet werden sollen, damit sie später untersucht werden können. Um Logs mehrerer Geräte abzugleichen, die Uhren der Geräte per NTP synchron halten.
NetFlow (IPFIX)
Wenn eine Leitung überlastet ist und herausgefunden werden soll, welche Hosts oder Anwendungen die Bandbreite nutzen, oder wenn ungewöhnliche Verkehrsmuster entdeckt werden sollen.

Häufige Fragen

Wie ermittelt man aus SNMP-Zählern eine Datenrate?

Den Zähler für empfangene oder gesendete Bytes einer Schnittstelle in festem Intervall auslesen, die Differenz zum vorherigen Wert in Bit umrechnen und durch das Intervall in Sekunden teilen. Ist der Zähler etwa in 5 Minuten (300 Sekunden) um 3,75 Milliarden gestiegen, ergibt 3,75×10⁹ × 8 ÷ 300 = 1×10⁸ bit/s einen Mittelwert von 100 Mbit/s. Ein 32-Bit-Zähler springt nach etwa 4,3 Milliarden auf 0 zurück und läuft auf schnellen Leitungen rasch über, daher werden 64-Bit-Zähler verwendet. Das Ergebnis ist ein Mittelwert über das Intervall, kurze Spitzen sind also nicht sichtbar.

Wann verwendet man SNMP-Polling und wann Traps?

Polling, bei dem der Manager Werte in festem Intervall ausliest, eignet sich für fortlaufende Aufzeichnungen von Veränderungen wie Verkehrsgrafiken. Traps, die das Gerät bei Ereignissen wie einem Linkausfall sendet, lassen einen sofort reagieren, können aber verloren gehen, weil sie über UDP gesendet werden. Es gibt auch bestätigte Benachrichtigungen (Informs). Meist werden beide kombiniert.

Was ist der Schweregrad einer Syslog-Nachricht?

RFC 5424 drückt den Schweregrad einer Nachricht in acht Stufen aus, von 0 (Emergency: System ist unbrauchbar) bis 7 (Debug: Nachrichten auf Debug-Ebene). Niedrigere Zahlen sind wichtiger, und jedes Gerät lässt sich so konfigurieren, dass es nur Nachrichten ab einem gewählten Schweregrad an den Server sendet.

Wie unterscheidet sich NetFlow von einem Paketmitschnitt?

Ein Paketmitschnitt zeichnet die Pakete selbst samt Inhalt auf, erlaubt daher eine detaillierte Analyse, erzeugt aber sehr große Datenmengen. NetFlow zeichnet keine Paketinhalte auf und exportiert nur Zusammenfassungen wie Paket- und Byteanzahl je Flow; das verringert die Datenmenge stark und eignet sich für langfristige Trends. Auch bei verschlüsseltem Verkehr sind Adressen, Portnummern und Volumen sichtbar.

Verständnis prüfen

Per SNMP wird alle 5 Minuten (300 Sekunden) ein 64-Bit-Zähler der empfangenen Bytes einer Router-Schnittstelle ausgelesen. Der vorige Wert war 1 200 000 000, der aktuelle ist 4 950 000 000. Welcher Wert liegt der mittleren Empfangsrate in diesen 5 Minuten am nächsten?

  1. A12,5 Mbit/s
  2. B100 Mbit/s
  3. C500 Mbit/s
Antwort und Erläuterung anzeigen

Antwort: B. 100 Mbit/s

In den 5 Minuten wurden 4 950 000 000 − 1 200 000 000 = 3 750 000 000 Byte empfangen, also 3,75 × 10⁹ × 8 = 3 × 10¹⁰ Bit. Geteilt durch 300 Sekunden ergibt das 1 × 10⁸ bit/s, also 100 Mbit/s. Bei SNMP fragt die verwaltende Seite (der Manager) beim Agenten des Geräts MIB-Werte ab und ermittelt, wie hier, aus Differenzen der Zählerstände das Verkehrsaufkommen, um daraus Diagramme zu erstellen. Ein 32-Bit-Zähler springt nach 2^32 ≈ 4,29 × 10⁹ Byte auf 0 zurück, was bei 100 Mbit/s nur etwa 344 Sekunden dauert; für schnelle Schnittstellen werden daher 64-Bit-Zähler verwendet.

Für den Verkehr durch einen Router soll ermittelt werden, wie viele Bytes auf jede Kombination aus Quelle und Ziel (Adressen, Portnummern und Protokoll) entfallen, zusammengefasst je Verkehrsstrom. Welcher Mechanismus ist dafür am besten geeignet?

  1. ASNMP
  2. Bsyslog
  3. CNetFlow (IPFIX)
Antwort und Erläuterung anzeigen

Antwort: C. NetFlow (IPFIX)

NetFlow und das darauf aufbauend standardisierte IPFIX erfassen für jede Gruppe von Paketen mit denselben Quell- und Zieladressen, Portnummern und demselben Protokoll (jeden Flow) Paketzahl, Bytezahl, Zeitpunkte und Weiteres und senden diese Datensätze an einen Collector-Server. Damit lässt sich ermitteln, welche Endgeräte oder Anwendungen Bandbreite belegen, und ungewöhnlicher Verkehr erkennen. SNMP ist ein Protokoll, mit dem Werte wie das Verkehrsaufkommen je Schnittstelle oder die CPU-Auslastung von Geräten abgefragt und Störungen von den Geräten gemeldet werden (Traps); wessen Verkehr es ist, lässt sich damit nicht erkennen. syslog sendet Ereignisse wie ausgefallene Verbindungen oder Anmeldungen als Textmeldungen an einen Protokollserver.

Welche Beschreibung von UDP ist richtig?

  1. AEs baut keine Verbindung auf und steuert weder Sendewiederholung noch Reihenfolge, daher ist der Header klein, und vor dem Senden entsteht keine Wartezeit
  2. BEs baut eine Verbindung auf, wiederholt nicht angekommene Daten und bringt sie beim Empfänger in die richtige Reihenfolge
  3. CEs stellt Daten ohne IP-Adressen nur anhand von MAC-Adressen an das Zielgerät zu
Antwort und Erläuterung anzeigen

Antwort: A. Es baut keine Verbindung auf und steuert weder Sendewiederholung noch Reihenfolge, daher ist der Header klein, und vor dem Senden entsteht keine Wartezeit

UDP ist ein schlankes Protokoll, das IP lediglich um Portnummern und eine einfache Fehlerprüfung (Prüfsumme) ergänzt; sein Header ist 8 Byte groß (der von TCP ohne Optionen 20 Byte). Ohne Verbindungsaufbau, Empfangsbestätigung und Sendewiederholung eignet es sich für Sprachanrufe und Live-Video, bei denen ein kleiner Verlust besser ist als Verzögerung, und für DNS, das mit einer Anfrage und einer Antwort auskommt. Wird Zuverlässigkeit benötigt, sorgt die Anwendung dafür; QUIC, das HTTP/3 verwendet, implementiert zum Beispiel Sendewiederholung und Verschlüsselung auf UDP. Verbindungsaufbau, Sendewiederholung und Reihenfolgesteuerung leistet TCP.

Übungsfragen zu Netzwerkdesign und Netzwerkbetrieb

Wichtige Begriffe erklärt

SNMP (Simple Network Management Protocol)
Protokoll zur Überwachung und Verwaltung des Zustands von Geräten wie Routern und Switches. Die verwaltende Seite (der Manager) fragt beim Agenten des Geräts in der MIB definierte Werte ab, etwa Verkehrszähler der Schnittstellen und die CPU-Auslastung, und das Gerät meldet Störungen mit Traps. Das Verkehrsaufkommen wird ermittelt, indem Zählerstände in regelmäßigen Abständen ausgelesen und ihre Differenz gebildet wird. Empfohlen wird SNMPv3, das Authentifizierung und Verschlüsselung unterstützt.
UDP (User Datagram Protocol)
Verbindungsloses Protokoll der Transportschicht. Sein Header ist 8 Byte lang und enthält nur Portnummern, eine Länge und eine Prüfsumme. Es gibt keinen Verbindungsaufbau, keine Bestätigungen oder Sendewiederholung und keine Reihenfolgesicherung, daher ist die Verzögerung gering. Verwendet wird es unter anderem für DNS-Abfragen, Sprach- und Videoanrufe, Onlinespiele, DHCP und QUIC.
Portnummer
Zahl von 0 bis 65535, mit der TCP und UDP unterscheiden, für welche Anwendung auf einem Endgerät die Daten bestimmt sind. Die Ports 0–1023, etwa 80 für HTTP, 443 für HTTPS und 53 für DNS, heißen Well-known Ports.
Paket (Datenpaket)
Übertragungseinheit für Daten: Die Daten werden in Stücke bis zu einer festgelegten Größe aufgeteilt, und jedes erhält einen Header mit Steuerinformationen wie dem Ziel. Pakete ermöglichen es, dass sich viele Verbindungen eine Leitung teilen (Paketvermittlung) und dass nach einem Fehler nur der beschädigte Teil erneut gesendet wird. Je nach Schicht spricht man oft bei IP von Paketen, bei TCP von Segmenten und bei Ethernet von Frames. Auch PCI Express und Networks-on-Chip übertragen Daten als Pakete.
Router
Gerät der Vermittlungsschicht (Schicht 3), das Pakete zwischen verschiedenen Netzwerken weiterleitet. Es vergleicht die Ziel-IP-Adresse jedes Pakets mit seiner Routingtabelle, wählt den nächsten Router (Next Hop) und die ausgehende Schnittstelle und sendet das Paket weiter. Heimrouter vereinen außerdem NAPT, einen DHCP-Server und eine Firewall.
SIEM (Security Information and Event Management)
Abkürzung für Security Information and Event Management. System, das Logs von Firewalls, Servern, EDR, Cloud-Diensten, Authentifizierungsinfrastruktur usw. an einer Stelle sammelt, Format und Zeitangaben vereinheitlicht, mit Regeln, die mehrere Ereignisse kombinieren (Korrelationsanalyse), Angriffsverdacht erkennt und als Warnung meldet. Es dient auch zur Log-Suche bei Untersuchungen und zur langfristigen Aufbewahrung von Logs, die Vorschriften verlangen. Es ist eines der zentralen Werkzeuge, mit denen die Analysten eines SOC (Security Operations Center) überwachen.
TLS (Transport Layer Security)
Protokoll, das die Kommunikation verschlüsselt, Manipulationen erkennt und Server mithilfe von Zertifikaten authentifiziert. HTTPS ist durch TLS geschütztes HTTP.

Verwandte Vergleiche