builtbysardor/sentinel-soc
GitHub: builtbysardor/sentinel-soc
一款基于 FastAPI 与 WebSocket 的实时 SOC 仪表板,通过模式匹配检测多种网络攻击并自动拦截高危 IP。
Stars: 1 | Forks: 0
# 🛡️ SentinelLog v2.0 — 实时 SOC 仪表板
**[🚀 快速开始](#-quick-start) • [📡 API 文档](#-api-reference) • [🛡️ 检测逻辑](#️-security-logic) • [🤝 参与贡献](#-contributing)**
[](https://sentinel-soc-tau.vercel.app)
## 📸 仪表板预览
**[🚀 快速开始](#-quick-start) • [📡 API 文档](#-api-reference) • [🛡️ 检测逻辑](#️-security-logic) • [🤝 参与贡献](#-contributing)**

*实时仪表板 — 日志流、模态分析 & 高级通知*

*带有实时威胁指标的全局监控控制台*
## ⚡ 核心功能
| 功能 | 描述 |
|---------|-------------|
| 🕵️ **智能威胁检测** | SSH 暴力破解 · SQL 注入 · 端口扫描 · 权限提升 · DDoS |
| 📡 **响应式 WebSocket 流** | 具备自动重连逻辑的即时日志推送 |
| 📊 **高级分析** | 攻击类型分布图表 + 12 分钟活动热力图 |
| 🚫 **自动拦截** | 得分超过 85 的 IP 将被自动加入黑名单 |
| 🎨 **赛博朋克 UI** | 带有平滑微动画的暗黑玻璃拟态界面 |
| 📑 **JSON 导出** | 导出实时日志数据以用于取证分析 |
| 🔁 **自动重连** | WebSocket 客户端断开时自动重连 |
| 📋 **威胁模态框** | 针对任何可疑事件的深入分析面板 |
## 🛠️ 技术栈
| 组件 | 技术 | 用途 |
|-----------|-----------|---------|
| **后端** | FastAPI (Python) | 高并发 API & 检测逻辑 |
| **实时通信** | WebSockets | 低延迟双向流 |
| **前端** | Vanilla JS / CSS3 | 无框架开销的现代 UI |
| **检测** | 模式匹配 | 启发式威胁识别 |
| **分析** | Map-Reduce | 实时统计聚合 |
## 🛡️ 安全逻辑
威胁使用加权机制进行评分:
```
Score Range │ Classification │ Action
─────────────┼────────────────────────┼──────────────────────
0 – 30 │ Normal Traffic │ ✅ Log as INFO
40 – 70 │ Suspicious Activity │ ⚠️ Log as WARNING
80 – 100 │ High-Confidence Attack│ 🚨 CRITICAL + Auto-block (85+)
```
**检测到的攻击类型:**
- 🔐 **SSH 暴力破解** — 来自同一 IP 的多次身份验证失败尝试
- 💉 **SQL 注入** — 请求 payload 中的恶意查询模式
- 🔍 **端口扫描** — 顺序端口探测检测
- ⬆️ **权限提升** — 未经授权的 sudo/root 访问尝试
- 💥 **DDoS** — 来自单一来源的异常请求速率
## 🚀 快速开始
### 1. 克隆 & 设置
```
git clone https://github.com/builtbysardor/sentinellog-real-time-threat-detection.git
cd sentinellog-real-time-threat-detection
```
### 2. 安装依赖
```
python3 -m venv venv
source venv/bin/activate # Linux/macOS
# venv\Scripts\activate # Windows
pip install -r requirements.txt
```
### 3. 启动
```
python3 main.py
```
打开 **http://localhost:8000** — 仪表板即刻加载! 🎯
## 📡 API 参考
### WebSocket
| Endpoint | 描述 |
|----------|-------------|
| `WS /ws/logs` | 实时双向威胁日志流 |
### REST Endpoint
| 方法 | Endpoint | 描述 |
|--------|----------|-------------|
| `GET` | `/api/logs` | 获取最近的 200 条安全事件 |
| `GET` | `/api/stats` | 全局系统遥测快照 |
| `POST` | `/api/block/{ip}` | 手动将源 IP 加入黑名单 |
| `GET` | `/api/blocked` | 列出所有当前被加入黑名单的 IP |
## 📁 项目结构
```
sentinellog-real-time-threat-detection/
├── main.py # 🚀 FastAPI app entry point
├── detector.py # 🔍 Threat pattern matching engine
├── websocket_manager.py # 📡 WebSocket connection manager
├── requirements.txt # 📦 Python dependencies
├── frontend/
│ ├── index.html # Dashboard UI
│ ├── style.css # Cyberpunk glassmorphism theme
│ └── app.js # WebSocket client & charts
├── screenshots/
│ ├── demo_video.webp # Live demo recording
│ └── dashboard_main.png # Dashboard screenshot
└── README.md
```
## 🔮 路线图
- [ ] 🗄️ **持久化存储** — SQLite/PostgreSQL 事件历史记录
- [ ] 📧 **邮件警报** — 针对严重威胁的 SMTP 通知
- [ ] 💬 **Telegram bot** — 即时移动端威胁通知
- [ ] 🌍 **GeoIP 映射** — 在世界地图上可视化威胁来源
- [ ] 🐳 **Docker 支持** — 一条命令实现容器化部署
- [ ] 📊 **ML 检测** — scikit-learn 异常检测模型
- [ ] 🔐 **认证层** — 受密码保护的仪表板访问
- [ ] 📄 **PDF 报告** — 自动化的每日/每周威胁摘要
## 📄 许可证
MIT License — 详情请参阅 [LICENSE](LICENSE)。
**由 [Sardor Buriyev](https://github.com/builtbysardor) 用 ❤️ 构建**
*FastAPI · WebSockets · Python · 赛博朋克 UI*
⭐ **如果 SentinelLog 正在守护您的网络,请给本仓库点个 Star!**
标签:AMSI绕过, AV绕过, CISA项目, DOE合作, FastAPI, SOC仪表盘, WebSocket, 依赖分析, 威胁检测, 安全运营, 扫描框架, 数据可视化, 自动拦截, 逆向工具