Manvadariya/Server-Guard
GitHub: Manvadariya/Server-Guard
一个融合机器学习检测与 SOAR 自动化响应的开源服务器安全平台,实现对 SQL 注入、XSS、DDoS 等攻击的实时拦截与可视化管理。
Stars: 0 | Forks: 0
# 🛡️ Server Guard
### 机器学习驱动的网络弹性服务器安全平台




## 📖 概述
**Server Guard** 是一个自动化 **SOAR**(安全编排、自动化和响应)平台,旨在将服务器安全从被动监控转变为主动防御。
与传统工具仅在违规行为发生*后*发出警报不同,Server Guard 实时监控系统遥测数据,利用 **Machine Learning** 在攻击(如 SQL Injection、DDoS 和 Brute Force)执行之前进行拦截,并通过高性能 SOC 风格的仪表板将所有内容可视化。
## 🚀 核心功能
* **⚡ 主动防御:** 实时威胁检测与缓解 pipeline。
* **🧠 AI 驱动的检测:**
* **Web Gatekeeper:** 利用 Random Forest Classifier & TF-IDF Vectorization 阻止 SQL Injection (SQLi) 和 XSS payload 攻击。
* **Network Shield:** 基于 PyTorch 的 Deep Learning 模型,用于检测 DDoS 模式和异常流量。
* **📡 实时遥测:** 通过 WebSockets 持续摄入系统指标(CPU、RAM、网络)和日志。
* **🚨 自动化响应:**
* 通过中央 IP Manager 即时封锁 IP。
* 服务隔离和速率限制。
* 在集群中同步防御操作(支持多笔记本电脑)。
* **🖥️ 统一 SOC Dashboard:** 简洁的基于 React 的 UI,用于可视化攻击、系统健康状况和被封锁的威胁。
* **🧱 Microservices 架构:** 可扩展、模块化的设计,将摄入、检测和响应分离。
* **🛡️ 多向量保护:** 针对 SQL Injection (SQLi)、Cross-Site Scripting (XSS)、DDoS、Port Scanning 和 Resource Exhaustion 的强力防御。
## 🏗️ 架构
该系统利用可扩展的 **Agent → Ingest → AI → Response** pipeline:
**Client** → **Gateway** → **Ingest** → **Detection (AI)** → **Alert** → **Response** → **Gateway (Mitigation)**
### 系统工作流
下图展示了从攻击发起到自动化防御的系统高层工作流。

## 📊 使用的数据集
我们利用高质量的网络安全数据集来训练我们的 AI 模型,以实现准确的威胁检测:
| 数据集 | 用途 | 描述 |
| :--- | :--- | :--- |
| **[sajid576/sql-injection-dataset](https://www.kaggle.com/datasets/sajid576/sql-injection-dataset)** | **SQL Injection 检测** | 用于训练 Web Gatekeeper 模型以识别恶意 SQL 查询模式。 |
| **[syedsaqlainhussain/cross-site-scripting-xss-dataset](https://www.kaggle.com/datasets/syedsaqlainhussain/cross-site-scripting-xss-dataset)** | **XSS 检测** | 提供多样化的 XSS payload,用于检测恶意脚本注入。 |
| **[Friday-WorkingHours-Afternoon-DDos](https://www.kaggle.com/datasets/cicdataset/cicids2017)** | **DDoS 检测** | CIC-IDS2017 数据集的一个子集,用于训练 Network Shield 进行流量异常和泛洪检测。 |
## 🧩 微服务拆解
| 服务 | 端口 | 描述 | 技术栈 |
| :--- | :--- | :--- | :--- |
| **Dashboard** | `8000` | 用于监控和控制的用户界面。 | Flask, React (Static) |
| **API Gateway** | `3001` | 中央入口点、Socket.IO 桥接和 IP Manager。 | FastAPI, Socket.IO |
| **Ingest Service** | `8001` | 高吞吐量遥测数据摄入与本地存储。 | FastAPI, AsyncIO |
| **Detection Engine** | `8002` | 使用规则 + ML 模型分析事件。 | FastAPI, PyTorch |
| **Alert Manager** | `8003` | 聚合异常并生成结构化警报。 | FastAPI |
| **Response Engine** | `8004` | 执行 playbook(封锁 IP、限流)并同步状态。 | FastAPI |
| **Model Service** | `8006` | 专用的 AI 模型推理服务器。 | Flask, Scikit-learn, Torch |
## 🛠️ 安装与设置
### 前置条件
* **Python 3.9+**
* **Node.js** (可选,用于前端开发)
* Windows/Linux/MacOS
### 1. 克隆仓库
```
git clone https://github.com/yourusername/Server-Guard.git
cd Server-Guard
```
### 2. 安装依赖
每个微服务都基于 Python。您可以安装所有依赖项:
```
# 单个服务示例(重复或使用主脚本)
pip install -r backend/api-gateway/requirements.txt
pip install -r backend/detection-engine/requirements.txt
# ... 等
```
### 3. 启动平台
我们提供了一个统一的编排脚本,以正确的顺序启动所有服务。
```
# 从根目录
python start_services.py
```
这将启动:
1. Ingest Service
2. Detection Engine
3. Alert Manager
4. Response Engine
5. Model Service
6. API Gateway
7. Dashboard
### 4. 访问 Dashboard
打开浏览器并访问:
**http://localhost:8000**
## 🔌 API 文档
### API Gateway (`http://localhost:3001`)
* `GET /health`: 系统状态和已连接的客户端。
* `POST /ip/block`: 手动封锁 IP 地址。
* `GET /proxy/logs`: 获取最近的遥测日志。
### Ingest Service (`http://localhost:8001`)
* `POST /ingest`: 发送原始遥测数据。
* `GET /events`: 列出存储的事件。
### Response Engine (`http://localhost:8004`)
* `POST /execute`: 针对特定警报运行响应 playbook。
* `GET /actions`: 查看已执行的自动化操作历史。
## 💻 技术栈
| 类别 | 工具 |
| :--- | :--- |
| **后端框架** | Python, FastAPI, Uvicorn, Flask |
| **实时通信** | Socket.IO, AsyncIO |
| **机器学习** | PyTorch (Neural Nets), Scikit-learn (Random Forest), Pandas, NumPy |
| **前端** | React, Chart.js, HTML5/CSS3 |
| **系统信息** | Psutil |
标签:AI 驱动安全, Apex, AV绕过, CISA项目, DDoS 缓解, DOE合作, FastAPI, FTP漏洞扫描, IP 封禁, Python, PyTorch, React, SOAR 平台, SOC 仪表盘, SQL 注入检测, Syscalls, TCP/UDP协议, TF-IDF, WebSocket, Web 应用防火墙, XSS 防护, 依赖分析, 入侵检测系统, 凭据扫描, 安全数据湖, 安全编排, 微服务架构, 插件系统, 无后门, 暴力破解防御, 机器学习, 深度学习, 端口扫描检测, 端点防护, 系统遥测, 网络安全, 网络弹性, 网络设备安全, 自动化响应, 资源耗尽防护, 赛博安全, 逆向工具, 配置错误, 随机森林, 隐私保护