diff --git a/doc/Linux生产流程测试记录.md b/doc/Linux生产流程测试记录.md index fea73c1..0909b79 100644 --- a/doc/Linux生产流程测试记录.md +++ b/doc/Linux生产流程测试记录.md @@ -1,5 +1,30 @@ # Linux 生产流程测试记录 +## 2026年10月3日22:44 多对多、恢复负向与外部门禁 + +### 正确域名的第二组双机推送 + +- 核对两台 Nginx 的真实站点均为 `scert-multi-20260930.apmmk.cn`,没有 `.odacm.cn` 的同名前缀站点;原失败记录和锁未修改。 +- 经正式 API 创建正确域名 `b6824906-fea9-4f2a-a682-3c2b1ade1ee3` 并绑定原两台服务器,分别返回 201、200;导入已有有效正式证书,未重新签发,也未展示或记录私钥内容。该测试域名关闭自动续期,避免本轮导入引发额外签发。 +- 导入任务 `af31d106-9231-4659-bab1-bca2932f8ff4` 于 22:38:41—22:38:56 完成,success=2、failed=0、verification_status=success、certificate_imported=true。 +- 两条事务 `20261003-143842.607984571-0bffe1eb5ef9`、`20261003-143848.492916882-246b37ecbcc4` 均 committed;双机证书 SHA-256 为 `7e8b56227b345ed9b66659e428f9bd4421604f11253ab88d65b3ed61737f35cf`。 +- 第二台普通 DNS 的 HTTPS 返回 200、peer=45.136.13.241、ssl_verify_result=0;与先前有效域名合计两个域名、两台服务器、四个成功目标。第一台 Scert、存储 socket 和 Nginx active,Scert/MySQL 仍回环;第二台五项既有服务 active。 + +### 恢复拒绝的正式终端验证 + +- 原失败两条事务的历史基线 `previous_fingerprint` 均为空;现场没有对应 `.odacm.cn` 站点,不能凭当前文件不存在宣称恢复通过。 +- 对第一条失败事务通过菜单三选择恢复基线,完整确认后返回已拒绝、未执行远端变更;处置编号 `278d050dc33d6775d8eb453b74e0a0691f8cff9be2531476678b34b423fc9e85`。 +- 数据库只读核对结果为 restore_baseline/rejected/rejected,原事务仍需恢复。该负向不覆盖人工恢复成功或强制断连场景。 + +### 第一台公网与系统邮件阻塞 + +- 从第二台以目标域名、Host/SNI 和固定第一台地址诊断:HTTP 返回 403、Server Beaver,页面标题 Non-compliance ICP Filing;测试域名及 `odacm.cn` 的 HTTPS 均 connection reset。Windows 独立探测第一台测试域名也在 TLS 握手失败。未关闭 TLS,固定地址仅用于定位,不能当作正常 DNS 验收。 +- 第一台访问 `https://web.cdis.cn/` 严格 TLS 返回 HTTP 200,真实远端为 47.108.78.12;通知状态 API HTTP 为 200,但业务 errorNo=403、Login has expired,不能误判已授权。 +- 正式 Scert 设置接口只读投影:smtp_enabled=0、smtp_host 为空、smtp_port=587、smtp_mode=starttls、smtp_credential_configured=0,非系统通知账号。 +- 阅读当前 `D:\Desktop\Smail\backend\controllers\system_notification.go`:系统通知状态需登录,返回实际 SMTP 主机、端口、notify: 用户名及系统发件身份;授权/凭据由 Smail 管理范围和近期身份确认控制。网站地址不是可自动推导的 SMTP 授权,未猜测凭据或改用自定义邮箱。 + +整体生产验收未通过。需继续人工写动作成功与历史恢复、三数据库清库首次 Web、真实系统邮件与重置、DNS/ACME 全矩阵;第一台公网部署入口和 Smail 系统授权是已实测的外部门禁。 + ## 2026年10月3日22:32 正式包升级与双机真实推送 范围:第一台 `8.137.23.95` 运行新包并发起部署,第二台 `45.136.13.241` 接收证书。保留既有数据库的升级验证,不是清库首次流程;第二台未升级本批管理程序。没有创建辅助验收脚本、额外远端备份或关闭 TLS。 diff --git a/doc/Scert开发任务清单.md b/doc/Scert开发任务清单.md index 548cc75..9775017 100644 --- a/doc/Scert开发任务清单.md +++ b/doc/Scert开发任务清单.md @@ -1,5 +1,14 @@ # Scert 开发任务清单 +## 2026年10月3日22:44 最新生产验证进度 + +- [✓] 两个有效域名各绑定同两台服务器,正式部署及导入任务取得四个目标成功、四条 committed 的直接证据;第二台两域名正常 DNS 严格 HTTPS 200。 +- [✓] 无可信旧 HTTPS 指纹的真实恢复请求被正式终端拒绝,审计持久化 rejected,原事务和锁保持未恢复。 +- [!] `.odacm.cn` 失败记录对应现场没有该域名的 Nginx 站点,实际已有 `.apmmk.cn` 站点;失败记录保留,不以新增正确域名掩盖未恢复项。 +- [!] 第一台公网 80 返回备案拦截 403,443 被重置;当前不能承诺第一台公网可上线。 +- [!] Scert 系统 SMTP 未启用、无主机与授权凭据;Smail 网站可达,但通知状态需登录授权。真实邮件和重置不能完成。 +- [ ] 实际人工提交与回滚成功、三数据库首次 Web、DNS/ACME 全矩阵及最终复审继续保留;Linux 包与代码回归通过不替代这些门禁。 + ## 2026年10月3日22:32 正式包实机进度 - [✓] 发行说明修正已提交推送 `a5dfd42`;干净 Linux amd64 候选包构建完成,第一台正式安装、迁移 24 和实际运行摘要核对通过。 diff --git a/doc/Scert整改任务执行清单.md b/doc/Scert整改任务执行清单.md index 99de236..78e6e23 100644 --- a/doc/Scert整改任务执行清单.md +++ b/doc/Scert整改任务执行清单.md @@ -1,5 +1,14 @@ # Scert 整改任务执行清单 +## 2026年10月3日22:44 当前执行结论 + +- [✓] 多对多正常路径取得直接证据:两个有效域名、两台服务器、四目标成功,第二域名通过正式导入接口接入,未直接改数据库。 +- [✓] 恢复负向:缺少可信旧站点指纹时正式恢复基线动作拒绝且审计可查,未执行远端变更。 +- [!] 原 `.odacm.cn` 第二域名没有对应 Nginx 站点,恢复未确认事务和锁继续保留;正常 `.apmmk.cn` 导入成功不关闭这一阻塞。 +- [!] 第一台公网实测为备案拦截:HTTP 403,HTTPS 重置。保持回环 Scert 与 Nginx 80/443 边界,不用高端口绕过。 +- [!] SMTP 设置未启用且无系统凭据;`web.cdis.cn` 可达,通知 API 要求认证。仅系统账号授权发信可进入邮件验收。 +- [~] 下一批优先处理实际人工恢复、首次 Web 与系统邮件接入;公共入口需解决实际部署环境阻塞后才能放行。 + ## 2026年10月3日22:32 最新执行结论 - [✓] `a5dfd42` 干净 Linux 候选包完成,第一台已正式安装并运行,迁移 24、回环严格 TLS 和管理员真实交互已核对。 diff --git a/doc/Scert整改合并优化清单.md b/doc/Scert整改合并优化清单.md index 0798e60..e3347d9 100644 --- a/doc/Scert整改合并优化清单.md +++ b/doc/Scert整改合并优化清单.md @@ -1,5 +1,19 @@ # Scert 整改、合并与优化清单 +## 2026年10月3日22:44 多对多推送通过与公网门禁复核 + +本节为最新结论;仅 Linux,整体生产验收未通过。上批的失败事务继续保留,不用后续成功覆盖失败记录。 + +- [✓] 正式接口新增并绑定既有测试站点 `scert-multi-20260930.apmmk.cn`,导入现场有效正式证书后双机部署成功,任务 `af31d106-9231-4659-bab1-bca2932f8ff4`;两条事务均 committed。 +- [✓] 与 `acceptance-0928.odacm.cn` 合并形成两个有效域名、同两台服务器、四个成功目标的实机多对多证据;第二个域名双机文件摘要一致,第二台正常 DNS 严格 HTTPS 返回 200。 +- [✓] 无可信旧站点指纹的失败事务,通过正式本机恢复入口选择恢复基线后被拒绝,持久结果为 rejected,未执行远端变更;该负向通过不代表原事务已恢复。 +- [!] 失败的 `.odacm.cn` 多域名记录与现场 `.apmmk.cn` 站点不一致;其目标文件已恢复为原先不存在的状态,但没有可信旧 HTTPS 基线,仍保留锁和证据,不改名覆盖、不补造证据。 +- [!] 第一台公网入口当前实测受阻:从第二台请求其 80 端口返回 HTTP 403、Server Beaver 和 Non-compliance ICP Filing 页面;443 对测试域名及管理域名均重置连接。强制 IP 探测仅作诊断,不算正常 DNS 验收,也不据此开放其他公网端口。 +- [!] 第一台正式设置接口确认 SMTP 未启用、主机为空、系统账号未配置、凭据未配置。`web.cdis.cn` 严格 HTTPS 返回 200,但通知状态接口要求登录;需有效 Smail 系统通知授权,不能用普通自定义邮箱顶替。 +- [ ] 人工提交及回滚成功场景、历史无证据事务、三数据库清库首次 Web、系统邮件与邮箱重置、全量 DNS/ACME 正负向和最终公网验收仍未完成。 + +本批为既有正式证书导入和推送,不是新 ACME 签发;没有清库、创建辅助验收脚本、手动删锁、降低 TLS 校验或修改其他站点。 + ## 2026年10月3日22:32 正式包与真实双机推送进度 本节优先于历史进度,仅处理 Linux。以下是保留数据的升级与推送验证,不是清库首次初始化验收。 diff --git a/doc/部署事务人工处置设计.md b/doc/部署事务人工处置设计.md index 3e1b8a7..cf5b0d6 100644 --- a/doc/部署事务人工处置设计.md +++ b/doc/部署事务人工处置设计.md @@ -1,5 +1,11 @@ # 部署事务人工处置设计 +## 2026年10月3日22:44 无可信基线的实机拒绝 + +正式本机终端对有事务记录但 `previous_fingerprint` 为空的真实失败事务执行恢复基线请求,持久处置结果为 rejected。确认动作没有放宽执行器前置要求,目标文件和锁没有因该请求被变更,原事务仍为 recovery_required。 + +该场景验证的是拒绝边界,不是成功恢复。不得把后来导入的另一个域名、当前新证书或人工设置的指纹当作原事务的可信历史基线。成功提交、回滚和执行中断连场景继续待验。 + ## 2026年10月3日22:32 实机设计验证边界 - [✓] 第一台正式候选包迁移至 24,实际本机终端对真实失败事务完成准备、完整确认、仅记录执行和新终端查询,未使用测试夹具替代远端采样。 diff --git a/doc/部署事务人工核查任务清单.md b/doc/部署事务人工核查任务清单.md index b23980c..21b37f3 100644 --- a/doc/部署事务人工核查任务清单.md +++ b/doc/部署事务人工核查任务清单.md @@ -1,5 +1,12 @@ # 部署事务人工核查任务清单 +## 2026年10月3日22:44 真实恢复拒绝证据 + +- [✓] 对事务 `20261003-142919.192475924-417b9bcc5b09`,真实本机终端选择恢复基线并完整确认;因历史 `previous_fingerprint` 为空,返回处置已拒绝,未执行远端变更。 +- [✓] 处置 `278d050dc33d6775d8eb453b74e0a0691f8cff9be2531476678b34b423fc9e85` 的数据库结果为 action=restore_baseline、status=rejected、result_code=rejected。 +- [!] 目标站点未配置且可信旧 HTTPS 基线缺失;原事务及锁保留。既有另一 `.apmmk.cn` 站点的导入成功不能成为该事务的历史基线。 +- [ ] 人工提交和回滚成功场景、执行中强制断连、历史无证据事务仍待直接证据;不得将本次拒绝算作恢复完成。 + ## 2026年10月3日22:32 正式终端真实事务验证 - [✓] 第一台已安装干净 `a5dfd42` 候选包;root 前台 `systemctl start Scert-admin` 显示四项菜单,非终端输入按预期拒绝。