如何在 Ubuntu 24.04 服务器上安装 Suricata IDS
本教程适用于这些操作系统版本
- Ubuntu 24.04(高贵食蚁兽)
- Ubuntu 22.04(果酱水母)
- Ubuntu 20.04(焦窝)
- Ubuntu 18.04(仿生海狸)
在此页面上
- 先决条件
- 从源代码安装
- 通过 PPA 存储库安装
- 配置 Suricata
- 更新 Suricata 规则集
- 奔跑的苏里卡塔
- 结论
Suricata 是 OSIF(开放信息安全基金会)开发的开源 IDS(入侵检测系统)和 IPS(入侵防御系统)。它可以监视和检查网络流量并处理每个数据包以检测恶意网络活动。您可以设置日志事件、触发警报,甚至丢弃可疑网络活动的流量。
本教程将向您展示如何在 Ubuntu 24.04 服务器上安装 Suricata IDS。您将安装和配置 Suricata,下载 ET 签名和规则,然后在后台将 Suricata 作为 systemd 服务启动。
先决条件
要开始使用本指南,请确保您具备以下条件:
- Ubuntu 24.04 服务器。
- 具有管理员权限的非 root 用户。
从源代码安装
在本节中,您将了解如何通过在系统上手动编译源代码来安装 Suricata。在此之前,您将安装用于编译 Suricata 的包依赖项。
首先,运行以下命令来更新 Ubuntu 软件包索引并安装构建依赖项。输入“Y”确认安装。
sudo apt update
sudo apt install autoconf automake build-essential cargo \
cbindgen libjansson-dev libpcap-dev libcap-ng-dev libmagic-dev liblz4-dev libpcre2-dev libtool \
libyaml-dev make pkg-config rustc zlib1g-dev
现在转到“/usr/src”目录并运行以下命令来下载 Suricata 源代码并解压。
cd /usr/src
wget https://www.openinfosecfoundation.org/download/suricata-7.0.6.tar.gz
tar -xf suricata-7.0.6.tar.gz
转到“suricata-7.0.6”目录并使用以下内容配置 Suricata 编译。这样,您将设置并安装 suricata 二进制文件到“/usr/bin”目录,将 suricata 配置安装到“/etc/suricata”,并且数据目录到“/var/lib/suricata”。
cd suricata-7.0.6/
./configure --enable-nfqueue --prefix=/usr --sysconfdir=/etc --localstatedir=/var
该过程完成后,使用以下命令复制并安装 suricata。
sudo make && sudo make install-full
安装完成后,您将看到以下内容:
最后,运行以下命令找到“suricata”二进制文件并检查其版本。
which suricata
suricata --build-info
在以下输出中,您可以看到 suricata“7.0.6”安装在“/usr/bin/suricata”处。
通过 PPA 存储库安装
如果您更喜欢通过 APT 安装 Suricata,则需要将 suricata PPA 存储库添加到您的 Ubuntu 系统。另外,请确保已安装“software-properties”软件包。
使用以下内容添加 Suricata 的 PPA 存储库:
sudo add-apt-repository ppa:oisf/suricata-stable
现在更新您的 Ubuntu 软件包索引存储库并使用下面的“apt”命令安装 suricata。
sudo apt update
sudo apt install suricata
输入“Y”继续安装。
安装完成后,使用以下命令检查suricata二进制文件及其版本。
which suricata
suricata --build-info
您可以在下面看到 suricata 7.0.6 是通过 APT 包管理器安装的。
最后,运行以下命令来启用和停止“suricata”服务。在配置之前,您需要终止 Suricata。
sudo systemctl enable suricata
sudo systemctl stop suricata
配置 Suricata
在本部分中,您将配置 Suricata 以监视网络接口。 Suricata 将捕获目标接口上的恶意流量。
使用“nano”编辑器打开默认的 suricata 配置“/etc/suricata/suricata.yaml”。
sudo nano /etc/suricata/suricata.yaml
如果您使用的是本地网络,请将家庭网络子网添加到“HOME_NET”和“EXTERNAL_NET”变量中。
HOME_NET: "[192.168.5.0/24]"
...
EXTERNAL_NET: "!$HOME_NET"
在“af-packet”部分中,将默认“接口”更改为您的目标接口。在此示例中,我们将使用 suricata 监视接口“enp0s3”。
af-packet:
- interface: enp0s3
添加“detect-engine”选项和“rule-reload: true”以启用实时规则重新加载。
detect-engine:
- rule-reload: true
完成后,保存文件并退出编辑器。
更新 Suricata 规则集
在启动和运行 Suricata 之前,您需要下载并更新 Suricata 签名和规则。这可以通过“suricata-update”命令实用程序来完成。
运行下面的“suricata-update”命令下载并更新 suricata ET 规则。当 ET 规则缺失时,suricata 将不会开始。
sudo suricata-update
Suricata 规则写入“/var/lib/suricata/suricata.rules”文件,如下所示:
您可以使用以下命令检查规则的来源:
sudo suricata-update list-sources
奔跑的苏里卡塔
现在您已经配置了 Suricata,并下载并更新了 ET 规则,您将测试 Suricata 规则,然后启动并验证“suricata”服务。
要测试 suricata 规则,请运行下面的“suricata”命令。这将处理“/var/wlib/suricata/suricata.rules”文件中的可用规则。
sudo suricata -T -c /etc/suricata/suricata.yaml -v
如果没有错误,您将输出“suricata:提供的配置已成功加载。”
现在运行以下命令在后台启动“suricata”服务并验证它。
sudo systemctl start suricata
sudo systemctl status suricata
在以下输出中,您可以看到“suricata”服务正在运行。
结论
恭喜!您已在 Ubuntu 24.04 服务器上完成 Suricata IDS 的安装。您已经了解了安装 Suricata 的两种方法,从源代码手动编译和通过 APT 包管理器编译。您还了解了如何配置 Suricata、更新 Suricata 签名和规则以及测试 Suricata 规则。