在Ubuntu中安装Snort入侵检测系统在Ubuntu中安装Snort入侵检测系统在Ubuntu中安装Snort入侵检测系统在Ubuntu中安装Snort入侵检测系统
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

在Ubuntu中安装Snort入侵检测系统

本教程介绍如何在基于 Debian 的 Linux 发行版(包括 Ubuntu)中安装和开始使用 Snort IDS(入侵检测系统)。

设置服务器后,与安全相关的首要常用步骤包括防火墙、更新和升级、SSH(安全外壳)密钥以及无漏洞的硬件设备(例如不支持 PIN 码的路由器)。

但大多数系统管理员不会扫描自己的服务器来发现安全漏洞,也不会像本指南中详细解释的那样设置蜜罐或入侵检测系统 (IDS)。

本文档逐步说明如何开始使用最流行的 IDS Snort。所有描述的步骤都包含真实的屏幕截图,使读者可以轻松地遵循它们。

注意:基于 Debian 和 RedHat 的 Linux 发行版的安装说明请参见 https://linux教程/intrusion_detection_snort_tutorial/。

IDS 和 Snort 简要说明

入侵检测系统是流量和数据包分析程序,用于检测恶意流量(攻击性扫描、合理端口连接尝试等)等异常情况。 IDS 检测可疑行为并将其报告给系统管理员。

IDS 允许系统管理员设置规则来定义要报告的可疑或禁止的数据包。

Snort 是最流行的 IDS,也可能是最好的 IDS。它允许您从最新存储库实施预定义规则,或创建自定义规则。 Snort 还允许您在本文中深入解释的七种警报模式中进行选择。

开始使用 Snort

首先,用户需要在Snort官方网站https://www.snort.org/users/sign_up进行注册。

填写所有必填信息,同意 Snort 许可条款,验证验证码,然后按“注册”按钮。

注册后,用户必须验证确认电子邮件。确认后,登录。在左侧菜单中,按“Oinkcode”按钮访问调用的 Oinkcode,如下面的屏幕截图所示,这对于更新 Snort 很有用。用户只需保留 Oinkcode 或在必要时访问它,如下所述:

一旦注册(或之前,这无关紧要),Snort 可以使用 apt 包管理器安装,如下所示:

sudo apt install snort -y

在安装过程中,Snort 会向您展示如何在下一步中指定网络 (CIDR)。此配置可以编辑并存储在 /etc/snort.conf 文件中,如本教程下一部分所述。

要继续安装,请按 TAB 键选择<确定>按钮。然后,按 ENTER 键。

按照上一步中的说明以 CIDR 格式定义您的网络。通常,Snort 会自动正确检测网络。如果您想定义其他网络,请使用逗号。

Snort 将结束安装过程。建议的第一个步骤是使用本 Snort 教程第二步中获得的 Oinkcode 更新规则。

Oinkcode 与已安装的 Snort 版本一起实现,采用以下 URL 格式,其中 <Version> 必须替换为已安装的版本(不带点),并且 <Oinkcode> 必须为替换为 Oinkcode。

https://www.snort.org/rules/snortrules-snapshot-<版本>.tar.gz?oinkcode=

在以下示例中,安装的 Snort 版本为 2.9.151,Oinkcode 为 d606c9a064edc39523d77f8762f0fe881c3001c4。

要下载更新的规则,请运行以下命令:

https://www.snort.org/rules/snortrules-snapshot-29151.tar.gz?oinkcode=d606c9a0edc393d77f8762f0fe881c3001c4

执行的 URL 将下载压缩的规则文件。

必须将“tar.gz”文件内容提取到 /etc/snort/rules 目录。您可以使用“xzf”命令和 -C 标志来指定提取的文件目标,如以下屏幕截图所示:

sudo tar xzf snortrules-snapshot-29151.tar.gz -C /etc/snort/rules

执行完前面的所有指令后,用户可以假设 Snort 已正确安装,包括最新的规则。然而,某些设置必须按照以下部分中的描述进行配置。

在 Ubuntu 中配置 Snort(Snort.conf 文件)

Snort 配置文件是 /etc/snort/snort.conf。它是用户安装后需要处理的第一个文件。

注意:对于 Debian 用户,Snort 配置文件为 /etc/snort/snort.debian.conf。

首先,使用文本编辑器打开 /etc/snort.conf 文件,如下所示(使用权限):

sudo nano /etc/snort/snort.conf

在下图中,您可以看到“snort.conf”文件的样子:

通过向下滚动,用户将看到网络相关设置。正如您所看到的,本地网络的默认设置是“any”,它指示 Snort 监视所有检测到的子网。

第一个Snort网络设置功能如下:

  • ipvar HOME_NET: 此处,用户以 CIDR 格式指定本地网络。默认选项(任意)检查所有本地网络。

  • ipvar EXTERNAL_NET:在这里,用户可以定义外部网络。

  • ipvar $HOME_NET: 用户将看到此格式的服务列表,其中 必须替换为要监控的服务,例如 HTTPS、FTP 、SSH 等

向下滚动查看其他服务和端口选项,如下所示:

继续向下滚动并确保正确指定规则目录,如下图所示 (/etc/snort/snort.conf):

在下图中,您可以看到注释(启用)或未注释(禁用)的规则。如您所见,规则存储在 /etc/snort/rules 目录中,并通过“snort.conf”文件进行管理。

下面的截图中,启用了攻击响应、不良流量、DDOS、后门等相关规则:

所有规则都可以在 /etc/snort/rules 目录中找到。

ls /etc/snort/rules

用户不仅可以下载附加规则,还可以创建自己的规则。要了解如何创建自定义 Snort 规则,请点击此链接。

喷鼻息警报

警报模式是一系列可供用户选择的可用报告机制。

Snort IDS 支持七种警报模式,包括测试警报模式和完全不警报模式。

完整:完整警报模式,顾名思义,返回最完整的报告,包括数据报详细信息。完整模式是通过添加 -A full 标志来定义的。快速:使用 -A fast 标志实现的快速模式比完整模式更加用户友好。控制台: -A 控制台选项在 Linux 终端上打印实时警报。Syslog: 系统日志协议远程发送警报日志。使用 -s 标志实现此模式。Unsock: Snort 可以将警报导出到 Unix 套接字。无:跳过警报。Cmg: CMG 模式仅用于测试目的。

注意: 与 Snort 规则一样,Snort 警报也需要专门的教程,您可以在 https://linux教程/snort_alerts/ 访问该教程。

在以下示例中,-h 标志指定主机或网络。 Snort 使用 -A 标志执行,该标志实现控制台警报模式。 -c 标志被打印到 Snort 配置文件中。

sudo snort -d -h 192.168.0.0/24 -A console -c /etc/snort/snort.conf

在下一个示例中,执行快速扫描。

sudo snort -A fast -c /etc/snort/snort.conf

默认情况下,Snort 结果存储在 /var/log/snort 目录下,如下图所示:

结论

Snort 和 IDS 一样是检测网络中恶意行为的优秀工具。它可以检测定义的扫描方法并报告源上的数据。但 Snort 可以针对所有类型的可疑流量进行配置。 Snort 包含一个全面的规则源,易于配置和保持更新。用户可以编写自定义规则并选择不同的警报模式。

IDS 实施是保护 Linux 安全强化列表中包含的网络的基本要求。

Snort 是一种开源软件,是一种易于管理的安全资源。它可以免费使用,这对许多用户来说是一个不错的选择。我们强烈建议您继续阅读本文档中通过链接引用的文章,这些文章专门介绍了 Snort 的各个方面。

©2015-2025 艾丽卡 support@alaica.com