ValentinDLC/mini-siem-platform
GitHub: ValentinDLC/mini-siem-platform
一个集成日志收集、安全分析、告警和实时 Web 仪表盘的迷你 SIEM 平台,帮助开发者低成本搭建安全监控与事件管理能力。
Stars: 0 | Forks: 0
# 迷你 SIEM 平台
一个集成了日志收集、安全分析、告警以及实时 Web dashboard 的迷你 Security Information and Event Management 平台。
## 架构
```
Log Sources -> Python Collector -> Security Analyzer -> Database -> FastAPI -> React Dashboard
(PostgreSQL or SQLite) -> Elasticsearch (optional)
```
## 技术栈
- **后端**:FastAPI、SQLAlchemy
- **数据库**:PostgreSQL(生产环境)/ SQLite(默认本地环境)
- **搜索**:Elasticsearch(可选,不可用时优雅降级)
- **前端**:React (Vite)、ESLint
- **监控**:Kibana(配合 Elasticsearch)
## 快速开始(本地使用 SQLite)
### 后端
```
cd backend
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
uvicorn backend.app.main:app --reload --port 8000
```
### 导入演示日志
```
python backend/scripts/demo_ingest.py
```
### 前端
```
cd frontend
npm install
npm run dev
```
打开 [http://localhost:3000](http://localhost:3000)
## 生产环境(PostgreSQL + Elasticsearch)
设置环境变量(参见 `backend/.env.example`):
```
DATABASE_URL=postgresql://user:password@localhost:5432/siem
ELASTICSEARCH_URL=http://localhost:9200
```
安装 PostgreSQL 驱动:
```
pip install psycopg2-binary
```
## API Endpoints
| 方法 | Endpoint | 描述 |
|--------|----------|-------------|
| `POST` | `/api/v1/logs/` | 导入日志 |
| `GET` | `/api/v1/logs/` | 列出日志(按 source、severity、ip 过滤) |
| `GET` | `/api/v1/logs/search/?q=` | 搜索日志 |
| `POST` | `/api/v1/alerts/` | 创建告警 |
| `GET` | `/api/v1/alerts/` | 列出告警 |
| `GET` | `/api/v1/stats/` | Dashboard 统计信息 |
## License
MIT
标签:AV绕过, Elasticsearch, FastAPI, React, Syscalls, 安全运营, 扫描框架, 测试用例, 监控告警, 越狱测试, 逆向工具