安全检查清单
对外开放前逐项确认密钥、访问控制、代理、备份与沙箱
向用户开放前用本清单确认。清单描述运维人员的责任,自带 Compose/Kubernetes 文件不会自动让任何一项变为已完成。
密钥与配置
- 替换
SECRET_KEY、POSTGRES_PASSWORD、REDIS_PASSWORD、QDRANT_API_KEY的所有默认值。 - 设置唯一非空的
INTERNAL_API_TOKEN,API、worker、sandbox-worker 共用它访问内部上传网关。 -
.env、Kubernetes Secret manifest、安装器产物不进版本库,文件权限收紧。 - 生产密钥尽量进密钥管理器或外部管理的 Secret,通过维护窗口轮换。
-
API_BASE_URL/API_INTERNAL_BASE_URL用内部服务地址,PUBLIC_API_URL、FRONTEND_URL、BACKEND_CORS_ORIGINS用浏览器可访问的公网 origin。
认证与访问
- 部署保持私有期间再注册首个账户,首个注册用户成为初始超级用户。
- 按策略在管理界面配好会话时长、注册开关、邮箱/SSO 等站点设置。
- 定期检查团队成员与管理员权限,清理不用的 API Key 与集成。
- 启用 MFA/SSO 前先测通身份提供商配置与恢复路径。
网络与代理
- 在外部反向代理或 Ingress 终止 HTTPS,使用有效证书。
- 只公开前端/反向代理端口,PostgreSQL、Redis、Qdrant 与直连 API 端口留在私有网络。
- CORS 只写精确 origin,生产环境不用
*。 - 流式链路用 HTTP/1.1、
proxy_buffering off,读写超时与 1800 秒示例一致。 - 用 RBAC、NetworkPolicy 与 Ingress 策略限制
clouisle命名空间访问。
数据保护与恢复
- 在支持的环境对 PostgreSQL、Qdrant、上传文件与备份存储启用静态加密。
- 按计划备份 PostgreSQL、Qdrant 快照与上传文件;Redis 只存缓存/队列状态,可选备份。
- 异地保留加密副本并定义保留策略。
- 完整恢复(含 Qdrant 与上传文件)已演练,RTO/RPO 已记录。
- 非破坏性场景不运行
docker compose down -v,不删除 PVC。
运行时与沙箱
- 生产镜像用固定 tag/digest,不用
latest,部署前扫描镜像。 - 沙箱文件系统隔离保持开启,保留 Worker 所需的 seccomp/能力配置,改动前先看沙箱加固说明。
- 按威胁模型在宿主机/集群层限制沙箱出站网络与资源。
- Docker、Kubernetes、PostgreSQL、Redis、Qdrant、Bubblewrap、宿主机内核及时打补丁。
日志与事件响应
- 收集并保护 API、worker、beat、frontend、代理日志,排除 token 与密码。
- 轮询
GET /api/v1/health,用管理端可观测接口/仪表盘(需admin:dashboard:access权限)。项目没有内置 Prometheus/metrics端点。 - 对健康检查失败、异常认证、队列积压、磁盘耗尽、备份失败配告警。
- 升级、密钥轮换、隔离、恢复、事后复盘流程已文档化。
这篇文章对你有帮助吗?