Vandhana246/SOC-Log-Analysis-Threat-Hunting-Tool
GitHub: Vandhana246/SOC-Log-Analysis-Threat-Hunting-Tool
一个基于 Python 和 Flask 的 SOC 日志分析与威胁狩猎平台,支持多源日志实时监控、MITRE ATT&CK 映射、事件管理和 PDF 报告生成。
Stars: 0 | Forks: 0
# SecureSOC - 日志分析与威胁狩猎工具
一个基于 Python 的安全运营中心 (SOC) 日志分析与威胁狩猎平台,可收集、解析、监控和分析来自 Linux 和 Windows 系统的日志,以实时检测可疑活动。该项目提供了一个基于 Web 的 SOC 仪表板,用于监控警报、调查事件以及生成事件报告。
# 功能
- 实时 Linux 日志监控
- 实时 Windows 事件日志监控
- 多源日志解析
- Linux 身份验证日志
- Windows 事件日志
- Apache 访问日志
- Suricata IDS 警报
- 实时安全仪表板
- 事件管理
- MITRE ATT&CK 映射
- 威胁狩猎界面
- 搜索和筛选警报
- PDF 事件报告生成
- 电子邮件警报支持
- 自动警报检测
- 管理员登录身份验证
# 项目架构
```
+--------------------+
| Linux Auth Logs |
+--------------------+
|
+--------------------+
| Windows Event Logs |
+--------------------+
|
+--------------------+
| Apache Access Logs |
+--------------------+
|
+--------------------+
| Suricata Alerts |
+--------------------+
|
▼
Log Parsers (Python)
▼
Threat Detection Engine
▼
Incident & Alert Database
▼
SecureSOC Web Dashboard
▼
Reports | Analytics | Threat Hunting
```
# 项目结构
```
SOC_Log_Analysis
│
├── alerts/
├── dashboard/
├── data/
├── logs/
├── monitors/
├── output/
├── parsers/
├── reports/
├── server/
├── webapp/
├── main.py
├── requirements.txt
└── README.md
```
# 使用的技术
- Python 3.10+
- Flask
- Pandas
- Requests
- ReportLab
- Jinja2
- HTML5
- CSS3
- JavaScript
- JSON
- Linux 身份验证日志
- Windows 事件日志
- Apache 日志
- Suricata IDS
# 系统要求
## Ubuntu
- Ubuntu 20.04 或更高版本
- Python 3.10+
- pip
- Git
可选
- Suricata
- Elasticsearch
- Wazuh
## Windows
- Windows 10/11
- Python 3.10+
- Git
- PowerShell
# 安装说明
## 1. 克隆仓库
```
git clone https://github.com/YOUR_USERNAME/SOC_Log_Analysis.git
cd SOC_Log_Analysis
```
## 2. 创建虚拟环境 (推荐)
### Ubuntu
```
python3 -m venv venv
source venv/bin/activate
```
### Windows
```
python -m venv venv
venv\Scripts\activate
```
## 3. 安装必要的包
```
pip install -r requirements.txt
```
# 运行项目
## 步骤 1
运行解析器
```
python main.py
```
这将会
- 解析日志
- 规范化数据
- 生成 parsed_logs.csv
- 检测可疑活动
## 步骤 2
启动仪表板
```
cd dashboard
python app.py
```
打开
```
http://127.0.0.1:5000
```
## 步骤 3
登录
管理员登录
```
Username : admin
Password : admin123
```
(如有需要,请在源代码中修改这些凭证。)
# Linux 实时监控
在 Ubuntu 上,系统会实时监控 Linux 身份验证日志。
监控的日志示例:
```
/var/log/auth.log
```
检测到的事件包括
- SSH 登录失败
- 登录成功
- 无效用户
- 暴力破解尝试
- 可疑的身份验证活动
运行
```
python monitors/live_monitor.py
```
每当 Linux 身份验证日志中出现新事件时,它会自动被处理并显示在 SecureSOC 仪表板上。
# Windows 实时监控
运行
```
python monitors/windows_monitor.py
```
检测到的事件包括
- 登录失败
- 登录成功
- 账户锁定
- 安全事件
- 用户身份验证事件
仪表板会自动显示新检测到的 Windows 警报。
# 支持的日志源
- Linux 身份验证日志
- Windows 事件日志
- Apache 访问日志
- Suricata IDS
- JSON 警报文件
# 生成的输出
该项目会自动生成
```
output/
```
包含
- 解析的 CSV
- PDF 事件报告
示例
```
output/
│
├── parsed_logs.csv
└── reports/
├── INC-0001.pdf
└── INC-0004.pdf
```
# 事件管理
仪表板支持
- 查看事件
- 解决事件
- 添加调查笔记
- 导出 PDF 报告
# 仪表板模块
- 仪表板
- 实时警报
- 威胁狩猎
- 分析
- MITRE ATT&CK 映射
- 事件管理
- 报告
# 必需的 Python 包
使用以下命令自动安装
```
pip install -r requirements.txt
```
主要包包括
- Flask
- pandas
- requests
- reportlab
- jinja2
# 截图
您可以在此处添加截图。
示例
```
screenshots/
dashboard.png
login.png
alerts.png
incident.png
```
# 未来改进
- 多用户身份验证
- 基于角色的访问控制 (RBAC)
- 数据库集成
- Elasticsearch 集成
- Wazuh 集成
- SIEM 关联规则
- 电子邮件通知
- Slack 集成
- 威胁情报源
# 作者
**Kamsala Vandhana**
计算机科学与工程 B.Tech
Rajiv Gandhi University of Knowledge Technologies (RGUKT RK Valley)
网络安全爱好者
# 许可证
本项目专为学术和教育目的而开发。
标签:PKI安全, 数据可视化, 逆向工具