IT运维:SIEM在鸿鹄中的应用

引言

SIEM ( Security, Information, and Event Management)安全信息和事件管理,它是一种安全解决方案,可提供对事件的实时监控和分析,以及出于合规性或审计目的跟踪和记录安全数据。

SIEM 大多数提供核心的功能,包含日志管理,事件关联和分析,事件监控和安全报警。

  • 日志管理:从企业中捕获事件数据,包括网络设备、应用程序、资产、云环境等

  • 事件管理和分析:事件关联利用高级分析来识别和理解复杂的数据模式

  • 事件监控和安全警报:监控企业中的安全事件,通过关联规则生成图表来实现安全事件监控,并且可以触发警报,从而及时采取措施来避免更加严重的安全问题

基于鸿鹄的SIEM

在实际场景中的,我们着重需要考虑SIEM的安全性、易用性、可扩展性,主要考虑如下方面:

需要是国产的,具有完全的自主知识产权,安全可控

能否提供多种数据导入的方式

能够支持多样的日志格式

具备即时分析的能力,避免在ETL上花费大量时间

具备高效的结构化/半结构化数据存储,可对时间戳自动识别和分析,根据时间对数据分片;对数据进行分词,构建倒排索引

具备强大的搜索功能,搜索快速高效,支持跨库、异构数据关联、即时探索分析的交互式查询

具备灵活多样的图表和交互式的仪表板体验

根据我们的需求,经过综合的比较后,我们选择鸿鹄数据平台。鸿鹄数据平台提供了包括数据导入、数据存储分析和数据可视化等模块。

它的读时建模引擎可以快速导入和存储异构数据,进行灵活的异构数据建模以及关联分析,支持动态调整数据模型和分析参数,无需固化模型和分析流程,当数据源格式或业务模式发生变化后,只需调整SQL查询分析语言,无需重新导入和清洗数据,从而快速响应需求变化。

部署实施

本文是基于鸿鹄数据平台进行SIEM的初步部署,并非完全环境。在已经实现部分设备日志收集的基础上,进行初步的安全分析、关联分析、图表展示。仅供大家参考。

前提

目前我们已经将如下的数据通过syslog的方式发送到鸿鹄数据平台,由鸿鹄平台进行统一的数据存储。主要设备包含:

网络设备:H3C交换机、深信服防火墙、深信服上网行为管理

服务器设备:Dell服务器

存储设备:PowerStore存储

鸿鹄vector配置

Vector作为数据采集器,可以接收设备的syslog日志,并转发鸿鹄平台。Vector配置方法参考下文:

安装Vector

查看安装后vector版本,确认安装成功

vector安装好后,直接执行vector 时,系统首先会去/usr/bin下寻找命令,如果不在这个目录中,就会找不到了。这个时候我们就需要为这些找不到的命令建立一个链接文件,链接到/usr/bin下

登录鸿鹄平台,数据管理>新建数据集

编辑数据源名称,选择数据集范围为上面创建的"switch",此时会启用

创建syslog.toml脚本,需要调整字段

address = "0.0.0.0:514":0.0.0.0表示接收所有主机发送过来的syslog,514表示接收的端口(syslog默认为514)

._target_table = "switch" : 表示上文你创建的数据集名称

mode = "udp":表示接收syslog的协议syslog默认为udp)

address = "172.20.6.111:9092":鸿鹄的IP和相应的端口

运行修改的syslog脚本,注意保持运行状态。此时完成vector配置。

Syslog配置

网络设备配置syslog

H3C交换机syslog配置

需要开启日志,并将日志发送到鸿鹄平台。默认情况下syslog是通过udp514端口发送日志

将 IP 地址为 172.20.6.111的主机用作日志主机,使用 loghost 通道发送信息(可选,系统缺省为

loghost 通道),使用 local5 作为日志主机记录工具。

注意:这里可以指定发送日志的源地址,可以不指定,一般情况下为了方便辨识,建议指定

注意:如果是要通过管理口发送日志,管理口由于配置了VPN-Instance,需要指定VPN-Instance

配置输出规则:允许所有模块、级别高于等于 informational 的日志信息输出到日志主机。

我这里的实际配置命令

Cisco交换机syslog配置

在Cisco网络设备上的配置命令一般为:

在全局模式下<config>

我这里的实际配置命令

配置防火墙syslog

syslog配置>填写鸿鹄IP和端口号>应用

配置服务器syslog

配置系统日志服务器,填写日志系统的IP,端口号默认

开启警报

设置发送到日志平台的警报类型

配置PowerStore syslog

登录到PowerStore存储,Setting>Remote Logging>ADD

Host/IP Address 填写鸿鹄的地址

协议:默认是udp(与上文syslog.toml里一致)

端口号:默认514(与上文syslog.toml里一致)

Audit Type:全选

SEND TEST MASSEGE,发送测试一个日志信息测试下鸿鹄是否收到

在鸿鹄上查询下日志,发现已经收到存储发送的测试日志,至此配置syslog完成

