prkhars/Real-time-mini-siem-project
GitHub: prkhars/Real-time-mini-siem-project
一个基于 Python 构建的轻量级实时 SIEM 仪表板,用于日志监控、攻击检测和告警通知。
Stars: 0 | Forks: 0
# 使用 Python 构建的实时 MINI-SIEM 仪表板
一个轻量级的安全信息和事件管理 (SIEM) 平台,使用 Python、SQLite、Dash 和 Plotly 构建,用于实时日志监控、攻击检测、告警和可视化。
## 功能
* 实时日志监控
* 暴力破解攻击检测
* 无效用户检测
* 滑动窗口阈值关联
* 基于 SQLite 的日志存储
* 交互式 SOC 风格仪表板
* Slack 告警集成
* 邮件告警集成
* Top 攻击者 IP 追踪
* 实时事件时间线可视化
* 自动刷新仪表板
* 暗色主题 SOC 界面
## 技术栈
* Python
* SQLite
* Dash
* Plotly
* Pandas
* Watchdog
* Slack Webhooks
* SMTP (Gmail)
## 仪表板预览
将截图添加到 `screenshots/` 文件夹中。
示例截图:
* 仪表板 UI
* 告警信息流
* Slack 告警
* 邮件告警
* 终端监控
## 安装说明
克隆仓库:
```
git clone https://github.com/YOUR_USERNAME/python-mini-siem.git
cd python-mini-siem
```
安装依赖:
```
pip install -r requirements.txt
```
## 运行项目
### 终端 1 — 启动日志解析器
```
python3 log_parser.py
```
### 终端 2 — 启动仪表板
```
python3 dashboard.py
```
打开浏览器:
```
http://localhost:8050
```
## 模拟攻击
### 暴力破解模拟
```
for i in {1..10}; do echo "May 28 10:20:00 kali sshd: Failed password for invalid user attacker$i from 192.168.1.50" >> test.log; sleep 1; done
```
### 无效用户探测
```
for i in {1..5}; do echo "May 28 10:25:00 kali sshd: Invalid user admin$i from 10.0.0.5" >> test.log; sleep 1; done
```
## 告警系统
### 邮件告警
* Gmail SMTP 集成
* 使用应用专用密码
* 可配置的收件人
### Slack 告警
* Slack Incoming Webhooks
* 实时 SOC 通知
## 检测逻辑
该 SIEM 使用滑动窗口阈值机制:
* 60 秒内 5 次登录失败 → 暴力破解告警
* 60 秒内 3 次无效用户尝试 → 无效用户告警
## 仪表板组件
* KPI 卡片
* 事件时间线
* 事件类型环形图
* Top 源 IP 可视化
* 实时告警信息流
* 实时日志追踪
## 未来改进
* 机器学习异常检测
* Elasticsearch 集成
* Docker 部署
* 多主机监控
* 威胁情报源
* 基于角色的身份验证
## 作者
Prkhar Sharma
B.Tech CSE (网络安全)
Bennett University
标签:Dash, Python, SQLite, 安全告警, 安全运营, 扫描框架, 无后门, 红队行动, 逆向工具