科技 > 操作系统 > Windows

Windows系统中部署Snort入侵检测工具

7人参与 2025-07-06 Windows

       本文介绍了如何在windows系统中部署snort入侵检测工具,包括选择windows平台的优势、安装snort的详细步骤、配置snort+barnyard2+base日志分析系统的方法,以及设置开机自启动等内容,旨在帮助初学者快速搭建snort ids平台。

1.平台选择

1.1操作界面

     新手通常对 windows 系统更为熟悉,作为全球广泛使用的桌面操作系统,其具备直观的图形界面和便捷的操作流程。在 windows 环境下,学习者能够充分利用已有的文件管理、软件安装等知识基础。例如,用户可以轻松地在资源管理器中定位软件安装文件,运用熟悉的操作习惯进行文件管理等。使得学习者在学习 snort 过程中,可有效降低因操作系统不熟悉而带来的额外学习成本,将主要精力集中于 snort 本身功能的深入理解与掌握。

1.2图形化工具支持

windows 系统为 snort 提供了多种配套的图形化工具,这些工具极大地便利了,新手对网络流量的直观理解和分析。以 snort - gui(图形用户界面)工具为例,允许用户在简洁易用的界面中实现对 snort 服务的启动、停止操作,并能够便捷地查看规则、日志等关键信息。相较于 linux 系统,尽管后者也存在图形化工具,但多数情况下,snort 在 linux 系统中的配置与管理依赖于命令行操作,对于新手而言,这种复杂性可能会提高学习门槛。

     以上这些工具,允许用户在简洁易用的界面中实现对 snort 服务的启动、停止操作,并能够便捷地查看规则、日志等关键信息。相较于 linux 系统,尽管后者也存在图形化工具,但多数情况下,snort 在 linux 系统中的配置与管理依赖于命令行操作,对于新手而言,这种复杂性可能会提高学习门槛。

1.3 资源获取与安装

     在 windows 系统下,获取并安装 snort 相对简单,从官方下载页面 https://snort.org/downloads 获取最新安装包。大家在购《windows 10环境快速安装snort可视化系统》课程后,通过网盘下载所有资源包,运行安装向导,按提示完成安装即可,无需手动输入复杂参数,这一过程对新手十分友好。但需注意:windows 环境在安全性、吞吐量、内存占用、稳定性及配置灵活性方面存在明显局限。为深入掌握 snort 并规避这些短板,作者专门开发了《手动构建 snort 系统》课程,引导读者在 linux 等更优平台上搭建高性能、高可靠的 snort 环境。

2、 windows 10安装snort

    为了让初学者在windows 10  64位系统环境下快速安装snort系统,我们这里采用了批处理程序来实现。在进行实验时,请务必仔细核对实验环境和要求,以确保实验的顺利进行。

2.1实验环境要求

以下软件安装要求是笔者在长期工作实践中总结出的关键点,大家在实验前务必核对自己的实验环境是否满足这些要求。

1).宿主机(物理机)应具备至少4g内存和50g的剩余存储空间,建议使用8g内存配合ssd固态硬盘以获得更佳性能;

2).实验应在独立的专用实验局域网中进行;

3).每个虚拟机应配置一块虚拟网卡,并采用桥接模式与宿主机连接;

4).宿主机应通过有线网络与交换机连接,尽量避免使用wi-fi或热点方式联网;

5).确保windows版本、snort版本以及抓包工具npcap的版本位数保持一致;

例如,若操作系统安装的是windows 10 64位版本,则系统中的snort也应使用64位版本。在下载安装包时需特别注意,未明确标注64位的通常为32位安装包,而标注为x64的则为64位安装包,两者不可混用。具体区分方法如图1所示。

snort应安装在d:\winids目录下。接下来,让我们通过一个实例来了解如何从程序名上区分32位和64位的安装包。

图1 snort 32/64位安装软件

在图1中,箭头所指的两个安装包均为64位安装包,其余为32位安装包,如果弄混淆了,安装不会报错,但运行snort时会发生故障。

2.2 安装软件要求

软件需求涵盖以下6个关键环节:

2.3 base运行要求

base(basic analysis and security engine)是一套由php程序编写的web应用程序,主要用来管理入侵检测系统所产生的日志,让管理者能够有效地利用此web界面管理入侵检测系统所产生的事件。

base 用来查看snort ids告警的web应用程序,该程序运行于php+mysql+apache环境,所以我们在windows 10下搭建运行环境使用。

下面最小实验环境,仅需一台物理机,在这台宿主机内安装两台虚拟机,一台vm虚拟机安装win10+安装snort,用宿主机模拟attack。

3.搭建snort+barnyard2+base日志分析系统

3.1工作流程

