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://img.shields.io/badge/🌐_Live_Demo-Visit_Site-00C7B7?style=for-the-badge)](https://sentinel-soc-tau.vercel.app) ## 📸 仪表板预览
![演示视频](https://static.pigsec.cn/wp-content/uploads/repos/cas/21/21132dbd5e8a47811bc569d46f68b2df62f7f280fe26555f4929a903779897a0.webp) *实时仪表板 — 日志流、模态分析 & 高级通知* ![主仪表板](https://static.pigsec.cn/wp-content/uploads/repos/cas/59/5972682d42f72ce8e9d0a8bd342d1b4dbc8c3b70addd03a0c9c13983cc05100b.png) *带有实时威胁指标的全局监控控制台*
## ⚡ 核心功能 | 功能 | 描述 | |---------|-------------| | 🕵️ **智能威胁检测** | 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, 依赖分析, 威胁检测, 安全运营, 扫描框架, 数据可视化, 自动拦截, 逆向工具