Das Open Source-Tool Zeek ist eine Lösung, mit der Netzwerke dauerhaft in Echtzeit überwacht werden können. Zeek ist auch als Alternative zu Intrusion-Detection-Systemen sinnvoll einsetzbar. Wir zeigen, wie das Tool funktioniert.
Mit dem Security Monitoring Tool Zeek, das auch mit kommerziellen IDS- und SIEM-Werkzeugen zusammenarbeitet, lassen sich mittlere und große Umgebungen überwachen.
(Bild: The Zeek Project)
Zeek ist ein Open Source-Tool zur dauerhaften Überwachung von Netzwerken und für das Netzwerk Security Monitoring. Bereits standardmäßig bringt Zeek umfassende Möglichkeiten mit, um Netzwerke umfassend zu überwachen und die Überwachungsdaten zu speichern. Die Bereitstellung kann als Docker-Container über eine herkömmliche Installation auf Linux, FreeBSD oder macOS erfolgen. Seine Ergebnisse speichert Zeek in Protokolldateien, die sich auch mit anderen Tools analysieren lassen. So kann Zeek dann auch an ein SIEM oder andere Systeme in diesem Bereich angebunden werden.
Zeek installieren und erste Schritte
Neben der Installation als Docker-Container, kann die Installation auch auf Ubuntu, macOS oder FreeBSD erfolgen. Für die Installation auf macOS kann Homebrew zum Einsatz kommen:
brew install zeek
Auf BSD kann die Installation mit dem folgenden Befehl erfolgen:
sudo pkg install -y zeek
Einfacher ist die Installation als Docker-Container. Die jeweils aktuelle Version lässt sich mit dem folgenden Befehl herunterladen:
docker pull zeekurity/zeek:latest
Die Container bestehen aus einer Debian-Installation und einer grundlegenden Installation von Zeek, die sich aber manuell erweitern lässt. Sobald das Image heruntergeladen und extrahiert wurde, kann es gestartet werden. Das Image lässt sich mit direktem Zugriff auf die Netzwerkadapter des Hosts mit dem folgenden Befehl aktivieren:
docker run -ti --net=host --name=zeek zeekurity/zeek:latest /bin/bash
Durch den Parameter „--net=host“ bindet sich der Zeek-Container an die Netzwerkadapter des Hosts, um dessen Netzwerkverkehr zu überwachen und in Protokollen zu speichern. Innerhalb der Debian-Distribution von Zeek kann es sinnvoll sein, mit „apt update && apt upgrade“ eine Aktualisierung durchzuführen, damit die Pakete auf dem neusten Stand sind. Mit „apt install net-tools“ werden dann noch wichtige Tools für die Analyse der Netzwerkadapter und -Einstellungen installiert. Natürlich lassen sich innerhalb des Debian-Containers mit Zeek auch weitere Programme und Erweiterungen für Zeek installieren.
ZeekControl für die Steuerung von Zeek nutzen
Nach Eingabe des entsprechenden Docker-Befehls startet der Container als „zeek“ und bietet direkten Zugriff auf die Umgebung. Mit „zeekctl“ lässt sich ZeekControl starten. Dann erfolgen die Konfiguration und Steuerung der Umgebung. Zunächst sollte mit „install“ und dann mit „start“ gefolgt von „deploy“ die Einrichtung der Umgebung erfolgen. Danach steht Zeek auf dem Rechner im Docker-Container zur Verfügung. Die Steuerung erfolgt innerhalb von ZeekControl. Der Befehl „config“ zeigt die aktuelle Konfiguration der Umgebung an. Die verschiedenen Nodes und deren Konfiguration lassen sich wiederum mit dem Befehl „nodes“ in ZeekControl anzeigen.
Innerhalb von ZeekControl lassen sich mit „check“ die Konfiguration von Zeek und die dabei verwendeten Skripte überprüfen. Der Befehl „diag“ überprüft die einzelnen Knoten auf Funktion und zeigt Informationen an, die eine Rolle spielen, um die Konfiguration zu testen. Mit „peerstatus“ lässt sich in ZeekControl überprüfen, ob der aktuelle Knoten mit Zeek verbunden ist und Zeek funktioniert. So erhalten Admins eine umfassende Information zur Umgebung.
Um eine Zeek-Bereitstellung zu beenden, damit diese keine Überwachung mehr durchführt, kommt der Befehl „stop“ in ZeekControl zum Einsatz. Mit „help“ zeigt ZeekControl verschiedene Optionen an. Generell ist es sinnvoll, sich mit dem Zeek Quick Start Guide auf der Webseite der Entwickler auseinanderzusetzen.
Wenn Zeek das Netzwerk überwacht, speichert das Tool die Protokolldateien im Verzeichnis „$PREFIX/logs/current/“. Diese Protokolldateien lassen sich in Linux auslesen, an andere Systeme schicken oder auch mit einem SIEM verbinden. Generell beginnt Zeek nach dem Start von „Zeekctl“ durch Eingabe von „start“ mit dem Schreiben von Protokolldateien. Mit „stop“ wird die Überwachung wieder beendet.
Informationen zum laufenden Betrieb sind mit „status“ zu finden. „restart“ startet Zeek auf dem Server neu. Die Shell von Zeek wird mit „quit“ beendet, dabei bleiben die Prozesse zum Überwachen des Netzwerks aber weiter gestartet. Der aktuelle Status der Überwachung und Statistiken zum Interface sind mit „capstats“ zu sehen. Der Befehl „netstats“ zeigt für die einzelnen Knoten die aktuellen Paket-Zähler an.
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von Newslettern und Werbung nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung.
Die Verwaltung von Zeek
Generell sollten Admins darauf achten, dass die Protokolldateien auf dem Zeek-Server nicht den kompletten Speicherplatz verbrauchen. Innerhalb von ZeekControl kann mit „df“ der aktuell verwendete und noch freie Speicherplatz angezeigt werden. Um auf allen Zeek-Hosts Befehle auszuführen, kommt innerhalb von ZeekControl der Befehl „exec <Befehl>“ zum Einsatz. Mit „scripts“ zeigt Zeek die Skripte an, die das Tool beim Starten berücksichtigt.
Fazit
Mit Zeek können Admins in relativ kurzer Zeit eine umfassende Netzwerküberwachung durchführen, die auch in großen Umgebungen und über Cluster umfangreiche Informationen liefert. Zwar lassen sich die Daten auch lokal auslesen, der weitaus bessere Weg ist es aber, die verschiedenen Protokolldateien außerhalb von Zeek zu analysieren oder an ein SIEM zu senden. Durch die Bereitstellung in einem Container lassen sich sehr schnell mittlere und auch große Umgebungen abdecken und die Docker-Unterstützung macht die Inbetriebnahme einfach. In wenigen Minuten steht der erste Zeek-Knoten bereit.