diff --git a/doc/Linux生产流程测试记录.md b/doc/Linux生产流程测试记录.md index c3a1389..f325d7c 100644 --- a/doc/Linux生产流程测试记录.md +++ b/doc/Linux生产流程测试记录.md @@ -1,5 +1,36 @@ # Linux 生产流程测试记录 +## 2026年10月2日实机进度更新(MySQL 5.7) + +本节仅记录非敏感测试结果,不写入口令、RAM 密钥、数据库密码、令牌或其他认证信息。测试均使用隔离目录和正式发行程序副本,未创建辅助验收脚本,未开放额外外部端口;总体生产验收仍未放行。 + +### 第二台 Linux 实机:MySQL 5.7.44 隔离实例 + +- 官方 MySQL 5.7.44 Linux x86_64 包 SHA-256:`798ff0a14cdc1ab259f8a3b6a7f683403e9bbaa85957d82e5370f82b27ba6805`。 +- 隔离实例位于 `/var/tmp/scert-mysql57-20261001`,由非 root 用户运行,随机端口且仅监听 `127.0.0.1`,启用严格 TLS、CA 校验和主机名校验。 +- 数据库迁移全套测试退出码为 0;0 至 18 版本升级、DDL 中断恢复边界、业务数据保留、TLS 与错误主机名、强制安全传输、重启持久化、连接池断线与恢复、项目成员资源迁移重试及历史范围迁移均通过。 +- 线上 MySQL 8.0、Scert 和 Smail 未被测试实例替换或修改。 + +### 第一台 Linux 实机:正式发行程序 CLI + +- 正式发行程序复制到隔离测试目录后哈希与线上 `/scert/scert` 一致,未修改线上文件权限或内容。 +- CLI 的全部 `TestMySQLReal*` 实库测试退出码为 0;官方 MySQL 客户端与 `mysqldump` 互操作,以及表、视图、触发器、例程、事件、权限、目录可见性、快照和恢复规划测试均通过。 +- 完整日志保存在远程隔离测试目录的 `test-results/cli-full.log`,未将认证信息写入日志或提交。 + +### 误报修正与安全边界 + +- 连接池专项首次失败不是产品故障:MySQL 5.7 正常关闭约需 17 秒,测试夹具固定等待 15 秒后误报;提交 `a139e6b` 将等待上限调整为 30 秒,修复后专项及完整数据库套件均通过。 +- 双机 Scert、Smail 和系统数据库服务保持原有运行状态;内部数据库及管理端口仅回环监听,公网入口继续限制为 Nginx 80/443。 +- 本轮未清库、未触发真实密码变更或邮件投递、未删除历史事务或锁、未补造恢复证据;因此本轮结果不能替代最终清库首次生产验收。 + +### 尚未放行的生产门禁 + +- [~] P0-10 其余负向窗口、锁归属和摘要不匹配的实机验证。 +- [!] 以下两条历史 `recovery_required` 事务仍缺可信恢复证据,不得删除锁、修改事务终态或补造证据:`20260930-231310.231207974-5bf9d1e37542`、`20260930-231313.144123222-ce71b1dfe14e`。 +- [ ] 完整三数据库 Web 生产流程、最终清库后的首次初始化与完整业务验收。 +- [ ] Smail 系统账户真实 SMTP 发信、验证码密码重置和改密后重新登录闭环。 +- [!] 第一台公网平台或备案限制不能用本机结果替代;Windows 不在本轮范围。 + ## 公开密码重置账户枚举修复与双机复核(2026年10月1日22:50,北京时间) ### 范围与开发 diff --git a/doc/Scert整改任务执行清单.md b/doc/Scert整改任务执行清单.md index 7b261f5..89f6538 100644 --- a/doc/Scert整改任务执行清单.md +++ b/doc/Scert整改任务执行清单.md @@ -1,5 +1,16 @@ # Scert 整改任务执行清单 +## 2026年10月2日进度更新(MySQL 5.7 实机复核) + +本次记录不包含服务器口令、RAM 密钥、数据库密码、令牌或其他认证信息。当前总体验收仍处于 P0-03 完成待复审,不能以局部数据库通过替代生产验收。 + +- [x] 第二台 Linux 实机 MySQL 5.7.44 隔离实例全套测试通过,退出码为 0;覆盖迁移、DDL 中断恢复、数据保留、严格 TLS、重启持久化、连接池断线恢复、重试和历史范围迁移。 +- [x] 第一台 Linux 实机正式发行程序 CLI 的 MySQL 5.7 实库测试通过,退出码为 0;官方 MySQL 客户端及 `mysqldump` 互操作、对象权限、目录可见性、快照与恢复规划均已复核。 +- [x] 测试实例使用非 root 用户和回环监听,未连接线上 MySQL 8.0,未重启或修改 Smail,公网仍只使用 Nginx 80/443。 +- [x] 已修正 MySQL 5.7 正常关闭耗时造成的测试夹具误报:等待上限由 15 秒调整为 30 秒,提交 `a139e6b` 已推送;修复后专项与完整数据库测试均通过。 +- [~] 待复审:P0-10 剩余负向窗口、锁归属和摘要不匹配,历史恢复事务证据,完整三数据库 Web 矩阵及最终清库首次流程。 +- [!] 暂缓或阻塞:系统账户 SMTP 真实投递、验证码密码重置闭环、改密后重新登录闭环,以及第一台公网平台限制;不得宣称总体生产验收完成。 + ## 当前有效安全任务结果(2026年10月1日22:50) - [✓] 需求确认:所有合法用户名、邮箱均使用同一公开处理提示,不披露账号存在性、角色、命令、重置地址或凭据。 diff --git a/doc/Scert整改合并优化清单.md b/doc/Scert整改合并优化清单.md index 2617e18..a733195 100644 --- a/doc/Scert整改合并优化清单.md +++ b/doc/Scert整改合并优化清单.md @@ -1,5 +1,17 @@ # Scert 整改、合并与优化清单 +## 2026年10月2日进度更新(MySQL 5.7 实机复核) + +本次仅补充非敏感验收记录,不记录服务器口令、RAM 密钥、数据库密码、令牌或其他认证信息。总体生产验收仍未放行,当前继续按 P0-03 待复审状态推进。 + +- [x] 第二台 Linux 实机 MySQL 5.7.44 隔离实例全套测试通过,退出码为 0;覆盖迁移、DDL 中断恢复、业务数据保留、严格 TLS、错误主机名、强制安全传输、重启持久化、连接池断线与恢复、迁移重试及历史范围迁移。 +- [x] 第一台 Linux 实机正式发行程序 CLI 的 MySQL 5.7 实库测试全部通过,退出码为 0;覆盖官方客户端及 `mysqldump` 互操作、表、视图、触发器、例程、事件、权限、目录可见性、快照和恢复规划等场景。 +- [x] MySQL 5.7.44 官方测试包校验值已记录:`798ff0a14cdc1ab259f8a3b6a7f683403e9bbaa85957d82e5370f82b27ba6805`;测试实例由非 root 用户运行,仅回环监听并启用严格 TLS,未修改线上 MySQL 8.0 或 Smail 服务。 +- [x] 连接池专项首次失败已定位为测试夹具固定等待 15 秒导致的误报;MySQL 5.7 正常关闭实际约 17 秒,已将隔离实例正常关闭等待上限调整为 30 秒,提交 `a139e6b` 已推送;修复后专项及完整数据库套件均通过。 +- [x] 双机内部数据库端口仍仅回环监听,公网仅保留 Nginx 80/443;本轮没有开放额外外部端口、没有创建辅助验收脚本、没有清理或改写历史恢复证据。 +- [~] 继续推进:P0-10 其余负向窗口、锁归属及摘要不匹配实机验证,历史 `recovery_required` 事务的可信恢复证据,完整三数据库 Web 流程,以及最终清库后的首次生产初始化和业务验收。 +- [!] 仍未完成:Smail 系统账户真实发信、验证码密码重置与改密后重新登录闭环、第一台公网平台限制复核;总体生产验收不得标记为通过。 + ## 当前有效整改进度(2026年10月1日22:50,公开查询账户枚举修复) 本节更新22:31所记账户枚举阻塞;只关闭该具体漏洞,不扩大为密码重置全流程或总体生产验收通过。