提交Git

This commit is contained in:
Peijun Zhao
2026-05-10 12:59:00 +08:00
commit b0aaea9fb3
2544 changed files with 545276 additions and 0 deletions
+124
View File
@@ -0,0 +1,124 @@
# AluerIII 服务器安全防护系统 - 详细项目概括与功能拆解
AluerIII 是一个专为 Minecraft (PaperMC) 服务器设计的高级安全防护与自动化运维系统。它集成了 **AI 驱动威胁感知**、**多层网络安全防御**、**实时监控预警** 与 **自动化管理** 功能。本项目采用 Java 与 Spring Boot 框架构建,具有高度模块化和可扩展的插件式架构。
以下是项目中所有核心模块、包路径及具体类的极其详细的功能拆解:
---
## 1. AI 智能防御与分析模块 (`com.aluer.ai`)
该模块是系统的“大脑”,利用机器学习算法和大型语言模型(如 DeepSeek)进行实时威胁感知、趋势预测与智能决策。
- **`AIAutonomousService`** (自主防御核心)
- 通过正则匹配和流量模式识别潜在威胁(如 SQL 注入、DDoS 攻击)。
- 在检测到威胁时,自动执行防御动作(如动态封禁恶意 IP、启用限流)。
- **`AIStrategyEngine`** (智能策略引擎)
- 根据检测到的威胁严重程度(Severity),动态匹配并下发最佳防御策略(例如:“暴力破解”对应“临时封禁+启用验证码”)。
- **`DeepSeekClient`** (AI 接口集成)
- 将服务器的异常指标、告警日志发送至 DeepSeek AI 进行深度分析。
- 自动生成易于理解的健康报告、根本原因分析(RCA)及修复建议。
- **`AnomalyDetector`** (异常检测器)
- 使用孤立森林(Isolation Forest)等算法检测服务器性能指标(如 CPU、内存突增)中的非典型波动。
- **`AttackDetector`** (协同攻击检测)
- 关联分析网络连接行为与日志,识别分布式的协同攻击(如慢速连接攻击、僵尸网络扫描)。
- **`TimeSeriesPredictor`** (时间序列预测)
- 基于历史运行数据预测未来 TPS 走势,提前预警可能的服务器卡顿或内存溢出崩溃。
- **`AdaptiveThreshold`** (自适应阈值控制器)
- 学习服务器的历史负载模式,动态调整各项监控告警的触发阈值,有效降低误报率。
---
## 2. 核心安全防护系统 (`com.aluer.security`)
系统最庞大的子模块,提供了从网络层(L3/L4)到应用层(L7)的全方位纵深防御体系。
- **`WebApplicationFirewall (WAF)`** (Web 应用防火墙)
- 针对 Web 控制面板和 API 接口,提供 SQLi、XSS、路径遍历等常见 Web 攻击过滤,并维护客户端请求信誉度。
- **`DDoSProtectionService`** (DDoS 防护引擎)
- 专防分布式拒绝服务攻击,支持识别 SYN Flood、HTTP Flood、UDP 放大攻击及 ICMP Flood,并执行自动 IP 封禁与流量清洗。
- **`IntrusionDetectionService (IDS)` / `IntrusionPreventionSystem (IPS)`** (入侵检测与防御)
- 实时扫描服务器内的恶意行为和越权访问,自动阻断非法连接。
- **`SIEMService`** (安全信息与事件管理)
- 关联不同来源的碎片化事件(如“多次登录失败”+“异常权限变更”),识别出复杂的横向移动或权限提升攻击序列。
- **`IPReputationService` / `GeoIPService`** (IP 信誉与地理位置)
- 基于全局 IP 黑名单及地理位置库进行流量过滤(如一键屏蔽特定国家或高风险云服务商的流量)。
- **`HoneypotService`** (蜜罐诱捕系统)
- 通过暴露诱饵端口或伪造的脆弱接口,吸引并捕获扫描者和攻击者,收集威胁情报。
- **`ZeroTrustArchitectureService`** (零信任架构)
- 实施严格的持续身份验证与最小权限校验,确保内部和外部调用的绝对安全。
- **`AdvancedMalwareDetectionService`** (高级恶意软件扫描)
- 定期扫描服务器内的可疑文件(如被植入后门的插件)及玩家上传的内容。
- **`FirewallService`** / **`NetworkMonitorService`** (防火墙与网络监控)
- 管理底层系统防火墙规则(iptables/ufw),监控进出站流量异常。
---
## 3. 监控与指标采集模块 (`com.aluer.monitor` / `com.aluer.metrics`)
负责全天候收集服务器的运行状态,为 AI 决策和控制台提供数据支撑。
- **`ResourceMonitor`** (系统资源监控)
- 采集底层系统的 CPU 使用率、内存消耗、磁盘 I/O 以及当前 TPS 和在线玩家数。
- **`LogMonitor`** (日志实时分析)
- 实时追踪 Minecraft 服务端(PaperMC)的 `latest.log`,精准捕获异常崩溃堆栈或安全违规日志。
- **`ProcessMonitor`** (进程守护)
- 监控 Minecraft 核心进程的存活状态,在检测到异常崩溃时触发自动重启机制。
- **`ConnectionMonitor`** (网络连接监控)
- 统计并分析入站网络连接的频率,快速检测连接洪水(Connection Flood)或 CC 攻击。
- **`MetricsCollectionService`** (统一指标服务)
- 将各个 Monitor 采集的数据进行标准化和汇总聚合,供前端 Dashboard 和 AI 模型读取。
---
## 4. 自动化运维与核心调度 (`com.aluer.service` / `com.aluer.schedule`)
统筹全局,确保各模块有序运转,并执行具体的自动化操作。
- **`ServerGuardService`** (系统总控台)
- 作为 Spring Boot 的启动核心入口,调度所有监控任务,处理告警分发,协调安全模块与 AI 模块的工作流。
- **`AutoExecutor`** (指令自动化执行器)
- 接收 AI 或安全模块的决策结果,自动将其转化为服务器指令(如踢出玩家、封禁 IP)并执行。
- **`RconClient`** (远程控制台客户端)
- 通过安全的 RCON 协议与 Minecraft 服务端通信,无缝下发管理指令。
- **`ScheduledTaskService`** (计划任务引擎)
- 管理所有周期性任务,例如:定时备份世界数据、清理过期日志、定期生成数据统计报表。
---
## 5. Web API 与交互终端 (`com.aluer.web` / `com.aluer.terminal`)
提供用户友好的交互界面与第三方集成接口。
- **`DashboardController`** (Web 面板 API)
- 提供 RESTful API 接口(如 `/api/status`, `/api/performance`),向前端 Web 界面或 Pterodactyl 等第三方系统暴露实时监控数据、安全日志及配置管理能力。
- **`AITerminal`** (AI 命令行终端)
- 提供基于 Spring Shell 的交互式控制台。允许管理员通过自然语言(如 `ai 帮我分析一下现在的卡顿原因`)与 AI 助手对话,执行复杂的服务器管理操作。
---
## 6. 辅助管理与合规模块
涵盖服务器日常管理的各类垂直功能。
- **`com.aluer.anticheat.AntiCheatService`** (反作弊联动)
- 联动服务器内的反作弊插件,汇总玩家违规行为,进行智能封禁判定。
- **`com.aluer.vpn.VPNDetectionService`** (代理与 VPN 检测)
- 识别并拦截使用代理 IP 或 VPN 的玩家,防止作弊者绕过 IP 封禁。
- **`com.aluer.audit.SecurityAuditService`** (安全审计与日志)
- 记录所有管理员的敏感操作指令和安全事件变更,确保符合安全合规要求。
- **`com.aluer.backup.BackupService`** (自动容灾备份)
- 定时或在遭受攻击前,自动对世界地图(World)、插件配置及数据库进行打包和异地备份。
- **`com.aluer.chat.ChatFilterService`** (聊天过滤)
- 监控游戏内聊天,过滤违规词汇、广告及钓鱼链接。
- **`com.aluer.punishment.PunishmentService`** (惩罚管理)
- 统一管理玩家的封禁(Ban)、踢出(Kick)及禁言(Mute)记录。
---
## 7. 数据模型与配置管理 (`com.aluer.model` / `com.aluer.config`)
- **`ServerGuardConfig`** (全局参数配置)
- 映射 `application.yml` 中的参数,包括:各类安全触发阈值、DeepSeek API 密钥、数据库连接及告警邮箱配置等。
- **`AlertEvent`** (告警数据模型)
- 标准化告警事件结构,包含:告警类型、严重程度、置信度、AI 根因分析及推荐修复动作。
- **`MetricsData`** (性能指标模型)
- 封装服务器在特定时间点的快照数据,用于历史数据回溯和 AI 时序预测。
---
### 架构总结
AluerIII 采用 **高度解耦的插件式架构**,底层通过 Spring 的依赖注入(DI)机制紧密配合。系统形成了一套 **实时监测 -> AI 深度分析 -> 策略下发 -> 自动防御** 的完整闭环,极大地降低了 Minecraft 服务器运维人员的安全管理成本。
+484
View File
@@ -0,0 +1,484 @@
# Aluer 服务器安全防护系统 - 用户手册
## 目录
1. [系统简介](#系统简介)
2. [功能特性](#功能特性)
3. [安装部署](#安装部署)
4. [快速开始](#快速开始)
5. [AI协作终端](#ai协作终端)
6. [命令参考](#命令参考)
7. [配置说明](#配置说明)
8. [预警系统](#预警系统)
9. [常见问题](#常见问题)
---
## 系统简介
Aluer 是一款专为 Minecraft PaperMC 服务器设计的安全防护系统,集成了 AI 智能决策、DDoS 防护、入侵检测等多种安全功能。系统采用 Java + Spring Boot 开发,支持通过终端命令行或自然语言与系统交互。
### 核心特性
- 🤖 **AI 智能决策** - 基于 DeepSeek API 的智能威胁分析
- 🛡️ **多层防御** - DDoS防护、防火墙、入侵检测、VPN检测
- 📧 **邮件预警** - 实时告警通知管理员
- 🔄 **自动备份** - 定时自动备份服务器数据
- 💬 **聊天过滤** - 智能过滤违规内容和广告
---
## 功能特性
### 安全防护模块
| 模块 | 功能说明 |
|------|----------|
| DDoS防护 | 流量清洗、IP封禁、连接限制 |
| 防火墙 | 灵活规则配置、黑白名单 |
| 入侵检测 (IDS/IPS) | 异常行为识别、自动防御拦截 |
| 端口扫描检测 | 防护恶意扫描 |
| IP信誉查询 | 评估IP风险等级 |
| VPN/代理检测 | 识别并封禁VPN用户 |
| 流量分析 | 实时监控网络流量 |
| 数据包检查 (DPI) | 深度包检测与特征匹配 |
### 高级进阶防护
| 模块 | 功能说明 |
|------|----------|
| WAF防火墙 | 针对Web面板和API的恶意请求防护 |
| 蜜罐系统 (Honeypot) | 诱导并捕获恶意攻击者 |
| 零信任架构 (ZTA) | 强制身份验证、严格的权限控制 |
| Cloudflare 集成 | 自动同步真实玩家IP,联动CDN防御 |
| 反作弊集成 | 自动联动服务端反作弊插件,智能判定 |
| 威胁情报中心 | 全局恶意IP库共享与实时更新 |
### AI 自主防御
- 自动威胁检测与分类
- 智能防御策略选择
- 预测性维护建议
- 自动执行防御动作
### 服务器管理
- 定时自动备份(世界、插件、配置)
- 玩家管理(踢出、封禁、解封)
- 世界管理(动态加载、卸载)
- 高级性能监控与分析 (Profiler)
- 安全审计与数据导出 (Data Export)
---
## 安装部署
### 环境要求
- Java 17 或更高版本
- Ubuntu/Debian 服务器
- 2GB+ 可用内存
- 10GB+ 可用磁盘空间
### 安装步骤
#### 1. 上传文件到服务器
```bash
# 在本地打包
cd /path/to/AluerIII
./apache-maven-3.9.6/bin/mvn package -DskipTests
# 上传 jar 包和配置到服务器
scp target/serverguard-1.0.0.jar user@your-server:/opt/aluer/
scp start.sh user@your-server:/opt/aluer/
```
#### 2. 配置系统服务
```bash
# 创建 systemd 服务文件
sudo nano /etc/systemd/system/aluer.service
```
写入以下内容:
```ini
[Unit]
Description=Aluer ServerGuard
After=network.target
[Service]
Type=simple
User=minecraft
WorkingDirectory=/opt/aluer
ExecStart=/usr/bin/java -jar /opt/aluer/serverguard-1.0.0.jar
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
```
#### 3. 启动服务
```bash
sudo systemctl daemon-reload
sudo systemctl enable aluer
sudo systemctl start aluer
# 查看状态
sudo systemctl status aluer
```
---
## 快速开始
### 启动系统
```bash
# 方式1: 直接运行
java -jar serverguard-1.0.0.jar
# 方式2: 使用启动脚本
./start.sh
# 方式3: 使用系统服务
sudo systemctl start aluer
```
### 首次使用
系统启动后会进入交互式终端:
```
╔══════════════════════════════════════════════════╗
║ 欢迎使用 Aluer 服务器安全防护系统 ║
╠══════════════════════════════════════════════════╣
║ 输入 help 查看可用命令 ║
║ 输入 ai <命令> 使用AI智能助手 ║
╚══════════════════════════════════════════════════╝
aluer>
```
---
## AI协作终端
Aluer 的核心特性是可以用自然语言与系统对话。
### 使用方式
在终端输入 `ai` 后跟你的需求:
```
aluer> ai 测试一下服务器
```
系统会自动执行完整服务器测试。
```
aluer> ai 开启防御
```
系统会开启AI自主防御模式。
### 常用对话示例
| 你说 | 系统执行 |
|------|----------|
| 测试一下服务器 | 执行完整测试 |
| 开启防御 | 开启AI防御 |
| 查看安全状态 | 显示安全概览 |
| 帮我备份 | 查看备份记录 |
| 查看世界 | 列出所有世界 |
| 发送预警邮件 | 手动触发预警 |
---
## 命令参考
### 基础命令
#### help - 帮助
```
aluer> help
```
显示所有可用命令。
#### status - 服务器状态
```
aluer> status
```
显示服务器整体状态,包括CPU、内存、连接数等。
#### test - 测试服务器
```
aluer> test # 完整测试
aluer> test cpu # 仅CPU测试
aluer> test memory # 仅内存测试
aluer> test network # 仅网络测试
aluer> test security # 仅安全测试
```
### 安全命令
#### security - 安全状态
```
aluer> security # 安全总览
aluer> security ddos # DDoS防护状态
aluer> security firewall # 防火墙状态
aluer> security intrusion # 入侵检测状态
aluer> security threats # AI威胁检测
aluer> security vpn # VPN检测状态
aluer> security chat # 聊天过滤状态
```
#### defense - 防御管理
```
aluer> defense # 查看防御状态
aluer> defense on # 开启AI防御
aluer> defense off # 关闭AI防御
aluer> defense list # 查看防御策略
aluer> defense level high # 设置防御等级
```
### 管理命令
#### backup - 备份管理
```
aluer> backup # 查看备份记录
aluer> backup create # 创建新备份
aluer> backup status # 备份服务状态
aluer> backup start # 启动定时备份
```
#### kick - 踢出玩家
```
aluer> kick PlayerName
```
#### ban - 封禁玩家
```
aluer> ban PlayerName # 封禁玩家
aluer> ban PlayerName 作弊原因 # 带原因封禁
```
#### unban - 解封玩家
```
aluer> unban PlayerName
```
### 世界管理
#### world - 世界管理
```
aluer> world # 查看世界列表
aluer> world load world_nether # 加载世界
aluer> world unload world_nether # 卸载世界
```
### 网络分析
#### network - 网络分析
```
aluer> network # 网络统计
aluer> network geoip 1.2.3.4 # IP地理位置
aluer> network reputation 1.2.3.4 # IP信誉查询
aluer> network ports # 端口扫描检测
```
### 预警系统
#### alert - 邮件预警
```
aluer> alert # 查看预警状态
aluer> alert test # 发送测试邮件
aluer> alert send 服务器异常 # 手动发送告警
```
### 监控命令
#### metrics - 性能指标
```
aluer> metrics # 指标摘要
aluer> metrics counters # 查看计数器
aluer> metrics gauges # 查看计量器
```
#### audit - 安全审计
```
aluer> audit # 最近审计事件
aluer> audit recent 20 # 查看最近20条
aluer> audit summary # 审计摘要
```
#### tasks - 计划任务
```
aluer> tasks # 查看任务列表
aluer> tasks start # 启动任务服务
```
### AI 命令
#### ask - 向AI提问
```
aluer> ask 如何提高服务器安全性?
```
---
## Web 控制面板与 API
Aluer 内置了轻量级的 Web Dashboard 和 RESTful API,方便与 Pterodactyl 等第三方服务器面板集成,或通过网页端实时查看状态。
### 访问方式
启动系统后,可通过 HTTP 协议访问系统 API 服务。
### 常用 API 接口
| 接口路径 | 方法 | 说明 |
|----------|------|------|
| `/api/status` | GET | 获取系统运行状态及时间戳 |
| `/api/server/info` | GET | 获取 Minecraft 服务器名称与版本信息 |
| `/api/performance` | GET | 获取性能指标(TPS, CPU, 内存) |
| `/api/command/execute` | POST | 远程执行 RCON 命令 (参数: `command`) |
| `/api/backup/list` | GET | 获取所有服务器备份列表 |
| `/api/backup/create` | POST | 触发创建新备份 (参数: `name`) |
| `/api/punishment/list` | GET | 获取封禁与禁言记录统计 |
*(提示:在生产环境中,请务必通过反向代理并配置鉴权,以保护 API 接口安全)*
---
## 配置说明
### 配置文件位置
主配置文件: `src/main/resources/application.yml`
### 核心配置项
#### DeepSeek AI 配置
```yaml
deepseek:
api-key: sk-your-api-key # API密钥
enabled: true # 是否启用
model: deepseek-chat # 模型名称
```
#### RCON 配置(用于连接Minecraft服务器)
```yaml
rcon:
enabled: true
host: localhost
port: 25575
password: your-password
```
#### 邮件预警配置
```yaml
alert:
email:
enabled: true
smtp-host: smtp.qq.com
smtp-port: 587
username: your-email@qq.com
password: your-auth-code
from: your-email@qq.com
to:
- admin@example.com
- backup@example.com
```
#### 安全模块配置
```yaml
security:
ddos:
enabled: true
threshold: 1000 # 连接数阈值
firewall:
enabled: true
intrusion:
enabled: true
alert-level: MEDIUM
```
#### 备份配置
```yaml
backup:
enabled: true
interval-hours: 6 # 备份间隔(小时)
backup-dir: ./backups
world-dir: /path/to/server/world
backup-plugins: true
backup-config: true
```
---
## 预警系统
### 预警类型
系统会自动检测并发送预警:
- ⚠️ 服务器进程停止
- ⚠️ TPS过低
- ⚠️ CPU使用率过高
- ⚠️ 内存使用率过高
- ⚠️ 连接数异常(DDoS攻击)
- ⚠️ 日志中发现攻击行为
- ⚠️ 备份失败
### 手动触发预警
```bash
aluer> alert send 服务器可能遭受攻击
```
### 测试邮件系统
```bash
aluer> alert test
```
---
## 常见问题
### Q: 如何查看AI是否正常工作?
```bash
aluer> ask 你好
```
如果返回AI回答,说明配置正确。
### Q: 收不到邮件预警怎么办?
1. 检查 `application.yml` 中的邮箱配置
2. 确保使用的是授权码而非登录密码
3. 检查垃圾邮件文件夹
### Q: 如何完全停止系统?
```bash
sudo systemctl stop aluer
```
### Q: 如何查看运行日志?
```bash
# Systemd 日志
sudo journalctl -u aluer -f
# 应用日志
tail -f logs/aluer.log
```
### Q: AI防御模式有什么用?
AI防御模式开启后,系统会自动:
- 分析日志中的威胁
- 检测异常流量
- 预测服务器问题
- 自动执行防御动作
### Q: 如何更新系统?
```bash
# 停止服务
sudo systemctl stop aluer
# 备份数据
cp -r /opt/aluer/backups /backup/
# 替换jar包
cp target/serverguard-1.0.0.jar /opt/aluer/
# 重启服务
sudo systemctl start aluer
```
---
## 技术支持
- 问题反馈: https://github.com/aluer/serverguard/issues
- 文档更新: https://docs.aluer.com
---
*Aluer v1.0.0 - 保护您的 Minecraft 服务器*