snort在进入ids工作模式之前,首先要对snort.conf配置文件进行基础设置,对一些目录和规则输出插件等参数进行初始化配置,对于初学者暂时不必关注如何设置,只需要执行一条批处理程序就能完成任务,工作流程如图2所示。该流程图在实际工作中具有普遍性,不但适用于windows环境中安装,也适用于其他操作系统环境中安装。

图2 snort ids工作流程

snort设置成功的标志是在snort日志目录能够输出merged.log.timestamp报警文件,该文件即snort的输出结果,又是barnyard2的输入数据源,如果大家在实验过程中没有发现merged.log文件,需对之前的操作步骤进行核查。barnyard2读取snort产生的日志文件之后会转储至mysql数据库,最后通过base程序读取数据库展示出来实现snort报警可视化。

在介绍完ids工作流程之后,接下来我们将开始安装系统。

3.2安装与设置

步骤1: 下载并安装素材包(初始化系统)

首先,扫描二维码下载素材包。随后,检查虚拟机的网卡连接模式,并确认磁盘分区d盘有足够的可用空间。将素材压缩包解压,并放置于d:\soft-install目录下。请注意,从步骤1至步骤13,所有必需的安装包和脚本均应从d:\soft-install目录中获取。

接下来,安装7z1900-x64和notepad++程序,建议使用默认的安装路径。素材功能的安装详情请参见表1。

表1   安装素材清单(序号不代表安装顺序)

序号

名称

用途

官网地址

1

npcap 1.6

抓包软件

https://npcap.com/#download

2

snort 2.9.19

snort 64位安装包 

https://www.snort.org/

3

barnyard2-2.1.14

读取snort日志并存储mysql数据库

https://github.com/firnsy/barnyard2

4

appserv 8.6

amp集成环境安装包

https://www.appserv.org/

5

adodb-5.20.20.zip

数据库接口文件

https://adodb.org/

6

notepad++

文本编辑器

https://notepad-plus-plus.org/

7

7z1900-x64.exe

解压缩程序

https://www.7-zip.org/

8

批处理文件

安装脚本(不能重复执行)

添加snort服务

自动运行barnyard2

9

local.rules等配置文件

安装配置文件

10

setup.exe

idscenter安装文件

windows 10以上系统,安装操作扫码学习视频:

步骤2:安装npcap.1.6.exe

npcap为windows下的一个抓包程序,目前最新版本为1.7,下载地址:https://npcap.com/#download,仅支持在windows 7以上系统安装,具体安装过程按该程序提示安装即可。

步骤3:安装snort 2.9.19

将snort程序安装到d:\winids\。安装完成之后开始配置snort。安装过程都是图形化提示,大家根据屏幕提示操作。当安装完成时,会在屏幕提示“snort has successfully installed.”

步骤4:获取系统ip及监听网卡名称

以管理员身份打开命令提示符界面,获取主机ip地址执行以下命令。

c:\user\snort>ipconfig

获取当前主机网卡列表输入以下命令。

从“snort.exe -w”命令执行结果分析,我们需监听第一块网卡(序号为1),有可能大家在自己的实验环境中,输出结果和本书显示的不一致,例如有可能监听网卡序号为2,大家需要根据自己的实验环境来确定有效网卡的编号,这一步非常重要。

步骤5:修改snort.conf

用思维导图可以清晰标记出有哪些地方需要修改,如图3所示。

打开新的命令行cmd控制台,进入d盘soft-install目录,输入下面的批处理命令。

d:\soft-install>2.bat   

请注意,2.bat是一个用于配置snort的脚本,必须在安装snort 2.9.19之后才能运行此批处理程序。在本实验中,所有的批处理文件都不应重复执行,也不应通过鼠标双击来启动。

步骤6:以ids模式运行snort

以管理员身份重新打开一个终端,并执行批处理文件3.bat。

e:\soft-install>3.bat

该命令执行完之后,见到以下输出信息,表示该指令执行成功。

与此同时,当进入d:\winids\snort\log目录时,发现新增了三个文件:merged.log.1656055015、portscan和alert.ids。其中,merged.log是二进制格式的文件,而portscan和alert.ids则是文本格式。alert.ids文件可以被第三方程序(例如splunk)调用以进行分析。随后,在attack 上执行了ping命令,对snort主机进行了icmp flood测试。

备注:如果在此步骤中未能接收到报警,请确认系统中配置的监听网卡编号是否正确。

3.3安装amp集成环境

amp(apache、mysql、php)最初是为linux环境设计的程序,现已成功移植到windows平台。在当前阶段,读者不必深入了解amp的技术细节,只需按照以下步骤操作,即可轻松完成安装,实现“即插即用”的便捷体验。

