anoop-808/SentinelForge_v1
GitHub: anoop-808/SentinelForge_v1
一个 SOC 导向的 Linux 日志分析与 SIEM 可视化框架,用于安全事件检测、JSON 导出和仪表板生成。
Stars: 1 | Forks: 0
# SOC-LAB:Linux 日志分析、自动化与 SIEM 可视化
## 概述
SOC-LAB 是一个专注于 Linux 身份验证日志分析、安全事件检测、自动化以及 SIEM 风格可视化的网络安全项目。该项目通过从易受攻击的 Linux 主机收集身份验证日志、解析安全相关事件、导出结构化数据、生成警报以及通过仪表板可视化发现结果,模拟了安全运营中心 (SOC) 的工作流程。
本项目是作为 SOC Analyst 学习之旅的一部分而开发的,展示了日志分析、威胁检测、事件分类、报告以及安全可视化技术。
## 项目亮点
* 收集并分析了来自 Metasploitable 实验环境的 Linux 身份验证日志。
* 解析并分类了安全相关事件,包括登录失败、登录成功、sudo 活动和 cron 执行。
* 将结构化的安全事件导出为 JSON 格式,以便进行下游处理。
* 使用 Pandas 和 Matplotlib 构建了自动化的 SIEM 风格仪表板。
* 生成了正式的 SOC 调查报告,包含 MITRE ATT&CK 映射、IOC 分析、风险评估和建议。
* 通过 20 张截图组织了证据,涵盖了从攻击到分析的完整工作流程。
## 目标
* 从 Linux 目标系统收集身份验证日志。
* 识别成功和失败的身份验证尝试。
* 检测可疑的登录行为。
* 自动解析并分类安全事件。
* 将结构化的安全事件导出为 JSON 格式。
* 生成用于安全监控的可视化仪表板。
* 生成正式的 SOC 调查报告。
## 实验环境
### 分析员工作站
* Kali Linux
### 目标系统
* Metasploitable 2
* IP 地址: 192.168.56.20
### 网络架构
Kali Linux → 日志收集 → 解析引擎 → JSON 导出 → 可视化仪表板
## 使用的技术
* Python 3
* Linux 身份验证日志
* Pandas
* Matplotlib
* SSH
* SCP
* VirtualBox
* Kali Linux
* Metasploitable 2
## 快速开始
### 克隆仓库
```
git clone https://github.com/anoop-808/SentinelForge_v1.git
cd SentinelForge_v1
```
### 安装依赖
```
pip install -r requirements.txt
```
### 运行日志解析器
```
python3 scripts/parser_v2.py
```
### 生成安全事件
```
python3 scripts/json_export.py
```
### 生成可视化
```
python3 visualization/dashboard.py
```
### 查看输出
```
cat output/parser_output.txt
```
## 项目工作流程
### 阶段 1:身份验证活动生成
通过以下方式生成安全事件:
* SSH 登录
* 登录失败尝试
* 用户枚举尝试
* Sudo 权限提升
* Cron 活动
### 阶段 2:日志收集
身份验证日志已从目标主机安全传输以进行分析。
### 阶段 3:日志解析
自定义的 Python 脚本提取了以下内容:
* 成功登录
* 失败登录
* Sudo 活动
* Cron 活动
### 阶段 4:JSON 导出
解析后的事件被转换为结构化的 JSON,以便进行下游处理。
### 阶段 5:可视化
使用 Pandas 和 Matplotlib 生成了安全仪表板,用于可视化:
* 事件严重性分布
* 安全事件类别
* 安全事件细分
### 阶段 6:SOC 报告
创建了正式的 SOC 调查报告,包含:
* 事件统计
* MITRE ATT&CK 映射
* 损害指标 (IOC)
* 风险评估
* 建议
## MITRE ATT&CK 映射
| 安全活动 | ATT&CK 技术 |
|-------------------|------------------|
| SSH 登录失败尝试 | T1110.001 - Password Guessing |
| 多次登录失败 | T1110 - Brute Force |
| SSH 身份验证成功 | T1078 - Valid Accounts |
| SSH 远程访问 | T1021.004 - SSH |
| 用户枚举尝试 | T1087 - Account Discovery |
| Cron 任务执行 | T1053.003 - Cron |
| 通过 Cron 执行命令 | T1059 - Command and Scripting Interpreter |
## 代码呈现
## 解析逻辑示例
```
if "Failed password" in line:
print(line.strip())
elif "Accepted password" in line:
print(line.strip())
elif "CRON" in line:
print(line.strip())
```
解析器识别身份验证事件,并从 Linux 身份验证日志中提取与安全相关的活动。
## 仓库结构
```
SOC-LAB/
├── logs/
├── output/
├── reports/
├── screenshots/
├── scripts/
├── visualization/
├── README.md
├── requirements.txt
└── .gitignore
```
## 仪表板预览
### 事件细分

### 事件类别

### 严重性分布

## 主要成果
* 解析了 Linux 身份验证日志。
* 检测到了身份验证失败活动。
* 识别出了暴力破解式的登录模式。
* 将安全事件导出为 JSON。
* 生成了安全仪表板。
* 制作了专业的 SOC 调查报告。
## 未来增强功能
- 实时日志监控
- Wazuh agent 集成
- 自动生成警报
- IOC 丰富化 pipeline
- Sigma 规则生成
- 威胁狩猎仪表板
## 作者
B. Giri Anoop
SOC Analyst 学生项目
标签:Python, SIEM可视化, 代码示例, 内存分配, 安全运营, 扫描框架, 数据分析, 无后门, 红队行动, 逆向工具