安全
本页汇总面向自托管部署的运维安全指引。漏洞报告请参见仓库根目录的
SECURITY.md。
投入生产之前
- 替换所有默认密钥:
JWT_SECRET_KEY、PostgreSQL 密码、MINIO_ACCESS_KEY/MINIO_SECRET_KEY(以及对应的JUICEFS_*凭据)和 Vault token。 - 为
APP_URL和PUBLIC_BASE_URL使用 HTTPS。OAuth 回调和大多数 渠道 webhook 都要求 HTTPS。 - 将 PostgreSQL、Redis、MinIO、Vault、Ollama 和沙箱服务限制在私有
Docker 网络内。只有
web服务(以及你使用的反向代理,如果有) 应能从外部访问。 - 启用限流(
RATE_LIMIT_ENABLED、CHAT_RATE_LIMIT_ENABLED,运行多个 API worker 时再 加上REDIS_RATE_LIMIT_ENABLED)。 - 配置备份并测试恢复 (备份与恢复)。
- 为敏感的 Agent 操作要求人工审批(HITL), 并把 Agent 工具作用域限制到每个 Agent 实际需要的范围。
- 定期轮换服务商凭据。
- 在对外暴露部署之前,删除或修改预置的演示账号。
机密
绝不要提交 .env、服务商密钥、OAuth 密钥、webhook 密钥、数据库密码
或生产日志。
静态存储时,集成凭据通过 Vault transit 后端加密(VAULT_TOKEN、
VAULT_TRANSIT_KEY)。Compose 栈自带一个本地开发用 Vault;生产环境
要么保护好其存储,要么把 Manor 指向外部 Vault。
模型服务商密钥采用 BYOK,通过“设置”页面录入——它们(加密后)保存 在你部署的数据库中,绝不进入源码或镜像。
会话与账号安全
- 访问 JWT 使用
JWT_SECRET_KEY签名,默认有效期为 24 小时 (JWT_EXPIRE_MINUTES,最长 24 小时)。Remember me 创建可撤销的 HttpOnly 浏览器会话,凭据轮换,但有效期固定为登录后的 30 天。 退出登录或修改密码会使已有登录凭据失效。 - 用户可以在设置 → 安全中启用双因素认证(TOTP)并查看活跃会话。
- 用于程序化访问的 API 密钥在设置 → API 密钥