如何在Ubuntu 22.04上安装Zeek网络安全监控工具
Zeek 是一款免费、开源且世界领先的安全监控工具,用作网络入侵检测系统和网络流量分析器。安全专业人员使用它来检测可疑签名并跟踪 DNS、HTTP 和 FTP 活动。 Zeek 的工作原理是将网络活动记录在单独的文件中。该文件包含所有重要信息,例如 MIME 类型、服务器响应、DNS 请求、HTTP 会话、请求的 URI、SSL 证书等。
本教程将向您展示如何在 Ubuntu 22.04 上安装 Zeek 网络安全工具。
先决条件
- 运行 Ubuntu 22.04 且 RAM 至少为 2 GB 的服务器。
- 服务器上配置了 root 密码。
入门
首先,您必须将所有系统软件包更新到更新版本。您可以通过运行以下命令来更新所有这些内容。
apt update -y
apt upgrade -y
更新所有系统软件包后,使用以下命令安装一些必需的软件包。
apt install curl gnupg2 wget -y
添加 Zeek 存储库
默认情况下,Zeek 软件包不包含在 Ubuntu 默认存储库中。因此,您需要将 Zeek 存储库添加到 APT。
首先,使用以下命令下载并添加 Zeek GPG 密钥。
curl -fsSL https://download.opensuse.org/repositories/security:zeek/xUbuntu_22.04/Release.key | gpg --dearmor | tee /etc/apt/trusted.gpg.d/security_zeek.gpg
接下来,使用以下命令添加 Zeek 存储库。
echo 'deb http://download.opensuse.org/repositories/security:/zeek/xUbuntu_22.04/ /' | tee /etc/apt/sources.list.d/security:zeek.list
接下来,使用以下命令更新存储库缓存。
apt update -y
安装 Zeek
现在,您只需运行以下命令即可安装 Zeek 工具。
apt install zeek -y
在安装过程中,系统会要求您选择邮件服务器,如下所示:
选择仅限本地,然后按Enter键。系统会要求您提供邮件服务器主机名。
输入您的主机名并按Enter键完成安装。
接下来,您需要将 Zeek 安装路径添加到系统变量中。您可以使用以下命令添加它。
echo "export PATH=$PATH:/opt/zeek/bin" >> ~/.bashrc
接下来,使用以下命令激活系统变量。
source ~/.bashrc
您现在可以使用以下命令验证 Zeek 版本:
zeek --version
您将得到以下输出。
zeek version 5.1.1
配置 Zeek 服务器
首先,编辑 Zeek 网络配置文件并定义您的网络。
nano /opt/zeek/etc/networks.cfg
这是默认网络。您可以在文件末尾添加更多网络。
10.0.0.0/8 Private IP space
172.16.0.0/12 Private IP space
192.168.0.0/16 Private IP space
保存并关闭文件,然后编辑 Zeek 主配置文件。
nano /opt/zeek/etc/node.cfg
对以下几行进行评论:
#[zeek]
#type=standalone
#host=localhost
#interface=eth0
然后,在文件末尾添加以下配置。
[zeek-logger]
type=logger
host=your-server-ip
#
[zeek-manager]
type=manager
host=your-server-ip
#
[zeek-proxy]
type=proxy
host=your-server-ip
#
[zeek-worker]
type=worker
host=your-server-ip
interface=eth0
#
[zeek-worker-lo]
type=worker
host=localhost
interface=lo
保存文件,然后使用以下命令验证 Zeek 配置。
zeekctl check
您将得到以下输出。
Hint: Run the zeekctl "deploy" command to get started.
zeek-logger scripts are ok.
zeek-manager scripts are ok.
zeek-proxy scripts are ok.
zeek-worker scripts are ok.
zeek-worker-lo scripts are ok.
您现在可以使用以下命令部署 Zeek。
zeekctl deploy
您将得到以下输出。
checking configurations ...
installing ...
creating policy directories ...
installing site policies ...
generating cluster-layout.zeek ...
generating local-networks.zeek ...
generating zeekctl-config.zeek ...
generating zeekctl-config.sh ...
stopping ...
stopping workers ...
stopping proxy ...
stopping manager ...
stopping logger ...
starting ...
starting logger ...
starting manager ...
starting proxy ...
starting workers ...
测试 Zeek 状态
至此,Zeek 已安装并配置完毕。您现在可以使用以下命令检查 Zeek 状态。
zeekctl status
您将得到以下输出。
Name Type Host Status Pid Started
zeek-logger logger 209.23.10.179 running 58935 19 Jan 05:37:02
zeek-manager manager 209.23.10.179 running 58985 19 Jan 05:37:03
zeek-proxy proxy 209.23.10.179 running 59035 19 Jan 05:37:05
zeek-worker worker 209.23.10.179 running 59107 19 Jan 05:37:06
zeek-worker-lo worker localhost running 59104 19 Jan 05:37:06
Zeek 将其日志存储在 /opt/zeek/logs/current/ 目录中。您可以使用以下命令检查所有日志文件。
ls -l /opt/zeek/logs/current/
您将看到以下输出。
total 72
-rw-r--r-- 1 root zeek 1735 Jan 19 05:37 broker.log
-rw-r--r-- 1 root zeek 2166 Jan 19 05:37 cluster.log
-rw-r--r-- 1 root zeek 187 Jan 19 05:37 packet_filter.log
-rw-r--r-- 1 root zeek 6158 Jan 19 05:37 conn.log
-rw-r--r-- 1 root zeek 31212 Jan 19 05:37 loaded_scripts.log
-rw-r--r-- 1 root zeek 666 Jan 19 05:37 reporter.log
-rw-r--r-- 1 root zeek 601 Jan 19 05:37 stats.log
-rw-r--r-- 1 root zeek 0 Jan 19 05:37 stderr.log
-rw-r--r-- 1 root zeek 204 Jan 19 05:37 stdout.log
-rw-r--r-- 1 root zeek 266 Jan 19 05:37 telemetry.log
-rw-r--r-- 1 root zeek 960 Jan 19 05:37 weird.log
要检查 Zeek 集群日志,请运行以下命令。
tail /opt/zeek/logs/current/cluster.log
您将得到以下输出。
1674106627.672399 zeek-proxy got hello from zeek-worker-lo (62498247-62ce-5763-b201-a0f0e52b71f9)
1674106627.744144 zeek-proxy got hello from zeek-worker (0c8c7207-f1a1-540d-aee0-2b55cf76e69f)
1674106627.674594 zeek-manager got hello from zeek-worker-lo (62498247-62ce-5763-b201-a0f0e52b71f9)
1674106627.752439 zeek-manager got hello from zeek-worker (0c8c7207-f1a1-540d-aee0-2b55cf76e69f)
1674106627.672635 zeek-worker-lo got hello from zeek-proxy (b0734910-55c0-5aa5-b5fb-abdf7c083d3e)
1674106627.674358 zeek-worker-lo got hello from zeek-manager (b4a3890a-a470-5a1d-b2c7-fc48fd683ff9)
1674106627.666564 zeek-worker-lo got hello from zeek-logger (405e0618-3699-5b85-ac39-0af2743c0aab)
1674106627.708986 zeek-worker got hello from zeek-manager (b4a3890a-a470-5a1d-b2c7-fc48fd683ff9)
1674106627.699878 zeek-worker got hello from zeek-proxy (b0734910-55c0-5aa5-b5fb-abdf7c083d3e)
1674106627.706099 zeek-worker got hello from zeek-logger (405e0618-3699-5b85-ac39-0af2743c0aab)
要检查 Zeek 连接日志,请运行以下命令。
tail /opt/zeek/logs/current/conn.log
您将得到以下输出。
1674106667.717311 Camkki2oVKl4J9dgpd 209.23.10.179 47762 209.23.10.179 56180 tcp - - - - OTH FF 0 CccC 0 0 0 0 -
1674106667.742276 CZ7aKU3nUfkjSSN5x6 209.23.10.179 56182 209.23.10.179 47762 tcp - - - - OTH FF 0 CcCc 0 0 0 0 -
1674106667.742332 Cd58V813jeHygHXQS2 209.23.10.179 56176 209.23.10.179 47762 tcp - - - - OTH FF 0 CcCc 0 0 0 0 -
1674106668.621860 CZlcm316EidXbp4aMj 209.23.10.179 41430 209.23.10.179 47761 tcp - - - - OTH FF 0 Cc 0 0 0 0 -
结论
恭喜!您已经在Ubuntu 22.04服务器上成功安装了Zeek安全监控工具。我希望这篇文章将有助于了解网络的架构并调查任何恶意活动。如果您有任何疑问,请随时问我。