jadenwashere6101/siem-security-dashboard-public
GitHub: jadenwashere6101/siem-security-dashboard-public
一个全栈 SIEM 安全仪表盘平台,提供事件接入、实时检测、告警管理和威胁狩猎等 SOC 核心工作流。
Stars: 0 | Forks: 0
# SIEM 安全仪表盘
## 概述
本项目是一个全栈**安全信息与事件管理 (SIEM)** 平台
旨在模拟真实的**安全运营中心 (SOC)** 工作流。
它从外部应用程序接入安全事件,对其进行实时分析,应用
检测逻辑,生成警报,并为分析师和
管理员提供仪表盘。
该系统展示了:
- 检测工程
- 后端系统设计
- 安全的 API 开发
- 基于角色的访问控制 (RBAC)
- 事件响应工作流
- 全栈系统集成
## 真实世界集成
此 SIEM 旨在与将实时安全遥测数据流式传输到平台的外部应用程序进行集成。
- 外部系统向 `/ingest` API 发送事件
- 事件由身份验证和用户活动流生成
- SIEM 实时处理和分析这些事件
示例事件包括:
- 登录失败尝试
- 成功登录
- 应用程序活动事件
检测范围包括:
- 暴力破解攻击
- 密码喷洒攻击
- 账户入侵场景,例如喷洒后的成功登录
示例流水线:
**外部应用 → SIEM `/ingest` API → 事件存储 → 检测引擎 → 警报 →**
**仪表盘 / 地图 / 报告**
这反映了现代安全运营中常用的集中监控架构。
## 技术栈
### 后端
- Python (Flask)
- PostgreSQL
- Flask-Limiter
- ReportLab
### 前端
- React
### 安全概念
- API 密钥身份验证
- 基于角色的访问控制 (RBAC)
- 输入验证与防御性编程
- 速率限制
- 审计日志
- 安全会话处理
## 核心功能
### 事件接入 API
- 端点:`/ingest`
- 接受来自外部系统的 JSON 安全事件
- 通过 `X-API-Key` 进行保护
- 在插入数据库前进行严格验证
- 当位置数据缺失时自动进行地理位置富化
必填字段:
- `event_type`
- `severity`
- `message`
- `source_ip`
- `app_name`
- `environment`
保护措施包括:
- 严格的输入验证
- 强制必填字段
- 拒绝无效值
- 速率限制
### 检测引擎
实时检测和关联逻辑包括:
- 登录失败阈值检测
- 端口扫描检测
- 密码喷洒检测
- 喷洒后成功登录关联
- 重复警报抑制
这包括多阶段关联,而不仅仅是简单的阈值判断。
### 检测规则管理
检测规则参数可以通过管理工作流进行审查和调优。
- 规则阈值和时间窗口集中管理
- 验证机制强制要求安全的参数值
- 规则变更有审计日志记录
- 默认值保留作为备用回退路径
这模拟了现实安全团队中使用的检测调优工作流。
### 告警系统
- 由检测规则生成的警报
- 包含严重性、源 IP、时间戳和描述性消息
- 状态跟踪,例如 `open` 和 `resolved`
- 防止重复警报
### 富化与情报
- IP 地理位置富化
- MITRE ATT&CK 映射
- 警报的威胁上下文
- PDF 事件报告生成
示例映射:
- `T1110` – 暴力破解
- `T1110.003` – 密码喷洒
- `T1046` – 网络服务发现
### 仪表盘
前端仪表盘包括:
- 实时警报表
- 严重性分布
- 事件趋势
- 首要源 IP
- 地理可视化
- 过滤和排序
- MITRE ATT&CK 上下文展示
### 威胁狩猎
该平台还包括主动的事件狩猎工作流:
- 搜索原始接入事件
- 按源 IP、事件类型和时间窗口进行过滤
- 检查原始 payload 详情
- 从事件透视到相关警报
### 管理与 RBAC 系统
角色:
- `super_admin`
- `analyst`
- `viewer`
管理功能包括:
- 用户管理
- 角色分配
- 密码重置
- 审计日志访问
- 检测规则审查
### 审计日志
平台会跟踪敏感操作,包括:
- 身份验证事件
- 管理操作
- 警报响应操作
- 检测规则变更
审计记录捕获了谁执行了该操作、更改了什么以及发生的时间。
### 安全加固
- 接入端点的 API 密钥强制验证
- 敏感端点上的速率限制
- 严格的后端验证
- 安全会话处理
- 审计日志
- 防御性编程模式
## 架构
**外部应用 / 模拟器**
↓
**`/ingest`**
↓
**事件存储 (PostgreSQL)**
↓
**检测引擎**
↓
**警报**
↓
**仪表盘 / 地图 / 报告 / 管理操作**
## 仓库结构
```
siem-security-dashboard/
├── frontend/
├── openspec/
├── schema.sql
├── siem_backend.py
├── simulate_attacks.py
└── README.md
———
## Spec-Driven 开发
This project uses a spec-first workflow:
1. Define changes in openspec/
2. Review before implementation
3. Apply minimal, controlled updates
4. Validate before deployment
———
## Local Development
cd /path/to/project
source venv/bin/activate
set -a
source .env
set +a
python3 siem_backend.py
———
## Security Notes
This repository does not include:
- secrets
- API keys
- passwords
- raw .env values
Best practices:
- keep .env local only
- use environment variables
- never commit sensitive data
- keep deployment-specific configuration private
———
## Future Improvements
Potential future work includes:
- more advanced correlation chains
- behavioral detection logic
- external threat intelligence integrations
- enhanced analyst workflows
- further UI/UX improvements
———
## Creator
Jaden Gomez
```
标签:AMSI绕过, API密钥检测, API密钥认证, Flask, PostgreSQL, Python, RBAC, React, Syscalls, 事件接入, 免杀技术, 后端系统设计, 地理 enrichment, 基于角色的访问控制, 威胁检测, 安全API, 安全仪表盘, 安全会话管理, 安全信息与事件管理, 安全分析师工作流, 安全告警, 安全运营中心, 安全遥测, 实时分析, 审计日志, 密码喷洒攻击, 搜索引擎爬取, 无后门, 暴力破解检测, 测试用例, 网络安全, 网络安防, 网络映射, 自定义脚本, 账户接管, 输入验证, 逆向工具, 限流, 隐私保护, 集中监控