Flow Logs sind Protokolldaten über Netzwerkflüsse, die technische Metadaten zu Kommunikationsbeziehungen in Rechnernetzen erfassen. Sie beschreiben typischerweise, welche Quell- und Zieladressen über welche Ports und Protokolle innerhalb eines bestimmten Zeitraums miteinander kommuniziert haben. Flow Logs enthalten in der Regel keine Nutzdaten einzelner Pakete, sondern zusammengefasste Verbindungsinformationen wie Zeitstempel, Paket- und Byte-Zähler sowie gegebenenfalls eine Entscheidung der Netzwerkfilterung, etwa ob Datenverkehr akzeptiert oder verworfen wurde.

Flow Logs werden in physischen, virtuellen und cloudbasierten Netzwerken eingesetzt. In Cloud-Umgebungen werden sie unter anderem von Anbietern wie Amazon Web Services, Microsoft Azure, Google Cloud Platform, Oracle Cloud Infrastructure, IBM Cloud und Alibaba Cloud bereitgestellt. Konzeptionell stehen sie klassischen Netzwerkflussverfahren wie NetFlow, sFlow und IPFIX nahe, sind jedoch häufig direkt in virtuelle Netzwerke, Subnetze, Netzwerkschnittstellen oder Cloud-Gateways integriert.

Sie dienen vor allem der Netzwerküberwachung, Netzwerkdiagnose, Sicherheitsanalyse, forensischen Untersuchung, Kapazitätsplanung und Compliance-Dokumentation. Da sie Kommunikationsmuster sichtbar machen, ohne vollständige Paketmitschnitte zu speichern, bilden Flow Logs einen verbreiteten Kompromiss zwischen Beobachtbarkeit, Datenvolumen und Datenschutzanforderungen.

Relevanz

Flow Logs sind für den Betrieb moderner IT-Infrastrukturen relevant, weil Netzwerkpfade in virtualisierten und cloudbasierten Umgebungen häufig dynamisch sind. Virtuelle Maschinen, Container, Load Balancer, Gateways und serverlose Dienste können kurzfristig erstellt, verändert oder entfernt werden. Für Systemadministratoren, Netzwerkteams und Sicherheitsteams ist es daher wichtig, nachvollziehen zu können, welche Systeme miteinander kommunizieren und an welchen Stellen Datenverkehr blockiert oder ungewöhnlich verändert wird.

In Cloud-Umgebungen ersetzen Flow Logs nicht die klassische Netzwerkdokumentation, ergänzen sie aber um laufend erhobene Beobachtungsdaten. Sie helfen unter anderem dabei, fehlerhafte Sicherheitsregeln, falsch konfigurierte Routing-Tabellen, unerwartete Verbindungen, abgelehnten Datenverkehr oder auffällige Kommunikationsmuster zu erkennen.

Die Bedeutung von Flow Logs ergibt sich außerdem aus ihrer Nutzung in Analyse- und Sicherheitswerkzeugen. Cloud-native Monitoring-Dienste, SIEM-Systeme, Network-Detection-and-Response-Plattformen und Observability-Werkzeuge können Flow-Log-Daten auswerten, korrelieren und visualisieren, um sicherheitsrelevante Ereignisse oder betriebliche Probleme zu identifizieren.

Begriff und Einordnung

Ein Netzwerkfluss beschreibt eine Kommunikationsbeziehung zwischen zwei Endpunkten über einen bestimmten Zeitraum. Typische Merkmale eines solchen Flusses sind Quell-IP-Adresse, Ziel-IP-Adresse, Quellport, Zielport, Transportprotokoll und Zeitintervall. Flow Logs speichern solche Merkmale als Protokolldatensätze und ordnen sie häufig weiteren Kontextinformationen zu, etwa einer Netzwerkschnittstelle, einem virtuellen Netzwerk, einem Subnetz, einem Mandanten oder einem Cloud-Konto.

Im Unterschied zu Paketmitschnitten, etwa mit tcpdump oder Wireshark, enthalten Flow Logs keine vollständigen Paketinhalte. Stattdessen werden Verkehrsdaten zusammengefasst. Dadurch ist das Datenvolumen geringer als bei vollständigen Paketmitschnitten. Gleichzeitig lassen sich übertragene Inhalte nicht rekonstruieren. Flow Logs eignen sich daher eher zur Analyse von Kommunikationsbeziehungen, Volumina und Filterentscheidungen als zur detaillierten Untersuchung einzelner Protokollabläufe.

Von klassischen Netzwerkflussverfahren wie NetFlow, sFlow und IPFIX unterscheiden sich cloudbasierte Flow Logs vor allem durch ihre Erzeugungsorte und Verwaltungsmodelle. Während NetFlow oder IPFIX typischerweise auf Routern, Switches oder Firewalls erzeugt werden, entstehen cloudbasierte Flow Logs innerhalb der virtualisierten Netzwerkschicht eines Cloud-Anbieters oder an logisch definierten Ressourcen wie virtuellen Netzwerken, Subnetzen und Netzwerkschnittstellen.

