Netzwerksicherheit · 6 min read · Sep 12, 2025

So installieren Sie das Zeek-Netzwerksicherheitsüberwachungstool auf Ubuntu 24.04

Zeek (früher Bro) ist eine kostenlose und Open-Source-Plattform zur Netzwerksicherheitsüberwachung. Es ist ein leistungsstarker passiver Netzwerkverkehrsanalyzer, der verdächtige oder bösartige Aktivitäten untersucht. Zeek kann als Netzwerksicherheitsmonitor (NSM) verwendet werden und unterstützt eine breite Palette von Verkehrsanalysen, von der Sicherheitsdomäne bis hin zur Leistungsbewertung und Fehlersuche.

In diesem Tutorial lernen Sie, wie Sie das Zeek-Netzwerksicherheitsüberwachungstool auf dem Ubuntu 24.04-Server installieren. Sie lernen auch, wie Sie Zeek im Cluster-Modus ausführen, wie Sie das Zeek-Protokoll mit dem Befehl ‘zeek-cut’ analysieren und wie Sie das Zeek-JSON-Protokoll mit dem Dienstprogramm ‘jq’ generieren und analysieren.

Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass Sie Folgendes haben:

  • Einen Ubuntu 24.04-Server
  • Einen Nicht-Root-Benutzer mit Administratorrechten

Zeek installieren

Zeek ist ein Netzwerksicherheitsüberwachungstool für Unix-ähnliche Betriebssysteme. Es kann mit mehreren Methoden installiert werden. In diesem Beispiel installieren Sie Zeek auf dem Ubuntu 24.04-Server mit dem APT-Paketmanager vom OpenSUSE-Build-Service.

Zuerst führen Sie den folgenden Befehl aus, um das Zeek-Repository zu Ihrem Ubuntu-System hinzuzufügen.

echo 'deb http://download.opensuse.org/repositories/security:/zeek/xUbuntu_24.04/ /' | sudo tee /etc/apt/sources.list.d/security:zeek.list

Laden Sie jetzt den GPG-Schlüssel für das Zeek-Repository mit dem folgenden Befehl herunter und fügen Sie ihn hinzu.

curl -fsSL https://download.opensuse.org/repositories/security:zeek/xUbuntu_24.04/Release.key | \  
gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/security_zeek.gpg > /dev/null

Sobald der Zeek-GPG-Schlüssel und das Repository hinzugefügt sind, führen Sie den Befehl ‘ apt ‘ unten aus, um Ihr Ubuntu-Paket zu aktualisieren.

sudo apt update

Sie können jetzt den Befehl ‘ apt ‘ unten ausführen, um das Paket ‘ zeek ‘ zu überprüfen. Sie werden mehrere Versionen von Zeek sehen.

sudo apt search zeek  
sudo apt-cache policy zeek

check zeek

Als nächstes installieren Sie Zeek mit dem folgenden Befehl ‘ apt ‘. In diesem Beispiel installieren Sie Zeek LTS.

sudo apt install zeek

Geben Sie ‘ Y ‘ ein, um die Installation zu bestätigen.

install zeek

Nachdem die Installation abgeschlossen ist, fügen Sie das Verzeichnis ‘ /opt/zeek/bin ‘ zum System-PATH über die Datei ‘ ~/.bashrc ‘ hinzu. Und laden Sie dann die Datei ‘ ~/.bashrc ‘ neu, um Ihre neuen Änderungen anzuwenden. Damit können Sie den Zeek-Befehlszeilenbefehl über Ihr Terminal ausführen.

echo "export PATH=$PATH:/opt/zeek/bin" >> ~/.bashrc  
source ~/.bashrc

Führen Sie schließlich den Befehl ‘ zeek ‘ unten aus, um die Zeek-Version sowie grundlegende Befehle und Optionen zu überprüfen.

zeek --version  
zeek --help

Sie werden eine Ausgabe wie die folgende sehen:

zeek help

Zeek einrichten

Nachdem Zeek installiert ist, müssen Sie einrichten, wie Zeek in Ihrer Infrastruktur ausgeführt wird. Sie können wählen, ob Sie Zeek im Standalone- oder Cluster-Modus ausführen möchten. Für große Bereitstellungen können Sie den Cluster-Modus verwenden, bei dem Zeek-Komponenten auf separaten Servern installiert sind. Für diesen Testzweck werden wir Zeek im Cluster-Modus auf einem einzelnen Server einrichten und ausführen.

