🔐 平台安全特性
平台以"安全第一"为设计理念,构建了七层纵深防御体系,覆盖账号、访问、数据、操作、接口、运维、合规全场景,全方位保障系统与用户数据安全。
🛡️ 人类账号强密码策略
作为保护用户账号的第一道防线,强制用户使用高强度密码,防止因弱口令导致账号被轻易攻破。
设计理念
遵循最新行业标准,优先强调密码长度而非复杂度,长密码更难被暴力破解,也便于用户记忆。
核心规则
- 最小长度要求:密码长度建议至少 12-16 个字符,支持中英文、数字、特殊字符混合
- 实时强度评估:系统动态检测密码强度,禁止使用
password、123456等常见弱密码及已泄露密码 - 历史密码检查:禁止用户重复使用最近 5 次设置过的密码,避免密码循环使用风险
- 过期与强制重置:支持灵活配置密码有效期,要求用户首次登录必须修改初始密码
⏱️ 登录失败限流 / 锁定
有效防止攻击者通过自动化工具对登录接口进行暴力破解,增加攻击成本。
多维度限流策略
- IP级别限流:限制单个IP地址的登录请求频率,防止分布式暴力破解
- 账号级别锁定:15分钟内连续登录失败5次,系统自动锁定账号30分钟,支持管理员手动解锁
- 渐进式锁定策略:随着失败次数增加,锁定时间逐步延长,智能抵御持续性攻击
技术实现
采用基于 Redis 的滑动窗口限流算法,支持分布式环境下的精准计数和高并发场景下的稳定限流。
🔑 多因素认证 (2FA) 能力
为登录过程增加第二层验证,极大降低凭证泄露后账号被非法访问的风险。
支持的认证方式
TOTP (基于时间的一次性密码)
- 机制:用户通过 Google Authenticator、Microsoft Authenticator 等身份验证器 App,扫描平台生成的二维码绑定账号,登录时输入每30秒刷新一次的动态验证码
- 优势:不依赖网络,成熟稳定,成本极低,安全性高
SMS (短信验证码)
- 机制:系统向用户绑定的手机号发送有时效性的6位数字验证码
- 优势:用户接受度高,使用门槛低,适合大众场景
Passkey (通行密钥)
- 机制:基于 WebAuthn 标准,用户使用设备生物识别(指纹、面部)或 PIN 码进行认证,无需输入密码
- 优势:防钓鱼能力极强,用户体验流畅,是未来认证方式的主推方向
🌐 API Key IP 白名单
允许用户将 API 密钥的使用限制在特定 IP 地址或 IP 段内,即使密钥泄露也无法被非法使用。
防御效果
即使 API Key 意外泄露,攻击者也无法从非白名单 IP 地址使用该 Key 发起请求,从根源防止凭证盗用和未授权访问。
功能支持
- 支持配置单个 IP、IP 段或 CIDR 格式的地址范围
- 支持在 API Key 创建时或创建后随时配置修改
- 系统在处理所有 API 请求时严格校验来源 IP,拒绝所有不在白名单内的请求
🔒 管理后台权限强校验
确保后台各项管理操作均受到严格的权限控制,防止越权访问和操作。
RBAC 权限模型
采用经典的 RBAC (基于角色的访问控制) 模型,实现细粒度权限管理:
- 用户:操作后台的管理员账号
- 角色:权限的集合,如"超级管理员"、"财务审计员"、"模型运维"等
- 权限:对具体功能模块的增、删、改、查等原子操作
安全校验原则
权限校验逻辑必须在后端API层面强制执行,不能仅依赖前端界面的隐藏或禁用。前端调用任何接口,后端均需自动校验当前用户的角色是否具备相应权限,从技术层面杜绝越权操作。
📝 后台敏感操作审计日志
对所有管理后台的敏感操作进行详细记录,确保所有关键动作有迹可循,满足安全审计与合规要求。
记录内容
每条日志包含:操作时间、操作人IP、操作人账号、操作模块、操作类型、操作对象、操作结果、请求参数等关键信息。
敏感操作范围
包括但不限于:
- 账号与权限:创建/删除用户、修改角色权限、修改密码
- 密钥管理:创建、删除、禁用 API Key
- 模型管理:增加、修改、删除模型或 Provider 配置
- 计费与预算:修改模型倍率、调整用户预算
日志安全
审计日志本身进行防篡改和脱敏处理,例如不记录明文密码、密钥等敏感信息,仅授权审计人员可访问。
🔐 Provider Token 安全管理
管理平台底层调用AI服务(如 OpenAI、Anthropic 等)的 API Token,确保其全生命周期安全。
核心安全原则
Token 明文永不向用户展示,用户或管理员只能执行"绑定"、"失效"、"解绑"、"更换"等操作,无法通过界面查看或复制明文 Token。
全链路安全防护
- 安全存储:所有 Provider Token 在数据库中采用 AES-256 强加密算法加密存储
- 传输安全:Token 在传输过程中仅通过后端 API 交互,全程使用 HTTPS 加密
- 使用透明:业务系统请求AI服务时,平台后端从数据库解密 Token 后加入请求头中,整个过程对最终用户完全透明