From b1ab6119593204022638aac179493fa22a98f6ac Mon Sep 17 00:00:00 2001 From: xuans Date: Thu, 1 Oct 2026 22:32:15 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=B0=E5=BD=95=E5=85=AC=E5=BC=80=E9=87=8D?= =?UTF-8?q?=E7=BD=AE=E6=9F=A5=E8=AF=A2=E8=B4=A6=E6=88=B7=E6=9E=9A=E4=B8=BE?= =?UTF-8?q?=E9=A3=8E=E9=99=A9=E5=B9=B6=E4=BF=9D=E6=8C=81=E4=B8=8A=E7=BA=BF?= =?UTF-8?q?=E9=98=BB=E5=A1=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/Linux生产流程测试记录.md | 12 ++++++++++++ doc/Scert整改任务执行清单.md | 8 ++++++++ doc/Scert整改合并优化清单.md | 8 ++++++++ 3 files changed, 28 insertions(+) diff --git a/doc/Linux生产流程测试记录.md b/doc/Linux生产流程测试记录.md index 50c60e2..3bb7bca 100644 --- a/doc/Linux生产流程测试记录.md +++ b/doc/Linux生产流程测试记录.md @@ -1,5 +1,17 @@ # Linux 生产流程测试记录 +## 公开密码重置只读安全复核(2026年10月1日22:31,北京时间) + +- 当前部署候选源码仍为 00aeedc;上一轮进度文档已通过 94c674d 提交推送。本轮为保留现场的只读检查,不是清库首次验收。 +- 双机实际服务名称为 Scert.service,核对均 active;小写 scert.service 不存在,不能据此误报服务停止。第二台 MainPID=175308、NRestarts=1,与前轮受控中断记录一致。 +- 双机 8443、3306、33060 均只监听 127.0.0.1;nginx -t 均成功,第一台邮件服务 active。第二台管理反代 proxy_ssl_verify on、proxy_ssl_name odacm.cn,管理首页为 200,/readyz 返回 ready,/reset 为 404。 +- 只读查询最终两条事务 20261001-141918.826867221-0ff9674d0969 和 20261001-141921.961222681-692080e5aeca,phase/status 均 committed,补齐上一章节收尾数据库终态证据。 +- 浏览器使用原 Scert 专属上下文和页面,操作前核对前后端健康及回环 MCP 监听。检查公开密码重置页,没有显示维护命令;未清除数据库或另开项目窗口。 +- 使用 credentials=omit 分别向 POST /api/v1/password-reset/resolve 提交已知账户及本轮不存在的测试标识。两者均 HTTP 200,但前者明确返回 account_type=super_admin、action=contact_administrator,后者返回 account_type=unknown、action=check_identifier,标题和说明也不同。 +- [!] 结论:未登录者仍能枚举超级管理员身份。没有泄露维护命令不代表没有信息泄露;本项是新确认的上线阻塞,当前未修复。未请求验证码、未改变密码、未启用维护入口。 +- [ ] 后续需要统一合法标识的响应,覆盖用户名及邮箱的一致性回归,构建正式候选后再复测;不得以此次只读检查替代整改验收。 + + ## 不同证书进程中断恢复与多目标部分失败(2026-10-01 22:22,北京时间) ### 范围与已确认需求 diff --git a/doc/Scert整改任务执行清单.md b/doc/Scert整改任务执行清单.md index f1a8426..8414cac 100644 --- a/doc/Scert整改任务执行清单.md +++ b/doc/Scert整改任务执行清单.md @@ -1,5 +1,13 @@ # Scert 整改任务执行清单 +## 当前有效安全任务(2026年10月1日22:31) + +- [✓] 只读复核当前正式候选:内部端口回环、严格上游 TLS、临时重置入口关闭及最终部署事务已提交。 +- [!] 公开密码重置账户枚举已实机复现:无登录凭据即可区分超级管理员和未知账户。既有“不泄露维护命令”回归未覆盖此风险。 +- [ ] 统一合法标识的公开查询响应;补充已知用户名、已知邮箱、未知用户名、未知邮箱的一致性测试,并复核无重置会话或其他副作用。 +- [ ] 整改后构建正式候选、部署并复测。当前仅发现和记录风险,尚未修复,不扩大既有安全通过结论。 + + ## 当前有效任务看板(2026年10月1日22:22,启动恢复与多目标负向实证) 需求确认:不降低 TLS 校验、不手工释放恢复锁、不补造恢复证据;复用已有有效证书,通过正式导入、部署和任务重试执行。本轮不重复签发、不清库、不创建辅助验收脚本。 diff --git a/doc/Scert整改合并优化清单.md b/doc/Scert整改合并优化清单.md index 07770a0..96cccdb 100644 --- a/doc/Scert整改合并优化清单.md +++ b/doc/Scert整改合并优化清单.md @@ -1,5 +1,13 @@ # Scert 整改、合并与优化清单 +## 当前有效安全复核(2026年10月1日22:31) + +- [!] 新增上线阻塞:公开密码重置查询仍泄露账户是否为超级管理员。使用不携带登录凭据的请求实测,已知账户返回 super_admin,未知账户返回 unknown;此前仅移除维护命令和重置入口,不等于消除账户枚举风险。此项尚未修复,不得标为安全验收通过。 +- [ ] 整改要求:合法账户标识不论是否存在,均返回相同状态码和通用提示;不得披露账户类型、存在性、维护命令、重置地址或会话凭据,并补充一致响应回归及正式候选实机复核。 +- [✓] 只读复核:双机内部端口仅回环监听;管理入口健康;Nginx 上游 TLS 校验开启;未开启的临时重置地址返回 404;最终部署两条事务均为 committed。 +- [!] 本轮未清库、未触发密码变更或发信、未开放端口,属于现有候选只读安全复核,不替代首次生产验收。总体生产验收继续不放行。 + + ## 当前有效进度(2026年10月1日22:22,不同证书中断恢复与多目标部分失败) 本节覆盖下方同项待验证状态;仍按原清单推进 Linux,不处理 Windows。本轮保留数据连续负向回归,不计作最终清库首次验收。需求确认:实际运行证书必须恢复,有限次核验不降低 TLS 校验,证据不足继续保留锁。