Posted in

Bro (now Zeek) | Installation and Configuration

Understanding Zeek (formerly Bro) | Installation and Configuration

Zeek, previously known as Bro, is a powerful and flexible network analysis framework. It is not only a network intrusion detection system (NIDS) but also an extensive network monitoring solution that provides deep insights into network traffic. Zeek excels in detecting anomalies and facilitating forensic analysis, making it a crucial tool for network security professionals. This article will explore Zeek’s functionalities, its installation, and configuration process.

What is Zeek?
Zeek operates by passively monitoring network traffic and logging details about the traffic patterns, which can later be analyzed for signs of malicious activity or policy violations. Unlike traditional NIDS, Zeek focuses on providing a rich set of data rather than generating alerts.

How Zeek Works
Zeek’s operation can be summarized in the following steps:

Packet Capture: Zeek captures network traffic using libpcap.
Event Generation: Captured packets are processed to generate high-level events.
Policy Scripts: Events are handled by customizable scripts to analyze and log data.
Logging and Analysis: Generates logs and performs detailed analysis based on the scripts.

Step-by-Step Installation and Configuration Tutorial

Prerequisites
Before installing Zeek, ensure that your system meets the following requirements:

Operating System: Linux (Ubuntu, CentOS, Debian)
Privileges: Root or sudo access
Dependencies: Development tools, libraries such as libpcap, and others

1. Installing Required Dependencies
First, update your system and install necessary packages:

For Ubuntu/Debian:

sudo apt-get update
sudo apt-get install -y cmake make gcc g++ flex bison libpcap-dev libssl-dev python-dev swig zlib1g-dev

For CentOS:

sudo yum update
sudo yum install -y epel-release
sudo yum install -y cmake make gcc gcc-c++ flex bison libpcap-devel openssl-devel python-devel swig zlib-devel

2. Downloading and Extracting Zeek
Visit the official Zeek website to download the latest stable release of Zeek.

wget https://download.zeek.org/zeek-4.2.0.tar.gz
tar -xzvf zeek-4.2.0.tar.gz
cd zeek-4.2.0

3. Compiling and Installing Zeek

./configure
make
sudo make install

4. Configuring Zeek
Create Necessary Directories

sudo mkdir /usr/local/zeek/logs
sudo mkdir /usr/local/zeek/spool
sudo mkdir /usr/local/zeek/spool/installed-scripts-do-not-touch
sudo mkdir /usr/local/zeek/spool/tmp

Environment Setup
Add Zeek to your PATH by editing your shell profile:

For bash:

echo "export PATH=/usr/local/zeek/bin:\$PATH" >> ~/.bashrc
source ~/.bashrc

For zsh:

echo "export PATH=/usr/local/zeek/bin:\$PATH" >> ~/.zshrc
source ~/.zshrc

5. Configuring Zeek for Network Monitoring
Zeek’s configuration is highly flexible and is managed through the node.cfg file. Open this file for editing:

sudo nano /usr/local/zeek/etc/node.cfg

Adjust the configuration to monitor a specific network interface:

[logger]
type=logger
host=localhost

[manager]
type=manager
host=localhost

[proxy-1]
type=proxy
host=localhost

[worker-1]
type=worker
host=localhost
interface=eth0

6. Setting Up Zeek as a Service
Create a systemd service file for Zeek:

sudo nano /etc/systemd/system/zeek.service

Add the following content:

[Unit]
Description=Zeek Network Security Monitor
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/zeek/bin/zeekctl deploy
ExecReload=/usr/local/zeek/bin/zeekctl deploy
ExecStop=/usr/local/zeek/bin/zeekctl stop
PIDFile=/usr/local/zeek/spool/zeekctl.dat

[Install]
WantedBy=multi-user.target

Reload systemd and enable Zeek:

sudo systemctl daemon-reload
sudo systemctl enable zeek
sudo systemctl start zeek

7. Testing Zeek
To ensure Zeek is working correctly, use the zeekctl command:

sudo zeekctl deploy

Check the status to confirm everything is running properly:

sudo zeekctl status

8. Monitoring Zeek LogsZeek logs can be found in /usr/local/zeek/logs/current/. You can monitor them using tail or similar commands:

tail -f /usr/local/zeek/logs/current/*

By following this guide, you have successfully installed and configured Zeek on your system. Zeek provides comprehensive network monitoring and analysis capabilities, making it an invaluable tool for network security and forensic investigations. Regularly update Zeek scripts and configurations to ensure optimal performance and security.

 

Leave a Reply

Your email address will not be published. Required fields are marked *