如何在Ubuntu Server 22.04上部署 Zeek 网络安全监视器

3.png

Zeek 是一个命令行网络安全监控工具,可以安装在您本地数据中心或第三方云主机的服务器上。Zeek 监控并记录了许多不同的数据点,例如连接、接收和发送的数据包以及 TCP 会话属性。使用此工具,您可以跟踪整个网络中的事件以更好地确保其安全性。

让我们在 Ubuntu Server 22.04 实例上安装 Zeek,这样您的安全团队就可以开始检查进出网络的流量。

安装 Zeek 需要什么

安装 Zeek 所需的唯一东西是 Ubuntu Server 22.04 或更新版本的运行实例以及具有 sudo 权限的用户。

如何安装 Zeek

首先要做的是登录到您的 Ubuntu 服务器实例。成功登录后,使用以下命令安装三个简单的依赖项:

sudo apt-get install curl wget gnupg2 -y

接下来,更改为 root 用户:

sudo -s

接下来,我们必须添加官方 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-get update

使用以下命令安装 Zeek:

apt-get install zeek -y

在安装过程中,系统会询问您希望如何配置 Postfix。除非您已经在系统上启动并运行邮件服务器,否则我建议将其配置为仅限本地。您将必须登录到服务器并检查管理员用户的邮件帐户以查看任何报告,这是使用命令邮件完成的。

如果邮件命令不存在,请使用以下命令安装它:

apt-get install mailutils -y

在我们继续之前,请确保将 Zeek 安装路径添加到您的 $PATH 中:

echo “export PATH=$PATH:/opt/zeek/bin” >> ~/.bashrc

使用以下命令获取 bash 文件:

source ~/.bashrc

如何配置 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

192.168.1.0/16      Private IP space

保存并关闭文件。接下来,打开主配置文件:

nano /opt/zeek/etc/node.cfg

我们会将 Zeek 从默认的独立模式切换到集群模式。首先要做的是通过在每行的开头放置 # 来注释掉以下行:

[zeek]

type=standalone

host=localhost

interface=eth0

将以下内容添加到文件底部,将 SERVER 替换为您的托管服务器的 IP 地址,将 IFACE 替换为您的网络接口名称:

[zeek-logger]

type=logger

host=SERVER

 

#

[zeek-manager]

type=manager

host=SERVER

 

#

[zeek-proxy]

type=proxy

host=SERVER

 

#

[zeek-worker]

type=worker

host=SERVER

interface=IFACE

 

#

[zeek-worker-lo]

type=worker

host=localhost

interface=lo

保存并关闭文件。使用以下命令检查配置:

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

部署完所有内容后,使用以下命令检查状态:

zeekctl status

你应该看到类似这样的输出:

Name         Type    Host             Status    Pid    Started

zeek-logger  logger  192.168.1.191    running   6366   06 Feb 13:18:44

zeek-manager manager 192.168.1.191    running   6427   06 Feb 13:18:49

zeek-proxy   proxy   192.168.1.191    running   6488   06 Feb 13:18:54

zeek-worker  worker  192.168.1.191    running   6570   06 Feb 13:19:00

zeek-worker-lo worker  localhost        running   6567   06 Feb 13:19:00

Zeek 将其日志存储在 /opt/zeek/logs/current 中。您会找到代理、集群、packet_filtering、conn、loaded_scripts、reporter、stats、stderr、stdout、telemetry 和 weird 的日志。查看这些日志的最佳方式是使用 tail 命令查看实时更新的日志,如下所示:

tail -f /opt/zeek/logs/current/conn.log

该日志文件将显示与服务器的所有实时连接。

您可以尝试的另一个方便的技巧是使用 Zeek 查看 tcpdump 信息。首先,使用以下命令捕获一些数据包:

sudo tcpdump -i IFACE -s 0 -w mypackets.trace

其中 IFACE 是主机上网络设备的名称。运行几分钟后,使用 CTRL+C 结束命令,然后使用以下命令分析流量:

zeek -r mypackets.trace

Zeek 会将日志文件转储到当前工作目录中。您应该看到以下日志文件:conn.l
og、dns.log、mypackets.trace、packet_filter.log、reporter.log 和 weird.log。假设您随后想要针对捕获的数据包运行 Zeek 的内置脚本之一。为此,你可以发出这样的东西:

zeek -r mypackets.trace /opt/zeek/share/zeek/policy/frameworks/files/extract-all-files.zeek

您可以检查 /opt/zeek/share/zeek 以了解它提供的不同内置脚本。

Zeek 是一个非常强大的网络监控工具。您会希望快速了解各种内置脚本,甚至学习如何构建自己的脚本。在达到该点之前,您可以继续查看标准日志文件并捕获进入和离开服务器的包。

未经允许不得转载:A5数据 » 如何在Ubuntu Server 22.04上部署 Zeek 网络安全监视器

相关文章

contact