IT-Sicherheit
Zeek
Zeek (früher Bro) ist ein quelloffenes Network-Security-Monitoring-Framework, das Verkehr passiv in strukturierte Logs übersetzt, für Forensik und Threat Hunting.
- Network Security Monitoring
- Strukturierte Protokoll-Logs
- Eigene Skriptsprache
- Forensik, Threat Hunting
- BSD-3-Clause
Zeek (bis 2018 unter dem Namen Bro) ist kein klassisches Signatur-IDS, sondern ein Network-Security-Monitoring-Framework: Es beobachtet den Verkehr passiv und übersetzt ihn in reichhaltige, strukturierte Logs. Statt nur „Angriff erkannt“ zu melden, liefert Zeek den vollständigen Kontext, wer wann mit wem über welches Protokoll kommuniziert hat.
Dieser Artikel erklärt die ereignisbasierte Architektur und die Skriptsprache, die erzeugten Logs, die TLS-Sichtbarkeit ohne Entschlüsselung, das Intelligence-Framework, die Cluster-Skalierung sowie das Zusammenspiel mit Suricata und SIEM.
1. Sichtbarkeit statt Blockieren
Zeek arbeitet rein passiv (über Spiegelport oder TAP) und blockiert nichts. Sein Wert liegt in der Tiefe der Aufzeichnung: Eine ereignisbasierte Engine erkennt tausende Netzwerkereignisse und ruft dafür Handler auf, die in Zeeks eigener Skriptsprache geschrieben sind. Nahezu die gesamte Ausgabe, auch die Standard-Logs, entsteht über diese Skripte, die sich für umgebungsspezifische Erkennung anpassen lassen.
2. Die Logs
Zeek erzeugt über 80 Log-Typen. Die wichtigsten geben einen Eindruck von der Detailtiefe:
| Log | Inhalt |
|---|---|
| conn.log | alle Verbindungen (IP, Port, Protokoll, Bytes, Dauer) |
| dns.log / http.log | DNS-Anfragen bzw. HTTP-Transaktionen mit Details |
| ssl.log / x509.log | TLS-Verbindungen und Zertifikatsdetails |
| files.log | übertragene Dateien inkl. Hashes und MIME-Typ |
| notice.log / intel.log | Skript-Hinweise bzw. Treffer gegen Bedrohungslisten |
3. TLS-Sichtbarkeit ohne Entschlüsselung
Auch bei verschlüsseltem Verkehr liefert Zeek wertvolle Metadaten: Das ssl.log erfasst TLS-Version, Cipher, Servername (SNI) und Zertifikatsreferenzen, das x509.log die vollständigen Zertifikatsdetails, und über ein Paket auch JA3-Fingerabdrücke. Grenzen bestehen technikbedingt: Bei TLS 1.3 sind Zertifikatsinhalte im Handshake verschlüsselt, und mit Encrypted Client Hello (ECH) entfällt auch der Servername.
4. Bedrohungsdaten und Skalierung
Das Intelligence-Framework gleicht beobachtete Aktivitäten gegen IoC-Listen ab (IP-Adressen, Domains, URLs, Zertifikats-Hashes) und schreibt Treffer ins intel.log, eine Anbindung an Bedrohungsdaten-Plattformen wie MISP ist möglich. Für größere Netze skaliert Zeek als Cluster aus Worker-, Manager-, Logger- und Proxy-Knoten, sodass sich auch hohe Bandbreiten verarbeiten lassen.
5. Zusammen mit Suricata und SIEM
Zeek und Suricata (eigener Artikel) sind keine Konkurrenten: Suricata liefert signaturbasierte Echtzeit-Alarme und kann inline blockieren, Zeek liefert den reichhaltigen Kontext für die Untersuchung davor, währenddessen und danach. Beide speisen ihre Logs ins SIEM (eigener Artikel). Ein Hinweis für die Integration: Zeeks Feldnamen folgen nicht den SIEM-Standardnamen, ein Feld-Mapping bei der Aufnahme gehört eingeplant. Fertige Plattformen wie Security Onion bündeln Zeek, Suricata und einen Log-Stack vor.
Suricata sagt „hier ist ein Alarm“, Zeek sagt „und das ist die ganze Geschichte drumherum“. Erst zusammen ergeben sie ein vollständiges Bild.
6. Stärken und Grenzen
| Stärken | Grenzen |
|---|---|
| Tiefste Netzwerk-Sichtbarkeit (über 80 Log-Typen) | kein Blocking, rein passiv (kein IPS) |
| Forensik und Threat Hunting ohne Signaturzwang | Skriptsprache hat eine Lernkurve |
| TLS-Metadaten und JA3 auch ohne Entschlüsselung | hohes Logvolumen, Storage will geplant sein |
| Skriptsprache für eigene Erkennungslogik | Feldnamen nicht SIEM-standardkonform (Mapping) |
| Cluster-Skalierung; BSD-3-Clause; reife Basis | TLS 1.3/ECH begrenzen passive Sichtbarkeit |
Häufige Fragen zu Zeek
Nicht im klassischen Sinne. Zeek ist ein Network-Security-Monitoring-Framework: Es erkennt nicht primär Angriffe anhand von Signaturen und blockiert nichts, sondern übersetzt den Verkehr passiv in reichhaltige, strukturierte Logs. Über seine Skriptsprache lassen sich zwar eigene Erkennungs- und Alarmregeln bauen, aber sein Kernwert ist die Sichtbarkeit für Forensik und Threat Hunting. Für signaturbasierte Erkennung und Inline-Blocking kombiniert man Zeek mit Suricata.
Das Projekt wurde 1995 unter dem Namen „Bro“ entwickelt und 2018 in „Zeek“ umbenannt. Beide Namen bezeichnen dieselbe Software. In älterer Dokumentation, in Skripten und Pfaden begegnet einem noch „bro“ (etwa die Dateiendung .bro); seit der Umbenennung sind diese auf .zeek migriert. Beim Lesen älterer Quellen sind die Begriffe gleichbedeutend.
Auch der Autor ist nur ein Mensch, dem Fehler unterlaufen können. Wenn in diesem Beitrag etwas nicht stimmt oder unklar ist, freuen wir uns über einen kurzen Hinweis über das Kontaktformular unten, wir prüfen und korrigieren das.
Der nächste Schritt
Zeek im eigenen Haus richtig einsetzen?
Wir klären, ob und wie der Baustein zu Ihrer Infrastruktur passt, und sagen offen, wann sich der Aufwand lohnt und wann nicht.