Überprüfen Sie Ihre Server-IP-Adresse mit dem folgenden Befehl ‘ ip ‘. In diesem Beispiel haben wir eine Ubuntu-Server-IP-Adresse ‘ 192.168.10.60 ‘.

ip a

Öffnen Sie die Zeek-Netzwerkkonfiguration ‘ /opt/zeek/etc/networks.cfg ‘ mit dem Editor ‘ nano ‘.

sudo nano /opt/zeek/etc/networks.cfg

Geben Sie Ihr Netzwerk-Subnetz der Zielserver wie folgt ein.

192.168.10.0/24 Lokales Netzwerk

Speichern Sie die Datei und beenden Sie den Editor, wenn Sie fertig sind.

Öffnen Sie nun die Zeek-Knoten-Konfiguration ‘ /opt/zeek/etc/node.cfg ‘ mit ‘ nano ‘.

sudo nano /opt/zeek/etc/node.cfg

Kommentieren Sie die folgenden Zeilen aus, um den Zeek-Standalone-Modus zu deaktivieren. Standardmäßig läuft Zeek im Standalone-Modus mit dem Standard ‘ localhost ‘ und der Netzwerkschnittstelle ‘ eth0 ‘.

#[zeek]  
#type=standalone  
#host=localhost  
#interface=eth0

Fügen Sie die folgende Konfiguration ein, um Zeek im Cluster-Modus auf einem einzelnen Server auszuführen. Stellen Sie sicher, dass Sie die IP-Adresse mit Ihrer Ubuntu-Server-IP-Adresse ändern. Wie Sie unten sehen können, hat der Zeek-Cluster-Modus mehrere Komponenten wie logger, manager, proxy und workers.

# logger  
[zeek-logger]  
type=logger  
host=192.168.10.60  
  
# manager  
[zeek-manager]  
type=manager  
host=192.168.10.60  
  
# proxy  
[zeek-proxy]  
type=proxy  
host=192.168.10.60  
  
# worker  
[zeek-worker]  
type=worker  
host=192.168.10.60  
interface=eth0  
  
# worker localhost  
[zeek-worker-lo]  
type=worker  
host=localhost  
interface=lo

Wenn Sie fertig sind, speichern Sie die Datei und beenden Sie den Editor.

Führen Sie nun den Befehl ‘ zeekctl ‘ unten aus, um Ihre Zeek-Syntax zu überprüfen. Wenn Sie eine ordnungsgemäße Konfiguration haben, sehen Sie eine Ausgabe ‘ Skripte sind in Ordnung ‘.

zeekctl check

check zeek config

Führen Sie jetzt den Befehl ‘ deploy ‘ aus, um Ihre Zeek-Installation bereitzustellen. Damit werden der Zeek-Logger, der Manager, der Proxy und die Worker gestartet.

zeekctl deploy

deploy zeek

Sie können jede Zeek-Komponente mit dem folgenden Befehl überprüfen.

zeekctl status

In der folgenden Ausgabe können Sie sehen, dass jede Zeek-Komponente läuft. Das bedeutet, dass die Bereitstellung des Zeek-Clusters auf einem einzelnen Knoten erfolgreich war.

check zeek status

Verwendung von zeek-cut zur Analyse von Zeek-Protokollen

Jetzt, da Sie Zeek installiert und bereitgestellt haben, werden Protokolldateien Ihres Netzwerks im Verzeichnis ‘ /opt/zeek/logs/current ‘ generiert. Es wird mehrere Zeek-Protokolldateien geben, die Sie kennen und im Auge behalten müssen. In diesem Abschnitt lernen Sie, wie Sie das Dienstprogramm ‘zeek-cut’ verwenden, um Protokolle im TSV (Tab Separated Value)-Format zu generieren.

Überprüfen Sie das Zeek-Protokollverzeichnis ‘ /opt/zeek/logs/current ‘ mit dem Befehl ‘ls’ unten.

ls -ah /opt/zeek/logs/current/

Sie werden mehrere Protokolldateien sehen, wie:

  • conn.log: Das Verbindungsprotokoll für sowohl TCP als auch UDP. Diese Protokolldatei bietet die nützlichsten Informationen wie Zeitstempel, Verbindungsdauer, Dienst und vieles mehr
  • dns.log: Die DNS (Domain Name System)-Protokolldatei
  • http.log: Das HyperText Transfer Protocol (HTTP)-Protokoll
  • ssh.log: Das Secure Shell (SSH)-Protokoll zur Verfolgung von SSH-Verbindungen.
  • ssl.log: Das Secure Socket Layer (SSL)-Protokoll, das auch das HTTPS-Protokoll enthält