步骤7:安装apache+php+mysql集成环境

为运行base程序,我们首先安装appserv-win32-8.6.0文件。安装路径为d:\winids\,安装组件保持默认选项。数据库密码输入“12345678”,如图4所示。

图4 设置数据库密码

安装指南与注意事项:

3.4 自动安装脚本

    新手在初次接触snort ids配置时,往往容易混淆配置文件和脚本文件,导致调试时出现故障。本节将介绍一个自动安装脚本,它能够将复杂的调试过程变得更加精确和高效。需要注意的是,以下介绍的所有批处理程序,都必须以系统管理员权限执行。

安装appserv完成后,您需要打开一个新的终端窗口,导航至安装素材目录d:\soft-install,并运行核心批处理文件4.password=1-8.bat。在执行脚本的过程中,系统会提示您输入密码,此时请输入在数据库设置步骤中设定的root密码“12345678”。

注意:出于实验的便捷性考虑,此处root密码设置为简单密码。然而,在实际的网络测试环境中,强烈建议使用更为复杂的密码以增强安全性。

接着,显示更换php版本的提示,我们选择“5) php 5.6”。

系统会切换当前php版本为5.6。接下来,脚本会启动barnyard2.1.14连接程序。

当见到以上提示“database:closing connection to database “snort”后表示脚本执行成功。此时我们可以继续以下步骤。

注意:这个批处理执行完成之后base 站点开始初始化设置,如图5所示。

图 5

后续只需依照页面提示进行简易设置,即可启用base。

步骤9:启动barnyard2

要启动barnyard程序,我们需要打开一个新的终端窗口,并切换到d:\soft-install\目录下执行批处理文件5.barnyard2.bat。此时,屏幕上会弹出以下提示。

如观察到上述信息,表示数据库已成功接收到来自snort的报警记录。

步骤10:查看数据库报警记录

请进入d:\soft-install目录,并执行批处理文件6.mysql-event.bat。

脚本会提示您输入密码,密码为123456。当您看到如下提示时,意味着snort、barnyard2与mysql组合架构的系统联调已经成功。如果输出结果为0,请终止后续实验,并从步骤2开始重新检查。

步骤11:检查apache和mysql数据库的运行状态

在windows 10 主机中打开浏览器输入网址:http://127.0.0.1/ 如图6所示。

图6 appserv安装成功界面

见到图6中显示的“now you running on php 5.6.30”表示php切换正常。为了查看mysql数据库,我们打开phpmyadmin工具,在浏览器里输入网址http://127.0.0.1/phpmyadmin/,验证对话框中用户名root,密码为:12345678如图7所示。

图7  phpmyadmin登录界面

在左边菜单中找到snort数据库,event表,如图8所示。

图8 查看event表

3.5安装和设置base

base,即basic analysis and security engine的缩写,代表基础的分析与安全引擎,是一个用于浏览snort ids告警的web应用程序。在windows系统中配置好amp集成环境后,接下来我们只需初始化base,便能开始使用。

步骤13:初始化base

在执行了上述步骤后,正确运行了4.password1-8.bat程序,接着在浏览器中输入网址http://127.0.0.1/base/,即可显示出base的配置界面,如图9所示。

图9 设置base

该步骤中系统会调用base源码包中sql目录下create_base_tbls_mysql.sql文件(文件注释见附件),将它导入snort数据库snort表。

此时,点击create base ag按钮后,显示界面如图2-10所示。

tips:该步骤中系统会调用base源码包中sql目录下create_base_tbls_mysql.sql文件(文件注释见附件),将它导入snort数据库snort表。

shell操作命令:

/usr/bin/mysql -u root -p"$myrootpass" < /var/www/htdocs/base/sql/create_base_tbls_mysql.sql snort

类比命令:

/usr/bin/mysql --user=root --password=123456 < /usr/local/src/barnyard2-2-1.14/schemas/create_mysql snort

图10 配置base

此时,点击main page按钮完成设置之后,系统显示base正常工作界面如图2-11所示。

步骤12: 安装pear绘图功能

为了使base具备可视化功能,您需要安装pear组件(一个开源绘图程序)。请以系统管理员权限打开一个新的终端窗口,导航至d:\soft-install\pear-install目录,并执行以下命令:

d:\soft-install\pear-install>php go-pear.phar

所有提示都保持默认。

在进入目录d:\winids\appserv\php5执行下列命令

pear install d:\soft-install\pear-install\numbers_roman-1.0.2.tgz

pear install d:\soft-install\pear-install\image_color-1.0.4.tgz

pear install d:\soft-install\pear-install\image_canvas-0.3.5.tgz

pear install d:\soft-install\pear-install\image_graph-0.8.0.tgz