字段抽取

目前我们已经接入了交换机、防火墙、服务器、存储设备,我们需要先对日志字段进行抽取,以便于我们后续进行搜索与图表展示。

防火墙字段抽取

sangfor_syslog,这里是需要新建的视图名称

switch._time 脚本中由第六行开始switch均指的需要抽取数据的原数据集,这里需要根据你的数据集名称替换

where contains( switch._message, '日志类型') '日志类型'指的是你要搜索到这个写日志特定的字段,通过'日志类型'可以限定日志里所有包含'日志类型'的日志

sangfor_nat_syslog,这里是需要新建的视图名称

switch._time 脚本中由第六行开始switch均指的需要抽取数据的原数据集,这里需要根据你的数据集名称替换

where contains( switch._message, 'NAT') '日志类型'指的是你要搜索到这个写日志特定的字段,通过NAT可以限定日志里所有包含NAT的日志

防火墙日志每个组件的日志格式各不相同,那么我们可能需要根据自己的情况进行多次字段抽取,上文已详述过字段抽取方法,这里只提供抽取字段脚本供参考

交换机字段抽取

switch_syslog,这里是需要新建的视图名称

switch._time 脚本中由第六行开始switch均指的需要抽取数据的原数据集,这里需要根据你的数据集名称替换

服务器字段抽取

idrac_syslog,这里是需要新建的视图名称

switch._time 脚本中由第六行开始switch均指的需要抽取数据的原数据集,这里需要根据你的数据集名称替换

where contains( switch._message, 'iDRAC') 'iDRAC'指的是你要搜索到这个写日志特定的字段,通过IDRAC可以限定日志里所有包含IDRAC的日志

PowerStore字段抽取

ps_syslog,这里是需要新建的视图名称

switch._time 脚本中由第六行开始switch均指的需要抽取数据的原数据集,这里需要根据你的数据集名称替换

where contains( switch._message, 'powerstore') 'powerstore'指的是你要搜索到这个写日志特定的字段,通过powerstore可以限定日志里所有包含powerstore的日志

图表展示

在现有设备日志的情况下,我们需要实现的监控效果如下:

所管理设备的概况,比如管理了哪些设备,这些设备的日志情况

设备的运行情况,比如设备是否有告警

安全事件,包含设备是否被密码暴力破解,密码嗅探;设备的配置变更是否合规

在实际场景中,如果我们查看图表时,想要所有的图表可以根据选择灵活的显示该怎么做,比如我想看1天的,想看7天的,那么这时候我们可以做一个"时间项",方法如下:

时间选择

创建时间选择

编辑

添加输入

输入类型:选择时间

标记名称:time_range(这个用于给图表调用)

显示标签:这个时间项显示的名字

默认标记值:这里根据自己的情况选择,我一般选择相对时间,设置成30天

确定后会生成一个时间选择的项

调用时间选择

选择想要调用的图表,选择编辑查询

将查询时间范围改为时间标记值,标记名称time_range(上文创建的时间选择时填写的标记名称)

保存后就可以在"时间选择"里选择想要查看的时间,点击应用,图表就会根据时间变化了

搜索语句

搜索语句是建立在已经字段抽取的前提下的,如果未抽取字段,那么很多调用了抽取字段的图表将不会显示。

小提示:在生成图表时,记得将图表的"查询时间范围"内标记名称改为time_range,以便调用时间选择

最终效果图

本文受限于对SQL语句只是初学阶段,所以很多分析只是基本的分析,供大家参考。鸿鹄本身SQL搜索功能强大,图表展示功能多样,大家可以自行发挥。

相关推荐
zzzsde9 分钟前
【Linux】进程控制(1):进程创建&&进程终止
linux·运维·服务器
wyiyiyi12 分钟前
【线性代数】对偶空间与矩阵转置及矩阵分解(Java讲解)
java·线性代数·支持向量机·矩阵·数据分析
武汉唯众智创12 分钟前
云计算大数据实训平台:从私有云到容器化的教学实现|原理+实操+踩坑+性能全解析
大数据·人工智能·云计算·云计算实训室·大数据实训室·职校云计算大数据实训室建设·职校实训室建设
vpk11219 分钟前
Docker 安装与常用命令
运维·docker·容器
Volunteer Technology1 小时前
zookeeper基础应用与实战二
分布式·zookeeper·云原生
liurunlin8881 小时前
httpslocalhostindex 配置的nginx,一刷新就报404了
运维·nginx
Maverick061 小时前
Oracle PDB 概念与架构
运维·数据库·oracle
小民AI实战笔记1 小时前
htop安装不了怎么解决
linux·运维
GIS数据转换器1 小时前
洪水时空大数据分析与评估系统
大数据·人工智能·机器学习·数据挖掘·数据分析·无人机·宠物
rainbow7242441 小时前
企业AI学习体系选型与构建:内部培训、外部引进与实战项目的深度结合方案
大数据·人工智能