NetFlow/sFlow/IPFix

Wie auf der Seite NetFlow:Grundlagen schon beschrieben, benötigen wir Dienste auf den Netzwerk-Geräten oder dem Host selbst, um die Datenflüsse zu erfassen und an einen Collector zu senden.

Switch und Router

Zuerst sollten Sie prüfen, ob ihr Switch, Router, Firewall, Server überhaupt NetFlow-Daten senden kann. Die meisten besseren Devices können dies aber. Allerdings unterscheidet sich die Konfiguration natürlich je nach Hersteller. Die Funktion ist mittlerweile nämlich ganz und gar nicht mehr der teuren "Enterprise-Klasse" vorenthalten, die ich an meinem Switch gesehen habe:

Allerdings gibt es diese Funktion natürlich auch an vielen anderen Switches und Firewalls. Sie müssen nur etwas auf die Suche gehen. Hier ein paar Links

Agenten auf Hosts

Es muss aber nicht immer "Netzwerkgerät" sein. Es gibt entsprechende Agenten auch für verschiedene Betriebssysteme. Damit können Sie auf einem Host z.B.: alle Verbindungen mit diesem Host erfassen. Idel wenn der Switch oder ihr Netzwerkmanagement solche Analysen nicht erlaubt. Interessant aber auch , wenn Sie per Port-Mirroring die Daten eines anderen Servers quantitativ erfassen wollen. Hier nur eine Auswahl:

Agent auf Windows mit sFlow.net

Als Open Source macht sFlow einen interessanten Eindruck, da es für sehr viele Plattformen verfügbar ist und sich sogar per DNS-SD (über SRV-Records) konfigurieren lässt. Ein deutlicher Hinweis auf die Planung als "Enterprise"-Werkzeug.

Aber auch ohne diese Einträge können Sie beim Setup schon den "Collector:Port" eingeben:

Die Konfiguration wird in der Registrierung unter HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\hsflowd abgelegt und kann so auch einfach per Gruppenrichtlinie oder Skript angepasst werden.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\hsflowd\currentconfig]
"samplingRate"=dword:00000100
"pollingInterval"=dword:00000014
"serialNumber"=dword:00000002

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\hsflowd\currentconfig\collectors\collector1]
"collector"="sflowserver"
"port"=dword:000018c7

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\hsflowd\Parameters]
"collector"="sflowserver:6343"
"port"=dword:6343
"pollingInterval"=dword:00000014
"samplingRate"=dword:00000100
"DNSSD"="off"

Es handelt sich dabei zwar nicht um "NetFlow" Pakete sondern um sFlow, was nur Stichproben liefert. für die Fehlersuche können sie das Programm HSFLOWD.EXE auch interaktiv mit dem Parameter "-v" starten. Während der Arbeit als Dienst legt es ein Logfile in "%SystemDrive%\ProgramData\Host sFlow Project\Host sFlow Agent\hsflowd.log" an.

Sonderfall Virtualisierung

Ein Switch oder Router kann natürlich nur Pakete erfassen, die durch ihn geroutet werden. Er ist aber blind für Verbindungen die auf dem Host bleiben. Das ist natürlich eine Herausforderung, wenn auf einem Virtualisierungs-Host (HyperV, VMWare, Xen etc.) viele Gäste laufen. Wenn der Host dann selbst kein NetFlow unterstützt, dann muss es ein Agent in dem Gast beisteuern.

Flow-Simulatoren

Wenn Sie erst mal mit NetFlow testen wollen, dann gibt es von Paessler ein Tool, welches NetFlow Daten simuliert.