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