Funktionsweise

Flow Logs werden auf einer definierten Bezugsebene aktiviert. Je nach System können dies beispielsweise sein:

ein virtuelles Netzwerk oder eine Virtual Private Cloud, ein Subnetz, eine virtuelle oder physische Netzwerkschnittstelle, ein Gateway, Transit Gateway oder Peering-Übergang, eine Firewall, ein Router oder ein Load Balancer, eine Network Security Group oder eine vergleichbare Filterinstanz.

Nach der Aktivierung erzeugt das jeweilige System in regelmäßigen Aggregationsintervallen Flow-Log-Datensätze. Diese Datensätze enthalten zusammengefasste Informationen über beobachteten Netzwerkverkehr. Je nach Implementierung werden alle Flüsse erfasst oder nur Stichproben gespeichert. Manche Anbieter erlauben die Auswahl einzelner Felder, Filterregeln oder Aggregationsintervalle.

Die erzeugten Datensätze werden anschließend an ein Speicher- oder Analysesystem übergeben. Häufige Ziele sind:

Log-Management-Systeme, Objektspeicher, Streaming- oder Message-Dienste, Data Warehouses und Abfragedienste, SIEM- und Sicherheitsplattformen, Observability- und Monitoring-Systeme.

Die Auswertung erfolgt häufig über Abfragesprachen, Dashboards, Zeitreihenanalysen, Alarme oder graphbasierte Darstellungen von Kommunikationsbeziehungen. In Cloud-Umgebungen werden Flow Logs oft mit weiteren Quellen wie Metriken, Audit-Logs, Routinginformationen, Inventardaten oder Sicherheitsereignissen korreliert.

Aufbau eines Flow-Log-Datensatzes

Ein Flow-Log-Datensatz besteht aus mehreren Feldern. Die genaue Struktur hängt vom Anbieter, vom gewählten Format und von der Version des Protokolls ab. Ein typischer Datensatz kann folgende Informationen enthalten:

Feldtyp Bedeutung Format- oder Versionsangabe Kennzeichnung des verwendeten Flow-Log-Formats Ressourcen- oder Mandantenkennung Zuordnung zu Konto, Projekt, Abonnement, Netzwerk, Schnittstelle oder anderer Ressource Quelladresse IP-Adresse oder Netzadresse des sendenden Endpunkts Zieladresse IP-Adresse oder Netzadresse des empfangenden Endpunkts Quellport Transportport des sendenden Endpunkts, soweit anwendbar Zielport Transportport des empfangenden Endpunkts, soweit anwendbar Protokoll IP- oder Transportprotokoll, etwa TCP, UDP oder ICMP Zeitangaben Beginn und Ende des Beobachtungs- oder Aggregationsintervalls Paketanzahl Anzahl der beobachteten Pakete im Intervall Byteanzahl Anzahl der übertragenen Bytes im Intervall Richtung Einordnung als eingehender, ausgehender oder interner Datenverkehr Filterentscheidung Information darüber, ob der Datenverkehr erlaubt, verworfen oder anderweitig behandelt wurde Protokollstatus Status der Protokollerstellung oder Hinweis auf unvollständige Daten

Beispiel für einen vereinfachten, herstellerneutralen Flow-Log-Eintrag:

v1 net-01 10.0.1.10 10.0.2.20 44321 443 TCP 12 8400 1715100000 1715100060 ACCEPT OK

Dieser Datensatz beschreibt eine TCP-Kommunikation von der Adresse 10.0.1.10 zur Adresse 10.0.2.20 über Zielport 443. Innerhalb des Aggregationsintervalls wurden 12 Pakete mit insgesamt 8400 Bytes übertragen. Die Verbindung wurde laut Filterentscheidung akzeptiert.

Wissenschaftliche Betrachtung

Aus wissenschaftlicher Sicht gehören Flow Logs zur passiven Netzwerkmessung. Sie beobachten Kommunikationsvorgänge, ohne aktiv in den Datenverkehr einzugreifen. Die erfassten Daten können als zeitlich geordnete Ereignisse in einem verteilten System betrachtet werden.

Kommunikationsbeziehungen lassen sich beispielsweise als gerichteter Graph modellieren. Dabei bilden IP-Adressen, Instanzen, Container, Dienste oder Netzwerkschnittstellen die Knoten, während beobachtete Verbindungen als Kanten dargestellt werden. Auf diese Weise können Kommunikationsmuster, Abhängigkeiten zwischen Systemen oder ungewöhnliche Verbindungen sichtbar gemacht werden.

