前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Ubuntu Linux:安装Suricata入侵检测系统

Ubuntu Linux:安装Suricata入侵检测系统

作者头像
云云众生s
发布2024-10-15 09:20:09
1100
发布2024-10-15 09:20:09
举报
文章被收录于专栏:云云众生s

Suricata 是一款高性能的开源网络分析和威胁检测软件,其功能包括警报、自动协议阻止、Lua 脚本和行业标准输出。

译自 Ubuntu Linux: Install the Suricata Intrusion Detection System,作者 Jack Wallen。

入侵检测系统 (IDS) 对于监控网络流量和检查恶意活动至关重要。如果您的服务器是 Linux 类型,您有很多选择,其中之一是 Suricata。

Suricata 是一款高性能的开源网络分析和威胁检测软件,被众多私人和公共组织使用,其功能包括警报、自动协议检测、Lua 脚本和行业标准输出。它提供六种操作模式:

  • 入侵检测系统(默认)
  • 入侵防御系统
  • 网络安全监控系统
  • 全包捕获
  • 条件 PCAP 捕获
  • 防火墙

大多数用户会选择默认模式,它是 IDS 和网络安全监控的组合,可确保警报包含有关协议、流、文件事务/提取、异常和流日志的信息。您可以从 官方网站 了解更多关于 Suricata 的信息。

Suricata 可以免费安装和使用。

我想要做的是引导您完成在 Ubuntu Server 22.04 上安装此 IDS 的过程。

您需要什么

要启动并运行 Suricata,您需要一个正在运行的 Ubuntu Server 22.04 实例和一个具有 sudo 权限 的用户。就是这样……让我们开始工作吧。

安装必要的依赖项

首先要做的是安装必要的依赖项。登录到您的 Ubuntu 服务器并使用以下命令安装这些软件包:

代码语言:javascript
复制
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 -y

当上述命令完成后,您就可以继续了。

下载并解压源代码

接下来,我们可以下载 Suricata 源代码并解压。使用以下命令下载压缩的存档文件:

代码语言:javascript
复制
wget https://www.openinfosecfoundation.org/download/suricata-7.0.6.tar.gz

您可能需要访问 Suricata 下载页面 以确保您获取的是最新版本。

使用以下命令解压文件:

代码语言:javascript
复制
tar xvzf suricata-7.0.6.tar.gz

上述命令将创建一个名为 suricata-7.0.6 的新文件夹。

构建并安装软件包

我们现在可以构建软件包了。使用以下命令切换到新创建的目录:

代码语言:javascript
复制
cd suricata-7.0.6

在该目录中,使用以下命令运行配置脚本:

代码语言:javascript
复制
./configure --enable-nfqueue --prefix=/usr --sysconfdir=/etc --localstatedir=/var

上述命令大约需要一分钟才能完成。 最后,使用以下命令安装软件包:

代码语言:javascript
复制
sudo make && sudo make install-full

安装过程将花费 5-10 分钟,具体取决于您的硬件速度。

另一种安装 Surcicata 的方法是通过 PPA 存储库。使用以下命令添加存储库:

代码语言:javascript
复制
sudo add-apt-repository ppa:oisf/suricata-stable

使用以下命令更新 apt:

代码语言:javascript
复制
sudo apt-get update

使用以下命令安装 Suricata:

代码语言:javascript
复制
sudo apt-get install suricata -y

请注意:我更喜欢使用 PPA 方法安装,因为它添加了一个 systemd 启动 文件,以便于服务控制。

启动服务

安装完成后,就可以使用以下命令启动服务了:

代码语言:javascript
复制
sudo systemctl enable --now suricata

配置 Suricata

现在是配置 Suricata 的时候了。使用以下命令打开配置文件:

代码语言:javascript
复制
sudo nano /etc/suricata/suricata.yaml

我假设您将在局域网上使用 Suricata。为此,请查找以 HOME_NET 开头的行。在该行中,您需要配置您的子网(例如 192.168.1.0/16)。

接下来,查找 af-packet 行。在其下方,您将看到 -interface: eth0。您需要将 eth0 更改为您的网络接口的名称(可以使用 ip a 命令找到)。

完成此操作后,您需要添加以下内容以启用实时规则重新加载。以下内容可以添加到配置文件的底部:

代码语言:javascript
复制
detect-engine:
  - rule-reload: true

保存并关闭文件。

更新 Suricata 规则

完成配置后,您需要使用以下命令更新 Suricata 规则集:

代码语言:javascript
复制
sudo suricata-update

运行 Suricata

现在是时候测试运行 Suricata 了。规则更新后,我们将使用以下命令测试规则:

代码语言:javascript
复制
sudo suricata -T -c /etc/suricata/suricata.yaml -v

您不应该收到任何错误消息,测试将以以下内容结束:

注意:suricata:提供的配置已成功加载。正在退出。

使用以下命令重启服务:

代码语言:javascript
复制
sudo systemctl restart suricata

测试 Suricata

让我们进行一个快速测试。以下命令用于触发错误警报。执行以下操作:

从第二个终端(或选项卡)登录服务器。在第一个窗口中,发出以下命令:

代码语言:javascript
复制
tail -f /var/log/suricata/fast.log

在第二个终端中,发出以下命令:

代码语言:javascript
复制
curl http://testmynids.org/uid/index.html

在第一个窗口中,您应该看到如下输出:

代码语言:javascript
复制
09/04/2024-17:44:43.767928 [**] [1:2100498:7] GPL ATTACK_RESPONSE id check returned root [**] [Classification: Potentially Bad Traffic] [Priority: 2] {TCP} 2600:9000:24d7:6c00:0018:30b3:e400:93a1:80 -> 2600:1700:6d90:f6b0:0000:0000:0000:001c:35524

Suricata 捕获了错误警报。

现在您已经启动并运行 Suricata(并成功测试),请查看 Suricata 规则的官方文档,这些规则可以帮助您充分利用这个免费的开源入侵检测系统。Suricata 是一个使用起来相当复杂的系统,因此我建议您通读官方文档以更好地了解其工作原理。

如果您更喜欢使用 GUI 管理 Suricata,我建议您查看 IDS Tower

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-10-142,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 您需要什么
  • 安装必要的依赖项
  • 下载并解压源代码
  • 构建并安装软件包
  • 启动服务
  • 配置 Suricata
  • 更新 Suricata 规则
  • 运行 Suricata
  • 测试 Suricata
相关产品与服务
腾讯云服务器利旧
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档