见到如下提示信息表示安装成功。

pear组件安装完成之后,必须重启apache服务,添加的pear画图组件才能生效。最后打开web ui界面,点击graph alert data按钮。图12所示。

图12 启动graph alert

在弹出界面中依次选择数据类型、显示大小,以及开始和结束时间,参考效果如图13所示。

图13

到此,base的可视化报警模块安装成功,如果没有看到显示的图像可以检测pear是否安装成功。

3.6 设置开机启动

我们已经配置了继承环境,包括apache、php和mysql,这些服务在开机时能够自动启动。然而,snort和barnyard2这两个程序需要手动启动。如果遇到意外关机,重新启动这些程序可能会比较繁琐。那么,如何设置系统以便在开机时自动运行snort和barnyard2呢?为了达到这个目的,我们需要进行以下配置。

步骤14:设置snort开机自启动

进入命令行控制台,执行以下命令:

c:>cd d:\soft-install\add-service

d:>snort –w 

再次确认监听网卡编号,修改snort-service批处理文件中有关监听网卡的字段,脚本内容如图14所示。

图14 snort服务器脚本

此处的“-i2”参数,需要根据当前实验系统的具体数值进行填写。接下来,我们将检查本地系统服务的状态,以验证snort服务是否正在运行,如图15所示。若需手动启动服务,应点击并将其设置为自动启动。

图15  查看snort服务

步骤15:设置barnyard2开机启动

设置barnyard2开机启动的方法和snort,略有不同,我们进入d:\soft-install\add-service>目录执行文件auto-local-barnyard2.reg,注册表文件,在弹出对话框中,点击y,见到成功添加注册表的提示表示此次操作成功,如图16所示。

图16 导入barnyard启动脚本

接着我们需要重启系统来验证是否满足要求,我们打开windows任务管理器,如图17,此时发现barnyard已经自动运行。

图17 查看barnyard2进程

接下来,我们打开浏览器并输入base的访问地址,以验证是否能继续接收到安全事件。如果未能收到新的报警,我们需要检查snort服务是否已自动启动,以及barnyard2进程是否正在运行。

4.安装总结

      对于新手而言,通过上述步骤中所提及的批处理文件已在vmware虚拟机中成功安装并进行了测试,基本没有难度,主要获取资源包后,按流程操作即可,不过有两个关键点还是需要各位留意。

4.1关于网卡选择

   若在物理机上进行实验,需查明机器的监听网卡,即参照步骤4中介绍的获取当前系统ip地址及监听网卡名称的方法。在掌握ip地址和监听网卡信息后,必须调整批处理文件中“-i”参数后所跟的数字,以确保批处理文件能正确运行。图18展示了在windows 2012 server物理机上安装snort的截图。

图18 显示系统当前网卡列表

可以看,出监听的网卡显示“6 realtek pcie gbe family controler”。

我们打开脚本3.bat,将下列命令进行适当修改:

原始配置:snort -c d:\winids\snort\etc\snort.conf -l d:\winids\snort\log -i 1

修改为:snort -c d:\winids\snort\etc\snort.conf -l d:\winids\snort\log -i 6

修改完成后保存退出3.bat脚本。也就是说如果大家如果直接将批处理不加修改,用到你的当前系统,有可能导致snort因找错网卡,无法得到报警。

4.2 snort的报警目录

所有snort报警数据均存储于snort的日志目录中。该目录通常被称为spool目录,其中包含的文件被称为spool文件。这些文件主要分为两类:一类是文本格式的报警文件,它们可以使用记事本等文本编辑工具直接打开;另一类是二进制格式的报警文件,它们以“报警文件名_时间戳”的形式存在,无法直接用常规编辑器打开。以windows系统下的snort为例:

当barnyard2启动成功会在命令提示符后waiting for new data,如果接收到新报警会不断从光标处弹出,正常启动的状态如图19所示:(全文内容出自李晨光博客 https://blog.51cto.com/chenguang/ )

5.总结

到此这篇关于windows系统中部署snort入侵检测工具的文章就介绍到这了,更多相关windows系统中部署snort内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

您想发表意见!!点此发布评论

推荐阅读

WinForm路径获取的八种方法总结

07-06

Win11预览版27891锁屏怎么启用新电池图标?

07-07

Win11如何禁用或显示与帐户相关的通知? Win11关闭通知提醒全攻略

07-07

Win11 25H2 ISO镜像怎么下载并制作启动U盘?

07-07

升级到Win11 25H2有哪些要求? 升级Win11 25H2准备与注意事项

07-07

如何抢先升级到Win11 25H2 预览版? 教你抢先体验与升级windows11最新版技巧

07-07

猜你喜欢

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论