Ein Flow-Log-Datensatz kann formal als Tupel beschrieben werden:

Dabei bezeichnet:

die Quelladresse, die Zieladresse, den Quellport, den Zielport, das Transportprotokoll, den Startzeitpunkt, den Endzeitpunkt, die Anzahl der Bytes, die Anzahl der Pakete, die beobachtete Netzwerkentscheidung, etwa ACCEPT oder REJECT.

Durch die Auswertung vieler solcher Datensätze können statistische Kennzahlen abgeleitet werden, etwa Datenvolumen pro Dienst, häufig genutzte Ports, ungewöhnliche Kommunikationspartner oder das Verhältnis von akzeptierten zu abgelehnten Verbindungen. Flow Logs können daher für Anomalieerkennung, Zeitreihenanalyse, Graphentheorie und Netzwerksicherheit genutzt werden.

Einsatzgebiete

Netzwerkdiagnose

Flow Logs werden verwendet, um fehlerhafte oder unerwartete Netzwerkkommunikation zu untersuchen. Beispielsweise kann analysiert werden, ob Datenverkehr durch Sicherheitsgruppen, Firewalls, Network Access Control Lists oder Routingregeln akzeptiert oder abgelehnt wurde. Dadurch lassen sich Konfigurationsfehler in Routing-Tabellen, Firewall-Regeln, Subnetzarchitekturen oder Gateway-Konfigurationen schneller identifizieren.

Sicherheitsüberwachung

In der Sicherheitsanalyse dienen Flow Logs zur Erkennung verdächtiger Kommunikationsmuster. Dazu zählen etwa:

ungewöhnliche ausgehende Verbindungen, Port-Scanning, Kommunikation mit bekannten schädlichen IP-Adressen, laterale Bewegung innerhalb eines Netzwerks, unerwarteter Datenabfluss, Verbindungen zwischen Sicherheitszonen, die nicht vorgesehen sind.

Einige Cloud- und Sicherheitsdienste nutzen Flow-Log-Daten als eine von mehreren Datenquellen, um Bedrohungen automatisiert zu erkennen. Ein Beispiel ist Amazon GuardDuty, das unter anderem Netzwerk- und Kontodaten auswertet.

Compliance und Forensik

In regulierten Umgebungen können Flow Logs zur Nachvollziehbarkeit von Netzwerkkommunikation beitragen. Sie ermöglichen es, historische Kommunikationsbeziehungen zu rekonstruieren, ohne vollständige Paketdaten speichern zu müssen. Dies ist insbesondere in Bereichen wie Finanzdienstleistungen, Gesundheitswesen, öffentlicher Verwaltung oder kritischen Infrastrukturen relevant.

Kosten- und Kapazitätsanalyse

Durch die Analyse von Byte- und Paketvolumen lassen sich stark genutzte Kommunikationspfade identifizieren. Dies kann für Kapazitätsplanung, Kostenoptimierung und Architekturentscheidungen genutzt werden, beispielsweise bei der Bewertung von Datenverkehr über NAT-Gateways, Transit-Gateways, Load Balancer, Peering-Verbindungen oder regionsübergreifende Verbindungen.

Einschränkungen

Flow Logs besitzen mehrere technische Einschränkungen, die je nach Anbieter und Implementierung unterschiedlich ausgeprägt sind:

Sie erfassen in der Regel keine Nutzdaten von Paketen. Sie ersetzen keinen vollständigen Paketmitschnitt. Sie sind nicht für Echtzeitanalysen auf Paketebene ausgelegt. Die Daten werden häufig in Zeitintervallen zusammengefasst und bilden nicht jedes einzelne Paketereignis ab. Manche Implementierungen verwenden Sampling oder erfassen bestimmte Verkehrsarten nicht vollständig. Interner Plattform- oder Steuerungsverkehr kann nicht oder nur eingeschränkt sichtbar sein. Große Mengen an Flow-Log-Daten können zusätzliche Speicher- und Analysekosten verursachen. Die Auswertung setzt Kenntnisse der jeweiligen Netzwerkarchitektur und Ressourcenmodellierung voraus.

Flow Logs sind daher vor allem ein Werkzeug zur Analyse von Metadaten. Für tiefgehende Netzwerkforensik, Protokolldebugging oder Inhaltsanalyse können zusätzliche Werkzeuge wie Paketmitschnitte, Host-Logs, Anwendungslogs oder Endpoint-Telemetrie erforderlich sein.

Vergleich mit Netzwerkflussverfahren und Paketmitschnitten

Flow Logs ähneln klassischen Verfahren wie NetFlow, sFlow und IPFIX. Sie unterscheiden sich jedoch häufig durch ihre Einbettung in Cloud- oder Virtualisierungsplattformen und durch die Art der bereitgestellten Kontextinformationen.