Splunk是一款数据分析系统(分为社区版和商业版两种),它在快速collect、search、分析、实时获取数据方面的能力较为突出,效率高,能够处理PB级数据,并且它支持对数据源进行实时监控。支持自定义过滤规则。Splunk除了功能强大,在本地化方面也做得非常不错,通过用户图形界面进行各种统计分析操作,能够对数据进行可视化展示,形象直观。本实验中利用Splunk来分析本地上传Snort的警报日志文件(社区版最大上传文件500MB)alert.id(有的系统是fast.log文件)。Splunk 9不但能分析alert.ids日志文件,而且能分析snort.log.xxxxxxxx这类Unified2格式的二进制文件(v9以前的版本不具备此项功能)。在进行下面实验之前,我们首先在splunk.com注册账户,以便能下载插件。
一、安装Splunk 9
我们在Windows 10 系统中安装Splunk 9,无论将Splunk安装到哪个分区,要构建一个基本的实验环境,首先确保磁盘可用空间不小于50GB,然后就要设置Web访问用户名和密码,如图1所示。
图1 设置Splunk访问密码
其他安装界面我们根据系统提示逐步操作即可。
二、安装日志解析插件
Splunk 9可以解析Snort产生的文本格式报警和Unified2格式的报警,下面我们分别添加两种插件,并分别上传文本格式和Unified2格式的报警数据,分为以下四步完成。
步骤1:添加Alert 插件
打开浏览器,在地址栏输入网址:http://127.0.0.1:8000,显示界面,如图2所示。
图2 Splunk登录界面
登录系统之后,开始添加数据源,如图3所示。
图3 设置数据源
我们先通过“查找更多应用”选项找到Snort插件,如图4所示。然后再进行安装。
图4 查找Snort插件
点击安装按钮,接着系统提示输入Splunk网站注册的用户名和密码。安装成功截图如图5所示。
图5 插件安装成功
步骤2:添加 Unified2格式解析插件
Splunk 9.0增加了Unified2读取插件功能,它可以方便得解析 Unified2“警报”日志。如果您使用 Snort 编写 Unified2 警报日志或 Barnyard2 并通过 syslog 发送它们,此应用程序将提取与该事件关联的所有字段。
注意:将支持数据包日志记录和真正的统一日志记录。在应用选项中输入Unified2关键词,我们可以找到安装入口,如图6所示,安装过程同上一步。
图6 安装Unified2插件
这两个插件安装完成之后,我们开始导入本地数据源。
步骤3:上传alert.ids报警文件
我们打开Splunk首页,选择数据来源,先进入Snort的日志目录,打开alert.ids,如图7所示。
图7 选择alert.ids为数据源
注意,社区版Splunk只能导入500M日志文件。接着选择下一步。如图8所示。
图8 选择 alert.ids
接着,我们在选择来源类型下列菜单中依次选择:网络和安全→Snort alert,并选择数据类型如图9所示。
图9 选择数据类型为snort
接着,选择下一步按钮,并保存来源类型,如图10所示。
图10 选择数据保存类型
接下来,点击“检查”按钮。如图11所示。
图11 检查设置
系统显示摘要信息,如图12所示。
图12 显示导入数据源摘要
至此安装已完成,下面点击提交按钮,如图13所示.
图13 成功上传日志文件
日志文件上传成功之后,开始系统检测,首先点击“开始搜索”按钮,如图14所示。
图14 搜索日志
这里,我们可以在搜索框中输入IP地址或端口信息查询信息。下面我们打开刚安装的插件程序,返回首页选择Snort Alert for Splunk按钮,如图15所示。
图15 打开Alert for Splunk界面
点击Snort Alert for Splunk按钮,显示数据如图16所示。
图16 Snort Alert可视化报警界面
步骤4:上传Unified2格式报警文件
为了演示Splunk解析 Unified2文件的效果,这里我们先上传一个Linux系统下产生的报警文件。选择数据源上传Unified2报警文件,如图17所示。
图17 上传 Unified2格式报警文件
在默认类型里输入Unified2,将数据源设置为unified2,点击下一步,如图18所示。
图18 设置unified2数据类型
下面,接着点击下一步按钮开始检查,如图19所示。
图19 完成检查
三、生成日志报表
当步骤3成功设置之后,我们点击报表下拉菜单中“Top 10 source IPS“即可生成报表,如图20所示。
图 20 生成报表
四、总结
我们在构建SIEM系统中,选择Splunk来收集所有系统、网络及安全设备的日志,这就包括了防火墙、IDS/IPS的所有事件。通过Splunk来集中管理多源事件,本案例中重点讲解了如何加入Snort产生的两类日志: 1.alert.ids (文本格式) 2.Unified2 (二进制格式)对于这两类日志我们可以直接在Splunk里导入数据源也可以用数据转发方式发送到远端系统, 对于系统实验环境搭建大家可参考《Windows 10环境快速安装Snort可视化系统》课程。 https://edu.51cto.com/course/34405.html
通过以上介绍,可以发现Splunk绘图功能比BASE更强大,而且处理的数据量也远大于BASE,本文介绍的经验适合于Windows系统环境下部署Snort IDS。
2023年度 51CTO杰出讲师评选开始啦,期待大家投上宝贵一票! http://edu.51cto.com/lecturer/350944.html