aliloubenyahia19-del/splunk-siem-lab

GitHub: aliloubenyahia19-del/splunk-siem-lab

该项目模拟 SOC 分析师的日常工作流程,利用 Splunk 对五类多源日志进行摄入、SPL 检测、可视化和风险评分,帮助用户在实验室环境中练习安全事件调查。

Stars: 0 | Forks: 0

# Splunk SIEM 实验室:多源日志分析 ## 概述 本项目使用 Splunk Enterprise 模拟了 SOC 分析师的核心工作。我将五个不同的数据集摄取到独立的 index 中,开发了 25 个 SPL 搜索,并构建了五个 dashboard,将原始事件转化为有用的安全发现。 分析涵盖了 Android 事件标记、Windows 系统行为、财务欺诈风险评分、Apache 访问与错误活动,以及 Linux SSH 认证失败。 ## 本项目展示的内容 - 多源日志摄取与 index 分离 - 使用 SPL 进行搜索开发 - 使用 regex 从非结构化事件中提取字段 - Dashboard 设计与安全可视化 - 对源 IP 地址进行地理信息丰富 - 基于行为的风险评分与调查优先级排序 - 将原始事件转化为面向 SOC 的发现 ## 架构 ``` flowchart LR A[Android logs] --> S[Splunk Enterprise] W[Windows logs] --> S F[Fraud data] --> S P[Apache logs] --> S L[Linux SSH logs] --> S S --> Q[SPL searches and field extraction] Q --> D[Five security dashboards] D --> T[Analyst triage and findings] ``` ## 调查覆盖范围 | 数据集 | Index | 安全重点 | 突出技术 | |---|---|---|---| | Android 日志 | `ezz` | 日志结构与事件标记 | 使用 `rex` 动态提取标签和进程 ID | | Windows 日志 | `win` | 系统行为与错误模式 | 使用 `eval` 和 `case()` 进行关键字分类 | | 欺诈数据 | `inn` | 交易异常与用户风险 | 自定义行为风险评分 | | Apache 日志 | `okk` | Web 错误与可疑访问 | 客户端 IP 提取与地理信息丰富 | | Linux SSH 日志 | `linuxx` | 登录失败与暴力破解指标 | 源 IP 的阈值设定与地理映射 | ## 精选检测 ### Linux SSH 暴力破解候选 ``` index=linuxx sshd authentication failure | rex field=_raw "rhost=(?\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})" | stats count by remote_ip | where count >= 5 ``` 此搜索提取远程 IP 地址,统计认证失败次数,并突出显示满足基本调查阈值的地址。 ### 欺诈风险评分 ``` index=inn | eval Risk_Score=(Previous_Fraudulent_Transactions * 2) + Number_of_Transactions_Last_24H + (Transaction_Amount / 100) | stats avg(Risk_Score) as Avg_Score, sum(Fraudulent) as Fraud_Cases by User_ID | where Fraud_Cases > 0 | sort -Avg_Score ``` 该评分结合了历史欺诈记录、近期交易量和交易价值,以便确定需要优先审查的用户。这是一种透明的实验室启发式方法,并非生产级的欺诈模型。 ### Apache 访问失败的地理视图 ``` index=okk "Directory index forbidden" | rex field=_raw "client (?\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})" | iplocation client_ip | geostats count by Country ``` 此搜索从原始 Apache 事件中提取客户端 IP,并对其进行地理信息丰富以供地理分析。 所有 25 个搜索均记录在 [searches/README.md](searches/README.md) 中。 ## Dashboard 证据 ### Android 日志结构 ![Android 日志分析 dashboard](https://static.pigsec.cn/wp-content/uploads/repos/cas/f4/f4e741aaca1911607acf31a8be7d2a0ad8b7339b0c07edbfd770234137dcfd6b.png) ### Windows 系统行为 ![Windows 日志分析 dashboard](https://static.pigsec.cn/wp-content/uploads/repos/cas/0a/0a7217532dc6be1a1e28bd5618ed371e19710b8fef0bf375e1ca3889f9324190.png) ### 欺诈分析 ![欺诈风险 dashboard](https://static.pigsec.cn/wp-content/uploads/repos/cas/e4/e41cc89820f045d39c02eb8e20a676c04af82a85e25363b3c8dff82c53a64f94.png) ### Apache 访问分析 ![Apache 地理分析 dashboard](https://static.pigsec.cn/wp-content/uploads/repos/cas/25/25f630752835091fae3f53da513784f96d91c40d752a479e30cd15c9c9d19702.png) ### Linux SSH 认证 ![Linux SSH dashboard](https://static.pigsec.cn/wp-content/uploads/repos/cas/24/24010f1f1b465a224c8e6afe7bb5199e894a5f526b1be99289fd90d5e67df193.png) ## 结果 Dashboard 揭示了几种调查模式: - Android 日志中频繁出现的事件标签和进程 ID - Windows 警告、失败、系统错误以及事件模板的频率 - 根据行为风险指标排名的欺诈案例 - Apache 错误状态模式和源 IP 位置 - 反复出现的 Linux SSH 失败、目标用户名以及可能的暴力破解源 该项目进一步证明,dashboard 虽然能辅助分类筛查,但分析师在将事件视为已确认的事故之前,仍必须验证上下文、调整阈值并对结果进行关联分析。 ## 局限性与后续步骤 - 这些数据集是分开分析的,而不是通过共享的通用信息模型进行分析的。 - 阈值和欺诈评分属于实验室启发式方法,在投入生产环境使用前需要进行验证。 - Dashboard 的观察结果未与案例管理工作流对接。 - 后续工作将增加告警、MITRE ATT&CK 映射、基于 lookup 的丰富以及跨源关联。 ## 仓库结构 ``` . ├── README.md ├── assets/ │ └── screenshots/ └── searches/ └── README.md ``` ## 安全与隐私 该仓库仅包含经过脱敏处理的屏幕截图和搜索逻辑。不包含任何凭据、个人记录或敏感的生产数据。
标签:SOC分析, 安全实验室, 安全运营, 扫描框架, 风险评分