文件
hyb-oa/.trellis/tasks/07-26-internal-ops-recovery-baseline/research/live-read-only-baseline.md
T
wangsli 9a624700d0
ci-e2e / e2e (push) Waiting to run
ci-minimal / check-minimal (push) Waiting to run
完成真实成对异机备份(07-26-internal-ops-recovery-baseline)
2026-07-26 21:47:44 +08:00

4.9 KiB

真实内部实例只读基线

边界

  • 核查日期:2026-07-26。
  • 已获得只读核查授权。
  • 未修改远程文件、环境变量、数据库、角色、容器、反向代理或企微配置;未执行备份、恢复、部署和业务写入。
  • 证据只记录布尔值、数量、时间和短构建标识状态,不保存主机名、IP、SSH 别名、Secret、连接串、账号标识或业务正文。

公开入口

检查 结果 判断
HTTPS 首页 200 可访问
TLS 证书 存在,截止 2026-10-19 当前有效,需纳入到期提醒
HSTS 存在 通过
CSP 未发现 非本批 P0,但公网继续使用时列入后续安全任务
/ready data.ok=true 当前进程与基础依赖可用
/ready 构建标识 缺失 无法由公开接口追溯运行 commit

运行来源与迁移

检查 结果 判断
容器 server/db 正在运行,容器内 /ready=true 运行中
运行端口 仍使用历史宿主端口基线 与当前 Compose 基线不一致
BUILD_SHA 容器未配置 无法证明运行来源
前端 build marker 缺失 无法从静态资源证明运行来源
Prisma migration 远端已应用 58,本地当前 61;最新项不匹配 远端落后,禁止直接宣称当前版本已部署
来源门禁复验 PASS,当前提交已发布 已完成普通快进发布,范围 325a795..7658051,未使用覆盖参数

角色和付款职责

只读聚合结果:

  • 活跃员工账号:1。
  • 活跃角色只有 admin 和 employee,属于同一账号的组合。
  • 财务处理角色数量:0。
  • manager/ceo 付款复核候选数量:0。
  • 可形成不同自然人的制单/复核组合:否。
  • 远端旧 schema 尚无当前 system_admin 角色值。

结论:当前真实角色配置不满足付款 maker-checker,也不满足“系统管理员与业务审批职责分开”的当前规约。不得启用真实付款闭环。

备份和恢复

检查 结果 判断
DB dump 7 份 有历史产物
附件 tar 7 份 数量上可配对,但无 manifest 证明批次关系
manifest 0 不符合新成对备份合同
最新产物年龄 约 1316 小时(约 55 天) 明显过期
备份介质 与 DB 数据和附件目录位于同一设备 不构成异机/异盘副本
目录权限 755 备份目录可读范围偏宽,后续应按运维账号收紧
真实恢复证据 无 本地 6 秒合成演练不能替代真实格式影子恢复和 /ready

结论:当前历史备份不能证明满足 RPO 24 小时、异机副本或可恢复性,不得作为正式启用依据。

Go / No-Go

结论:NO_GO_FOR_FORMAL_INTERNAL_USE。

服务当前可访问不等于运行与恢复底线通过。进入下一步前必须按顺序完成:

  1. 已将当前获批代码以普通快进方式发布到 upstream,来源门禁复验为 PASS。
  2. 已在获批后用新成对备份合同生成 DB + 附件 + manifest,并复制到独立主机;两端 manifest 和产物校验通过。
  3. 明确至少一名财务处理人和另一名 manager/ceo 付款复核人;系统管理职责单独分配,应急 admin 独立托管。
  4. 通过获批部署任务升级代码和 3 项迁移,验证 BUILD_SHA、前端 marker、/ready、权限矩阵和回滚点。
  5. 在独立影子目标恢复同一批次 DB/附件,验证应用 /ready 和关键附件引用,记录真实 RPO/RTO。

发布和远程备份已分别获得授权并完成;真实角色写入、部署和影子恢复仍须继续取得明确授权,不能由既有批准推导。

后续获批写入:成对异机备份

  • 执行日期:2026-07-26。
  • 授权范围:生成真实 DB、附件和 manifest 成对备份,并复制到用户指定的另一台主机。
  • 源机与目标机设备指纹不同;未记录主机名、地址、SSH 名称、账号或完整目录。
  • 完整批次:hyb-oa-backup-20260726T133923Z-live,包含 database.dump、storage.tar.gz、manifest.json 三个预期文件,总大小约 9.6 MiB。
  • 源端完整性检查通过;目标端重新计算 DB/附件 SHA-256 并与 manifest 核对通过;两端 manifest 哈希一致。
  • 目标批次目录权限为 700;传输失败产生的单文件残缺副本已精确删除,本机临时暂存数据已安全清理。
  • 运行主机没有宿主 Node.js,因此为成对备份入口增加 Python 3 manifest 等价回退;无 Node 路径已通过完整合成恢复演练,本地参考 RTO 仍为 6 秒。
  • 运行中的 PostgreSQL 容器参数与部署目录环境文件存在漂移;本次只在运行容器参数与活动服务数据库连接相互匹配后执行备份,未修改环境文件。
  • 本次未执行恢复、部署、迁移、角色修改、企微写入或业务写入;真实格式影子恢复和恢复后 /ready 仍无证据。