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 日志结构

### Windows 系统行为

### 欺诈分析

### Apache 访问分析

### Linux SSH 认证

## 结果
Dashboard 揭示了几种调查模式:
- Android 日志中频繁出现的事件标签和进程 ID
- Windows 警告、失败、系统错误以及事件模板的频率
- 根据行为风险指标排名的欺诈案例
- Apache 错误状态模式和源 IP 位置
- 反复出现的 Linux SSH 失败、目标用户名以及可能的暴力破解源
该项目进一步证明,dashboard 虽然能辅助分类筛查,但分析师在将事件视为已确认的事故之前,仍必须验证上下文、调整阈值并对结果进行关联分析。
## 局限性与后续步骤
- 这些数据集是分开分析的,而不是通过共享的通用信息模型进行分析的。
- 阈值和欺诈评分属于实验室启发式方法,在投入生产环境使用前需要进行验证。
- Dashboard 的观察结果未与案例管理工作流对接。
- 后续工作将增加告警、MITRE ATT&CK 映射、基于 lookup 的丰富以及跨源关联。
## 仓库结构
```
.
├── README.md
├── assets/
│ └── screenshots/
└── searches/
└── README.md
```
## 安全与隐私
该仓库仅包含经过脱敏处理的屏幕截图和搜索逻辑。不包含任何凭据、个人记录或敏感的生产数据。
标签:SOC分析, 安全实验室, 安全运营, 扫描框架, 风险评分