vaibhavkrishna12004/Splunk-windows-security-monitoring
GitHub: vaibhavkrishna12004/Splunk-windows-security-monitoring
本项目演示如何使用 Splunk 构建 SIEM 实验室以监控 Windows 安全日志并检测可疑认证行为。
Stars: 0 | Forks: 0
# Splunk-windows-security-monitoring
使用 Splunk Enterprise 和 Universal Forwarder 构建了一个 SIEM 实验室,用于摄取和分析 Windows 事件日志。实现了针对登录失败、权限提升和暴力破解的检测规则,并配备了自定义 SPL 查询和仪表板。
plunk-windows-security-monitoring
SIEM 工作流程:使用 Splunk 进行日志采集、转发、检测与可视化
概述
本项目演示了如何构建一个基础的 SIEM 环境来监控 Windows 安全活动。配置包括从 Windows 机器收集日志、转发到 Splunk 服务器,并分析认证事件以识别可疑行为。
目标是模拟 SOC 分析员如何监控登录活动并检测异常,例如重复的登录失败尝试。
使用的工具
Splunk Enterprise
Splunk Universal Forwarder
Windows Event Viewer
安装配置
使用一台 Windows 10 虚拟机作为日志源。在 Linux 系统上安装 Splunk Enterprise,作为 SIEM 服务器。
在 Windows 机器上安装 Universal Forwarder,并配置为通过 9997 端口将日志发送到 Splunk 服务器。
验证连接后,启用 Windows 安全日志并成功摄取到 Splunk。
日志采集
Windows 事件日志被转发并在 Splunk 中建立索引。Windows 事件查看器与 Splunk 的日志匹配情况如下,验证了活动日志。
主要日志来源:WinEventLog:Security
配置完成后,日志开始在 Splunk 搜索中显示。
检测
使用 Splunk 查询(SPL)分析认证活动。
监控的关键事件 ID:
4625 → 登录失败尝试
4624 → 成功登录
4672 → 特权(管理员)登录
使用的示例查询:
index=* EventCode=4625 | stats count by Account_Name | where count > 5
如何在 Splunk 中分析数据?
在 Splunk 中分析日志使用搜索处理语言(SPL)。以下是关键查询及其作用。
基础搜索
index=*
- index=* → 搜索所有索引,用于验证日志是否被摄取
失败登录检测
index=* EventCode=4625
- EventCode=4625 → 过滤失败登录尝试
- 帮助识别认证失败
暴力破解检测
index=* EventCode=4625
| stats count by Account_Name
| where count > 5
- stats count by Account_Name → 按用户名统计失败次数
- where count > 5 → 筛选失败次数超过阈值的用户
- 用于检测可能的暴力破解攻击
成功登录监控
index=* EventCode=4624
- EventCode=4624 → 显示成功登录事件
- 用于跟踪用户访问
特权登录检测
index=* EventCode=4672
- EventCode=4672 → 表示分配了管理员权限
- 帮助检测高权限活动
聚合可视化查询
index=*
| stats count by EventCode
- stats count by EventCode → 按事件类型分组
- 用于创建图表和仪表板
可视化
创建了一个仪表板来可视化认证活动。
包括:
- 登录分布(成功与失败)
- 登录失败尝试
- 特权访问事件
分析
从收集的日志中可以观察到:
- 短时间间隔内的重复登录失败尝试
- 多次失败后的成功登录
- 特权权限的使用情况
这反映了真实监控系统中如何识别可疑的认证模式。
结论
本项目展示了如何集中和分析来自 Windows 系统的日志。通过创建检测查询和仪表板,可以监控用户活动并识别潜在威胁,例如暴力破解登录尝试。
它强调了日志监控的重要性,以及 SIEM 工具如何在真实环境中帮助检测可疑行为。
检测
使用 Splunk 查询(SPL)分析认证活动。
监控的关键事件 ID:
4625 → 登录失败尝试
4624 → 成功登录
4672 → 特权(管理员)登录
如何在 Splunk 中分析数据?
在 Splunk 中分析日志使用搜索处理语言(SPL)。以下是关键查询及其作用。
基础搜索
index=*
- index=* → 搜索所有索引,用于验证日志是否被摄取
失败登录检测
index=* EventCode=4625
- EventCode=4625 → 过滤失败登录尝试
- 帮助识别认证失败
暴力破解检测
index=* EventCode=4625
| stats count by Account_Name
| where count > 5
- stats count by Account_Name → 按用户名统计失败次数
- where count > 5 → 筛选失败次数超过阈值的用户
- 用于检测可能的暴力破解攻击
成功登录监控
index=* EventCode=4624
- EventCode=4624 → 显示成功登录事件
- 用于跟踪用户访问
特权登录检测
index=* EventCode=4672
- EventCode=4672 → 表示分配了管理员权限
- 帮助检测高权限活动
聚合可视化查询
index=*
| stats count by EventCode
- stats count by EventCode → 按事件类型分组
- 用于创建图表和仪表板
可视化
创建了一个仪表板来可视化认证活动。
包括:
- 登录分布(成功与失败)
- 登录失败尝试
- 特权访问事件
分析
从收集的日志中可以观察到:
- 短时间间隔内的重复登录失败尝试
- 多次失败后的成功登录
- 特权权限的使用情况
这反映了真实监控系统中如何识别可疑的认证模式。
结论
本项目展示了如何集中和分析来自 Windows 系统的日志。通过创建检测查询和仪表板,可以监控用户活动并识别潜在威胁,例如暴力破解登录尝试。
它强调了日志监控的重要性,以及 SIEM 工具如何在真实环境中帮助检测可疑行为。标签:Linux SIEM 服务器, Mutation, SOC 监控, Splunk Enterprise, SPL 查询, Universal Forwarder, Windows Event Logs, Windows 安全监控, WinEventLog:Security, 免杀技术, 可视化, 失败登录检测, 安全信息与事件管理, 异常检测, 搜索引擎爬取, 日志收集, 日志转发, 暴力破解检测, 权限提升检测, 生成式AI安全, 登录活动监控, 端口 9997, 网络安全监控, 自定义仪表板, 虚拟机, 驱动开发