12 KiB
12 KiB
后端模块与任务计划
系统架构图
┌─────────────────────────────────────────────────────────────────┐
│ 客户端请求 │
└─────────────────────────────┬───────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ 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 | 自定义规则表 |