diff --git a/doc/Linux生产流程测试记录.md b/doc/Linux生产流程测试记录.md index c3f5be4..83ab32f 100644 --- a/doc/Linux生产流程测试记录.md +++ b/doc/Linux生产流程测试记录.md @@ -1,5 +1,39 @@ # Linux 生产流程测试记录 +## 最新执行记录(2026年10月1日21:12,双机密码重置接口安全收敛) + +本节覆盖下方同项待部署状态;本轮是保留业务数据的安全升级回归,不是清库首次部署验收。没有新增辅助验收脚本,未操作历史恢复锁和事务,也未关闭 TLS 或 SSH 主机身份校验。 + +### 候选与代码 + +- 源码修复:`9c58c5b`,已推送;此前仅检查说明文字,公开响应仍含本机命令处理标识,本次已纠正为通用联系管理员标识。 +- 前端 241 项通过;后端 `go test ./...`、`go vet ./...`、`go build ./...` 通过;差异检查通过。外部依赖的条件跳过项不计作实机通过。 +- 正式包:`build/release-20261001-reset-api/Scert-20261001-V0.1.0-linux-amd64.tar.gz`;构建记录 `source_dirty=false`,发布路径检查通过。 +- 归档 SHA-256:`629f99ae7fdc068cad2fab19900dd4079df023576d148a8a252c6e3ee24cf66f`。 +- 主程序 SHA-256:`8c20f38d0bf2f38d33ed97e75871e3d7bda4cd9a980ab44e495550e48ac8d41a`,本地候选与两台安装后的程序一致。 + +### 双机部署与运行边界 + +- 两台均使用密码 SCP、密码 SSH 和已登记主机严格校验;归档和包内 `SHA256SUMS` 全部通过,在全新临时目录解包,停止 Scert 相关服务后运行正式安装器,随后恢复主服务与目录 socket。 +- 第二台安装事务:`/scert/.install-NcgAAfQK`;第一台安装事务:`/scert/.install-iJiDqDcn`。由正式安装器按既有保护机制保留旧发布文件,未额外创建备份,不据此宣称备份恢复验收通过。 +- 两台 Scert、目录 socket、Nginx 为 active,主程序哈希一致;两台 `nginx -t` 通过。第一台既有邮件服务仍为 active。 +- 双机 Scert、MySQL、MySQL X Protocol 分别仅绑定回环 8443、3306、33060;两服务器跨机探测对方这些公网端口,六次均在三秒后超时(退出码 124)。本机 TCP 探测曾显示连接建立,与服务端监听证据不一致,因此不采纳本机探测为直接公网可达证据。 +- 第二台公开首页与就绪检查正常,Nginx 到 Scert 保持 HTTPS 与上游证书校验。第一台使用既有管理 IP 证书作信任锚,保持 IP SAN 校验,通过连接映射访问回环服务,就绪返回 ready;不把此项算作第一台公开域名入口验收。 + +### 页面与接口实证 + +- 第二台关闭旧页面并创建全新隔离浏览器上下文,通过正式页面输入账户并查询;页面没有维护命令、管理入口名称、操作系统命令指引或代码块,未出现水平溢出。 +- 实际公开查询 HTTP 200,处理标识为 `contact_administrator`;不含本机命令标识、可执行维护命令、重置地址、令牌或 nonce,也不设置 Cookie。 +- 第一台通过校验证书的回环 HTTPS 连接查询,返回同一通用处理标识;并未关闭 TLS 验证。 +- 本次修复不改变本机受控重置权限,也不证明真实验证码发送和新密码登录通过。 + +### 未完成项 + +- 两服务器系统解析器查询 `web.solit.cn` 均返回 NXDOMAIN;第一台对公共解析器的额外查询超时,超时不计作 NXDOMAIN 证据。真实系统通知 SMTP 参数及实际投递仍缺证据。 +- 继续执行 Linux 部署负向恢复、历史事务核查、数据库支持矩阵、备份恢复、清库首次初始化与完整业务验收;Windows 按用户要求暂不处理。 +- [x] 本次页面和接口安全信息收敛及双机升级回归完成,等待复审。 +- [!] 整体生产部署验收保持未放行。 + ## 最新执行记录(2026年10月1日,密码重置页面安全信息收敛) - [x] 公开密码重置页面已移除本机管理命令、操作系统命令和 `Scert-admin` 入口名称。 diff --git a/doc/Scert整改任务执行清单.md b/doc/Scert整改任务执行清单.md index 7b9344a..d9a7a70 100644 --- a/doc/Scert整改任务执行清单.md +++ b/doc/Scert整改任务执行清单.md @@ -1,5 +1,19 @@ # Scert 整改任务执行清单 +## 当前有效任务看板(2026年10月1日21:12,双机安全接口候选) + +需求确认:公开页面和接口均不得暴露可执行维护命令或入口名称;只推进 Linux。本节覆盖下方本项待构建、待部署的历史记录,不扩大为整个密码重置流程验收通过。 + +- [x] T4-3-1:公开查询与状态接口使用通用联系管理员标识,修复提交 `9c58c5b` 已推送。 +- [x] T4-3-2:整个公开响应的命令信息检查、入口和令牌字段检查、无重置 Cookie 回归,以及前端 241 项、后端全量测试、静态检查和构建通过。 +- [x] T4-3-3:干净源码正式 Linux 候选完成双机密码 SSH 安装,全部包内校验通过,线上程序哈希一致。 +- [x] T4-3-4:第二台隔离浏览器页面查询和公开接口复核完成;第一台使用实际管理证书作信任锚,在校验 IP SAN 的回环连接中验证接口与就绪状态。 +- [x] T5-5 端口子项:双机内部服务回环监听,两服务器互测公网内部端口超时,第二台严格 TLS 反代保持;既有邮件服务不受影响。 +- [!] T4-3 实发闭环:两服务器查询邮件管理域名均为 NXDOMAIN;真实系统通知 SMTP、验证码收件、新密码登录仍需完成。 +- [~] T5-6:继续部署负向恢复、多目标部分失败、历史恢复事务及重试幂等,保留现场,不修改业务数据伪造成功。 +- [ ] Linux 最终清库首次流程、数据库矩阵、备份恢复与完整业务验收尚未补齐。 +- [!] Windows 实机工作按用户要求不在本轮执行;整体 Linux 生产验收保持未放行。 + ## 当前有效任务看板(2026年10月1日,密码重置页面安全信息收敛) - [x] T4-3 安全页面子项:公开密码重置页面不再显示 Linux、Windows、本机管理命令或 `Scert-admin` 入口名称。 diff --git a/doc/Scert整改合并优化清单.md b/doc/Scert整改合并优化清单.md index e04155f..472759c 100644 --- a/doc/Scert整改合并优化清单.md +++ b/doc/Scert整改合并优化清单.md @@ -1,5 +1,19 @@ # Scert 整改、合并与优化清单 +## 当前有效进度(2026年10月1日21:12,双机密码重置接口安全复核) + +本节覆盖下方较早的候选版本与待部署状态。需求沿用原清单;按用户最新要求,本轮只推进 Linux 上线,不处理 Windows,不把 Windows 未验收当成本轮上线阻塞。 + +- [x] 安全接口整改:发现公开查询仍返回本机命令处理标识,已改为通用联系管理员标识;登录后的状态接口同步收敛。不是仅隐藏页面文字。 +- [x] 自动化门禁:前端 241 项测试、后端全量测试、静态检查、构建通过;公开查询回归扩大到整个响应,仍检查不返回重置入口、令牌和会话 Cookie。 +- [x] 正式构建:源码提交 `9c58c5b`,工作区干净;正式 Linux amd64 候选构建及路径检查通过,已推送修复。 +- [x] 双机安装:同一候选已通过密码 SSH、严格主机身份校验、归档和包内校验、正式安装器部署;两台主程序哈希一致,主服务、目录 socket、Nginx 均运行。 +- [x] 页面与接口复核:第二台在新建隔离浏览器上下文中重新查询超级管理员,仅显示通用维护说明,无命令、入口名称或代码块;线上接口不返回本机命令标识、重置链接、令牌或 Cookie。第一台通过校验证书的回环连接验证同一接口与就绪检查。 +- [x] 端口边界:双机内部服务仅绑定回环 8443、3306、33060,两服务器互相探测这些公网端口全部超时;第二台 Nginx 上游证书验证保持开启。第一台既有邮件业务保持运行,未修改其业务端口。 +- [!] Smail:两服务器系统解析器查询邮件管理域名均返回 NXDOMAIN;尚无可用系统通知 SMTP 参数,真实投递、验证码重置及新密码登录闭环未通过。不猜测主机、凭据,不降低 TLS 校验。 +- [~] 剩余 Linux 门禁:部署负向恢复与历史事务核查、数据库支持矩阵、备份恢复、清库首次初始化及完整业务回归继续推进。本轮保留业务数据的安全升级不计作清库验收。 +- [!] 总体结论:本次页面及接口信息暴露项已完成实机复核,等待复审;整体生产部署验收仍未放行,不给出缺乏逐项证据的完成百分比。 + ## 当前有效进度(2026年10月1日,密码重置页面安全信息收敛) - [x] 已移除公开密码重置页面中的 Linux、Windows、本机管理命令和 `Scert-admin` 入口名称,避免未认证页面暴露可执行维护信息。