Wechseln Sie nun in das Verzeichnis ‘ /opt/zeek/logs/current ‘ und führen Sie den Befehl ‘ cat ‘ aus, um Zeek-Protokolle anzuzeigen und die Ausgabe mit dem Befehl ‘ zeek-cut ‘ zu pipen, um die Ausgabe im TSV (Tab Separated Value)-Format zu analysieren.

cd /opt/zeek/logs/current/  
  
cat dns.log | zeek-cut id.orig_h query answers  
cat dns.log | zeek-cut query answers id.orig_h

In diesem Beispiel zeigen wir Ihnen Werte aus den Feldern ‘ id.orig_h ‘, ‘ query ‘ und ‘ answers ‘.

zeek log

Sie können auch den Befehl ‘ zeek-cut ‘ wie folgt verwenden, um die TSV-Protokolle zu verarbeiten und eine ähnliche Ausgabe zu erhalten.

zeek-cut id.orig_h query answers < dns.log

zeek-cut log

Zeek-Ausgabe auf JSON einrichten

Zeek unterstützt mehrere Protokollformate, einschließlich TSV und JSON. In diesem Abschnitt lernen Sie, wie Sie ein Zeek-Protokoll im JSON-Format generieren. Dann lernen Sie, wie Sie JSON-Protokolle mit der Befehlszeile ‘jq’ analysieren, damit Sie Ihre Protokolle einfach lesen können.

Öffnen Sie die Zeek-Konfiguration ‘/opt/zeek/share/zeek/site/local.zeek’ mit dem folgenden Editor ‘nano’.

sudo nano /opt/zeek/share/zeek/site/local.zeek

Kommentieren Sie die folgende Zeile aus, um die Ausgabeprotokolle im JSON-Format zu aktivieren.

@load policy/tuning/json-logs

Speichern Sie die Datei und beenden Sie den Editor.

Führen Sie nun den Befehl ‘ zeekctl ‘ unten aus, um Ihre Änderungen anzuwenden und bereitzustellen. Und sobald der Prozess abgeschlossen ist, wird das JSON-Protokollformat von Zeek generiert.

zeekctl deploy

Sie können die folgende Ausgabe während der Zeek-Bereitstellung sehen.

deploy zeek

Führen Sie als Nächstes den Befehl ‘ cat ‘ unten aus, um die Zeek-Protokolldatei zu überprüfen. Sie werden sehen, dass das Zeek-Protokoll jetzt im JSON-Format vorliegt.

cat /opt/zeek/logs/current/dns.log

Parsing von Zeek JSON-Format mit jq

Installieren Sie das Paket ‘ jq ‘ mit dem folgenden Befehl ‘apt’.

sudo apt install jq -y

Sobald die Installation abgeschlossen ist, wechseln Sie mit dem Befehl ‘cd’ in das Verzeichnis ‘/opt/zeek/logs/current’.

cd /opt/zeek/logs/current/

Um Protokolle im JSON-Format zu analysieren, führen Sie den Befehl ‘jq’ unten aus.

jq . dns.log

json log parsing with jq

Wenn Sie eine kompakte Ausgabe haben möchten, verwenden Sie die Option ‘-c’ wie folgt:

jq . -c dns.log

Schließlich können Sie auch Dateien von JSON-Protokolldateien mit dem folgenden Befehl ‘jq’ angeben.

jq -c '[."id.orig_h", ."query", ."answers"]' dns.log

jq show specific key-value

Fazit

Herzlichen Glückwunsch! Sie haben die Installation des Zeek-Netzwerküberwachungstools auf dem Ubuntu 24.04-Server abgeschlossen. Sie haben gelernt, wie Sie den Zeek-Cluster-Modus auf einem einzelnen Knoten/Server bereitstellen, das Zeek-Protokoll mit dem Dienstprogramm ‘ zeek-cut ‘ analysieren, um das TSV (Tab Separated Value)-Format zu generieren, das Zeek-Protokoll im JSON-Format zu generieren und JSON-Protokolle mit dem Dienstprogramm ‘jq’ zu analysieren. Von hier aus können Sie mit dem nächsten Schritt fortfahren, indem Sie Ihre JSON-Protokolle oder Zeek-Protokolle an ein zentrales Protokollierungssystem wie Graylog und ELK/EFK-Stack senden.

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.