317 lines
12 KiB
Markdown
317 lines
12 KiB
Markdown
|
|
# 后端模块与任务计划
|
|||
|
|
|
|||
|
|
## 系统架构图
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌─────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ 客户端请求 │
|
|||
|
|
└─────────────────────────────┬───────────────────────────────────┘
|
|||
|
|
│
|
|||
|
|
▼
|
|||
|
|
┌─────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ llm-guard-gateway (6201) │
|
|||
|
|
│ 网关服务:路由、认证、限流、过滤 │
|
|||
|
|
└─────────────────────────────┬───────────────────────────────────┘
|
|||
|
|
│
|
|||
|
|
┌───────────────┴───────────────┬───────────────┐
|
|||
|
|
▼ ▼ ▼
|
|||
|
|
┌─────────────────────────┐ ┌─────────────────────────┐ ┌──────────────────┐
|
|||
|
|
│ llm-guard-auth │ │ llm-guard-modules │ │ llm-guard- │
|
|||
|
|
│ 认证服务 │ │ 业务模块 │ │ safeguard │
|
|||
|
|
├─────────────────────────┤ ├─────────────────────────┤ │ 防护服务(待开发) │
|
|||
|
|
│ • 用户登录 │ │ • llm-guard-system │ ├──────────────────┤
|
|||
|
|
│ • Token 签发 │ │ • llm-guard-biz │ │ • 规则匹配 │
|
|||
|
|
│ • 权限认证 │ │ - 用户管理 │ │ • 内容检测 │
|
|||
|
|
└─────────────────────────┘ │ - 角色管理 │ │ • 告警通知 │
|
|||
|
|
│ - 菜单管理 │ │ • 审计记录 │
|
|||
|
|
│ - 部门管理 │ └──────────────────┘
|
|||
|
|
│ - 定时任务 │
|
|||
|
|
│ - 日志审计 │
|
|||
|
|
└─────────────────────────┘
|
|||
|
|
│
|
|||
|
|
▼
|
|||
|
|
┌─────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ 基础设施层 │
|
|||
|
|
├──────────────┬──────────────┬──────────────┬───────────────────┤
|
|||
|
|
│ Nacos │ Sentinel │ Redis │ DM Database │
|
|||
|
|
│ 服务注册 │ 熔断限流 │ 缓存 │ 数据存储 │
|
|||
|
|
│ 配置中心 │ │ │ │
|
|||
|
|
└──────────────┴──────────────┴──────────────┴───────────────────┘
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 后端模块功能
|
|||
|
|
|
|||
|
|
### 一、服务层模块
|
|||
|
|
|
|||
|
|
#### 1. llm-guard-gateway(网关服务)
|
|||
|
|
**端口**: 6201
|
|||
|
|
|
|||
|
|
作为系统的统一入口,负责请求路由和预处理:
|
|||
|
|
- **路由转发**: 将请求转发到对应的微服务
|
|||
|
|
- **统一认证**: JWT Token 验证
|
|||
|
|
- **验证码处理**: 图形验证码生成与校验
|
|||
|
|
- **熔断限流**: 集成 Sentinel 实现服务保护
|
|||
|
|
- **跨域处理**: CORS 配置
|
|||
|
|
- **请求日志**: 统一请求日志记录
|
|||
|
|
|
|||
|
|
#### 2. llm-guard-auth(认证服务)
|
|||
|
|
负责用户身份认证与授权:
|
|||
|
|
- **用户登录**: 用户名密码登录验证
|
|||
|
|
- **Token 签发**: JWT Token 生成
|
|||
|
|
- **Token 刷新**: Token 自动续期
|
|||
|
|
- **权限验证**: 基于角色的访问控制
|
|||
|
|
- **登录日志**: 记录用户登录行为
|
|||
|
|
- **退出登录**: 清除登录状态
|
|||
|
|
|
|||
|
|
#### 3. llm-guard-safeguard(防护服务)[待开发]
|
|||
|
|
核心安全防护模块,处理外来请求的安全检测:
|
|||
|
|
- **规则匹配**: 请求内容与安全规则匹配
|
|||
|
|
- **内容检测**: 文本内容安全检测(敏感词、恶意内容等)
|
|||
|
|
- **告警通知**: 安全事件告警推送
|
|||
|
|
- **审计记录**: 安全检测日志记录
|
|||
|
|
- **规则管理**: 安全规则的增删改查
|
|||
|
|
- **黑名单管理**: IP/用户黑名单管理
|
|||
|
|
- **白名单管理**: IP/用户白名单管理
|
|||
|
|
- **统计分析**: 安全事件统计分析
|
|||
|
|
|
|||
|
|
#### 4. llm-guard-modules-system(系统管理)
|
|||
|
|
核心系统管理功能:
|
|||
|
|
- **用户管理**: 用户增删改查、密码重置、状态管理
|
|||
|
|
- **角色管理**: 角色定义、权限分配、数据权限
|
|||
|
|
- **菜单管理**: 菜单配置、权限关联
|
|||
|
|
- **部门管理**: 组织架构管理
|
|||
|
|
- **岗位管理**: 岗位定义与维护
|
|||
|
|
- **字典管理**: 系统字典类型与数据维护
|
|||
|
|
- **参数配置**: 系统参数动态配置
|
|||
|
|
- **通知公告**: 系统公告发布
|
|||
|
|
- **日志管理**: 操作日志、登录日志
|
|||
|
|
- **定时任务**: 任务调度与管理
|
|||
|
|
|
|||
|
|
#### 5. llm-guard-modules-biz(业务模块)
|
|||
|
|
LLM 安全防护的核心业务模块,提供规则管理和配置功能:
|
|||
|
|
|
|||
|
|
**攻击防护(RuleAttack)**
|
|||
|
|
- 注入攻击防护:SQL、SHELL、CODE、FILE、LDAP、XSS 等注入检测
|
|||
|
|
- 提示词安全:Prompt 注入攻击检测
|
|||
|
|
- DDOS 防护
|
|||
|
|
- 协议安全
|
|||
|
|
- 漏洞防护
|
|||
|
|
|
|||
|
|
**内容管控-内容审核(RuleAuditContent)**
|
|||
|
|
- 检测范围配置:用户提问、模型回复、推理过程
|
|||
|
|
- 敏感词库管理
|
|||
|
|
- 风险等级划分:低、中、高、紧急
|
|||
|
|
- 处理动作配置:拦截、替换
|
|||
|
|
- 拒绝描述配置
|
|||
|
|
|
|||
|
|
**内容管控-数据识别(RuleAuditDlp)**
|
|||
|
|
- 敏感数据识别:
|
|||
|
|
- 身份证号
|
|||
|
|
- 手机号
|
|||
|
|
- 银行卡号
|
|||
|
|
- 密钥类(ACCESS_KEY)
|
|||
|
|
- 自定义正则
|
|||
|
|
- 命中区域:请求头、请求体、URL 查询条件
|
|||
|
|
- 处理策略:全遮盖、保留首位、截断、直接阻断
|
|||
|
|
|
|||
|
|
**访问控制-IP 规则(RuleVisitIp)**
|
|||
|
|
- IP 白名单管理
|
|||
|
|
- IP 黑名单管理
|
|||
|
|
- 支持正则匹配和网段匹配
|
|||
|
|
- 作用范围:全局、智能体会话服务、多模态服务、语义服务
|
|||
|
|
- 生效时间控制
|
|||
|
|
|
|||
|
|
**访问控制-接口规则(RuleVisitInterface)**
|
|||
|
|
- 接口访问规则配置
|
|||
|
|
- 请求类型控制:PUT/POST/DELETE/GET/ALL
|
|||
|
|
- 作用范围配置
|
|||
|
|
- 生效时间控制
|
|||
|
|
|
|||
|
|
**访问控制-自定义规则(RuleVisitRequest)**
|
|||
|
|
- 自定义匹配条件:
|
|||
|
|
- 正则匹配
|
|||
|
|
- 全等匹配
|
|||
|
|
- 包含匹配
|
|||
|
|
- 前缀匹配
|
|||
|
|
- 命中区域:请求头、请求体、URL 查询条件
|
|||
|
|
- 处理动作:拦截、允许
|
|||
|
|
- 作用范围和生效时间控制
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 二、公共模块(llm-guard-common)
|
|||
|
|
|
|||
|
|
| 模块 | 功能 |
|
|||
|
|
|------|------|
|
|||
|
|
| llm-guard-common-core | 核心公共组件:注解、上下文、领域对象、枚举、异常、工具类 |
|
|||
|
|
| llm-guard-common-security | 安全组件:登录认证、Token 处理、权限注解、安全配置 |
|
|||
|
|
| llm-guard-common-redis | 缓存组件:Redis 配置、缓存服务、注解支持 |
|
|||
|
|
| llm-guard-common-log | 日志组件:日志记录、@Log 注解、AOP 切面、日志过滤器 |
|
|||
|
|
| llm-guard-common-datasource | 数据源组件:数据源配置、动态数据源、事务管理 |
|
|||
|
|
| llm-guard-common-datascope | 数据权限:@DataScope 注解、基于部门/角色的数据过滤 |
|
|||
|
|
| llm-guard-common-sensitive | 数据脱敏:@Sensitive 注解、字段脱敏处理 |
|
|||
|
|
| llm-guard-common-mybatisplus | ORM 组件:BaseEntity 基础实体、字段填充、分页插件 |
|
|||
|
|
| llm-guard-common-swagger | API 文档:Swagger 配置、接口分组 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 三、API 模块(llm-guard-api)
|
|||
|
|
|
|||
|
|
| 模块 | 功能 |
|
|||
|
|
|------|------|
|
|||
|
|
| llm-guard-api-system | 系统相关接口定义(Feign 接口) |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 任务计划
|
|||
|
|
|
|||
|
|
### 阶段一:基础完善(进行中)
|
|||
|
|
|
|||
|
|
- [ ] **网关服务完善**
|
|||
|
|
- [ ] 完善路由配置
|
|||
|
|
- [ ] 优化过滤器链
|
|||
|
|
- [ ] 完善限流规则
|
|||
|
|
|
|||
|
|
- [ ] **认证服务优化**
|
|||
|
|
- [ ] 优化 Token 管理
|
|||
|
|
- [ ] 完善刷新机制
|
|||
|
|
- [ ] 增加多端登录控制
|
|||
|
|
|
|||
|
|
- [ ] **系统管理模块完善**
|
|||
|
|
- [ ] 补充用户管理功能
|
|||
|
|
- [ ] 完善角色权限管理
|
|||
|
|
- [ ] 优化菜单管理
|
|||
|
|
|
|||
|
|
- [ ] **测试与文档**
|
|||
|
|
- [ ] 补充单元测试
|
|||
|
|
- [ ] 完善 API 文档
|
|||
|
|
- [ ] 编写使用手册
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 阶段二:防护模块开发(待启动)
|
|||
|
|
|
|||
|
|
- [ ] **llm-guard-safeguard 模块搭建**
|
|||
|
|
- [ ] 创建模块基础结构
|
|||
|
|
- [ ] 配置 Nacos 注册发现
|
|||
|
|
- [ ] 配置 Gateway 路由规则
|
|||
|
|
- [ ] 配置数据库连接
|
|||
|
|
|
|||
|
|
- [ ] **规则引擎设计**
|
|||
|
|
- [ ] 设计规则数据模型
|
|||
|
|
- [ ] 实现规则匹配引擎
|
|||
|
|
- [ ] 支持多种规则类型:
|
|||
|
|
- [ ] 关键词匹配
|
|||
|
|
- [ ] 正则表达式匹配
|
|||
|
|
- [ ] AI 检测
|
|||
|
|
- [ ] 规则优先级管理
|
|||
|
|
- [ ] 规则生效时间控制
|
|||
|
|
|
|||
|
|
- [ ] **内容检测功能**
|
|||
|
|
- [ ] 敏感词检测
|
|||
|
|
- [ ] 恶意内容识别
|
|||
|
|
- [ ] 注入攻击检测(SQL 注入、XSS 等)
|
|||
|
|
- [ ] 越权访问检测
|
|||
|
|
- [ ] 频率限制检测
|
|||
|
|
|
|||
|
|
- [ ] **告警通知功能**
|
|||
|
|
- [ ] 告警规则配置
|
|||
|
|
- [ ] 告警级别定义
|
|||
|
|
- [ ] 多渠道告警:
|
|||
|
|
- [ ] 邮件告警
|
|||
|
|
- [ ] 短信告警
|
|||
|
|
- [ ] 钉钉告警
|
|||
|
|
- [ ] 企业微信告警
|
|||
|
|
- [ ] 告警去重与聚合
|
|||
|
|
- [ ] 告警恢复通知
|
|||
|
|
|
|||
|
|
- [ ] **审计记录功能**
|
|||
|
|
- [ ] 检测日志记录
|
|||
|
|
- [ ] 告警日志记录
|
|||
|
|
- [ ] 操作审计追踪
|
|||
|
|
- [ ] 日志查询与导出
|
|||
|
|
|
|||
|
|
- [ ] **黑白名单管理**
|
|||
|
|
- [ ] IP 黑白名单
|
|||
|
|
- [ ] 用户黑白名单
|
|||
|
|
- [ ] 设备指纹管理
|
|||
|
|
- [ ] 黑名单自动过期
|
|||
|
|
|
|||
|
|
- [ ] **统计分析**
|
|||
|
|
- [ ] 安全事件统计
|
|||
|
|
- [ ] 趋势分析
|
|||
|
|
- [ ] 可视化报表
|
|||
|
|
- [ ] 风险评估
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 阶段三:性能优化(待启动)
|
|||
|
|
|
|||
|
|
- [ ] **接口性能优化**
|
|||
|
|
- [ ] 接口响应时间优化
|
|||
|
|
- [ ] 批量操作优化
|
|||
|
|
- [ ] 异步处理优化
|
|||
|
|
|
|||
|
|
- [ ] **缓存策略优化**
|
|||
|
|
- [ ] 缓存预热
|
|||
|
|
- [ ] 缓存更新策略
|
|||
|
|
- [ ] 缓存穿透/击穿/雪崩防护
|
|||
|
|
|
|||
|
|
- [ ] **数据库优化**
|
|||
|
|
- [ ] SQL 查询优化
|
|||
|
|
- [ ] 索引优化
|
|||
|
|
- [ ] 分表分库方案
|
|||
|
|
|
|||
|
|
- [ ] **分布式缓存优化**
|
|||
|
|
- [ ] Redis 集群方案
|
|||
|
|
- [ ] 缓存一致性方案
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 阶段四:监控告警(待启动)
|
|||
|
|
|
|||
|
|
- [ ] **服务监控**
|
|||
|
|
- [ ] 完善健康检查
|
|||
|
|
- [ ] 服务熔断降级优化
|
|||
|
|
|
|||
|
|
- [ ] **业务监控**
|
|||
|
|
- [ ] 接口调用量监控
|
|||
|
|
- [ ] 错误率监控
|
|||
|
|
- [ ] 业务指标监控
|
|||
|
|
|
|||
|
|
- [ ] **告警系统**
|
|||
|
|
- [ ] 监控告警规则
|
|||
|
|
- [ ] 告警通知渠道
|
|||
|
|
- [ ] 告警处理流程
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 数据库设计
|
|||
|
|
|
|||
|
|
### 现有数据表
|
|||
|
|
|
|||
|
|
| 表名 | 说明 |
|
|||
|
|
|------|------|
|
|||
|
|
| d_sys_user | 用户表 |
|
|||
|
|
| d_sys_role | 角色表 |
|
|||
|
|
| d_sys_menu | 菜单表 |
|
|||
|
|
| d_sys_dept | 部门表 |
|
|||
|
|
| d_sys_post | 岗位表 |
|
|||
|
|
| d_sys_dict_type | 字典类型表 |
|
|||
|
|
| d_sys_dict_data | 字典数据表 |
|
|||
|
|
| d_sys_config | 参数配置表 |
|
|||
|
|
|
|||
|
|
### 业务模块数据表(llm-guard-biz)
|
|||
|
|
|
|||
|
|
| 表名 | 说明 |
|
|||
|
|
|------|------|
|
|||
|
|
| d_rule_attack | 攻击防护规则表 |
|
|||
|
|
| d_rule_audit_content | 内容审核规则表 |
|
|||
|
|
| d_rule_audit_dlp | 数据识别规则表 |
|
|||
|
|
| d_rule_visit_ip | IP 规则表 |
|
|||
|
|
| d_rule_visit_interface | 接口规则表 |
|
|||
|
|
| d_rule_visit_request | 自定义规则表 |
|
|||
|
|
|