自部署能让账号、密文和备份留在你控制的环境里,但它不会自动让服务器安全。正式导入真实密码之前,请逐项完成下面的检查,并保存验证结果。

1. 公网只使用 HTTPS

为正式域名配置可信证书,在最外层 TLS 代理启用 HSTS,并确认 HTTP 会跳转到 HTTPS。不要通过 IP、临时域名或自签名证书输入真实凭据。

2. 只暴露统一网关

生产主栈只应向宿主机发布 3033 Web 入口,再由公网反向代理接入。不要直接开放 Sync API、PostgreSQL、Backup Controller 或迁移任务的端口。

3. 为每种用途生成不同秘密

数据库密码、会话密钥、Admin 启动 Code、备份仓库密码和凭据加密密钥应随机生成、彼此不同。生产 .env 和独立密钥文件只允许部署用户读取,并且不能提交到 Git、工单或聊天记录。

4. 完成 Admin 初始化并让一次性 Code 失效

首次启动后,在限定时间内使用一次性 Code 设置至少 12 位的 Admin 密码。初始化成功后,Code 不再作为日常登录凭据;只有仍处于未初始化状态且 Code 过期时才轮换它。

5. 只激活一种用户认证配置

个人部署可以使用本地账号;已有统一身份系统的组织可以配置 OIDC。先测试候选配置,再在 Admin 中激活。为管理员和重要账户启用 MFA,并离线保存恢复码。

6. 验证账户登录与保险库解锁相互独立

用测试用户完成“账户、密码、按需 MFA、保险库主密码”的完整流程。确认错误账户不会泄露是否存在,锁定保险库不会变成退出账户,登录会话也不能绕过本地解锁。

7. 确认数据实际落到宿主机持久化目录

PostgreSQL 数据、默认附件密文和备份工作目录必须使用明确的宿主机挂载。重建容器后再次检查账号、Vault 和附件,避免把容器可写层误当成持久化存储。

8. 备份数据库、附件、配置和密钥

完整恢复点需要 PostgreSQL 一致性转储、附件密文及清单、必要的环境配置和恢复密钥。备份仓库本身也要加密,并把一次性恢复材料保存在仓库之外。

9. 在隔离环境完成一次恢复

不要只看“备份成功”。把快照恢复到空目录和隔离数据库,检查表、附件引用、配置版本和应用健康。恢复演练不能覆盖仍在运行的生产数据。

10. 建立更新、撤销与监控习惯

定期安装系统和 xypass 安全更新,查看异常登录、失败认证、设备与会话。成员离开或设备丢失时及时撤销访问。升级前记录镜像摘要和迁移版本,升级后重新检查 HTTPS、登录、同步和恢复。

以上十项全部通过后,再分批导入真实数据。自部署的价值来自边界可控,而“可控”必须由配置、检查和恢复结果共同证明。