Repository navigation
实际入口与日志收集链的秘密泄露核验 #64
Description
当前范围 · 2026-10-03
当前 main 105c2cf 的秘密 URL 防护已完成:原始/编码请求目标、错误回显、真实 Nginx/OpenSSL 的默认 HTTP/TLS 入口及错误路径都有通过的明确回归;native46 和公开 JSON health 也已核验。旧“未部署/health 仍是 empty”记录不再适用。
本 issue 收窄为实际入口和日志链核验:确认各 CDN/代理/Nginx/服务/APM 的生效配置摘要及日志收集去向。现有隔离测试不冒充生产每一跳均不落秘密的证明;无需重写已完成的 URL 过滤器。
剩余完成条件
- 只读确认实际CDN/代理/Nginx/服务/APM/debug链及所有默认监听器,记录生效配置摘要和日志收集去向;未使用的组件明确记为不存在。
- 由获准操作者在隔离/staging使用随机非凭据哨兵验证实际日志策略,不向生产发送秘密;若已有同等现场证据即可completed。
本轮依据当前主线 105c2cf716c1179d49bc79224f10f44a3b031163、已完成 CI 和只读部署盘点更新范围。没有执行新的生产迁移、删除、Root/CA 变更或资金操作。旧的全章/全客户端人工矩阵不再作为本项永久门槛。
历史需求与旧验收记录(保留供查阅;当前待办以上述范围为准)
2026-09-29 当前:代码已合并,生产日志链仍 blocked
#185 已合入 main 5cdaeba2 / tree 3ad68f20,与严格验收树相同;2531 core + 8 conformance、18个PR工作流通过,精确证据见#185。独立main push的9个适用工作流也已全部通过,主线逐项证据见5898702154。只读公网观测已补;实际部署版本/配置及全链日志来源仍缺材料,不关闭本issue。
历史已完成切片(以下基线与数字归原运行)
2026-09-28 核验:源码完成;生产日志链验收 blocked
主线基线 13c562ea05d273e618b1ea06b9e452da79d4439f,完整 CI 36384948145 success;本轮独立核验四分片及 1,244 core + 8 conformance 的逐测试证据。统一基线、三路分工和合并规则见 #83。本 issue 不因源码全绿关闭。
已完成及应保留的回归
- Harden secret URL boundaries and complete Nginx ingress error tests #86 已合入:原始 path/query、客户端 fragment、大小写/多重百分号编码、歧义执行路径、超长 URL、旧 token/bootstrap 槽拒绝;普通无秘密 GET 保留,crawler/prefetch 的既有 403/passive_client_forbidden 边界保持。
- Host 重复/语法/控制字节/端口歧义拒绝;错误与异常不回显原始秘密 URL。
- 专用完整 Nginx 配置覆盖 main/http、HTTP/TLS 默认入口、400/413/414/502、错误 Host、上游失败、Referer/Authorization、JSON/gzip packet、重定向和 CSP;真实隔离 Nginx/OpenSSL 哨兵及不安全日志对照已有回归。
- 原 Harden secret URL boundaries and complete Nginx ingress error tests #86 CI
36329109278与本地 190 项、后续 157 项请求/日志专题证据继续按原提交归属保留,不累计为新测试数量。
剩余:只有实际现场证据才能完成
- 取得经授权的实际部署 commit/config 摘要、全部监听器/默认 vhost、上游 CDN/代理和后端暴露边界。
- 核查每一跳日志、APM/debug 收集链与受控验证证据;隔离测试不能替代生产证据。
- 公网无凭据 GET /healthz 于 2026-09-29T20:02:43Z 实际返回200/旧式empty页面;正文SHA256与只读边界见5898116730。这不是新msgd readiness或日志无秘密证明,未跟随publish提示执行写入。
任务 A 与安全边界
本轮未取得生产配置/日志读取入口,未部署、重载、删除日志或改变权限。A 应交付只读 preflight、明确缺失材料/获取角色与授权要求;没有材料时保持 blocked,而不是重复重写 URL 过滤器。
随机非真实哨兵/错误矩阵只在明确获准的隔离或 staging 环境执行。公开 issue 不上传原始日志、配置、token、私钥。deploy/nginx.conf 是完整专用配置,不直接塞进共享 http 块;见 deploy/README.md。
范围仍为明确凭据字段/旧能力槽,不宣称识别任意自由文本秘密;最多八层解码仅用于拒绝、不生成新路由;服务端无法检查未发送 fragment;短期 proof 保留设计规定的复制有效期边界。
依据:权威设计第 03/08/09/15 章及 DCR-01,文档入口见 #83。
Activity
Harden request-target secrecy and complete Nginx ingress error coverage
Reject Host parser ambiguities before URI construction
Preserve passive execution denial ahead of raw secret rejection
Harden URL secrecy, Host validation and Nginx ingress regression cove…
Reject unsafe credential journals without blocking or leaking descrip…
LIghtJUNction commentedon Sep 28, 2026
Refs #64 — A 已在 #116 提交只读前置检查
src/msg/admin/preflight.py(head c97a528)。显式--config;不实例化Application、不建表、不分配序号、不修复文件、不读取Root私钥或发外部请求。PostgreSQL使用REPEATABLE READ / READ ONLY,配置/库错误输出脱敏,空库明确empty而不初始化。本轮没有实际生产CDN/WAF/反向代理/APM/nginx/服务日志、监听地址或生效配置。
ingress_log_chain等证据明确missing,报告decision=blocked、退出码2,不能以fixture/单元测试/CI视作现场零落盘验收。三项真实PG只读回归通过(空库不建表、既有表/序号/审计不变、拒绝写事务),纳入最终A组合58passed;这只是工具证据。现场清单在
docs/TASK_A_RECOVERY_20260928.md/docs/TASK_A_VERIFICATION.md。issue保持开放,未探测或修改生产。Merge #118: integrate recovery safety without weakening current autho…
LIghtJUNction commentedon Sep 29, 2026
2026-09-29 当前只读核验补充(PR #185,源码基线已为 main 25cf518):
无凭据公网
GET https://msg.lmm.best/healthz于 2026-09-29T20:02:43Z 实际返回 HTTP 200。正文为旧式# /healthz · empty,随后是/publish?...创建提示;响应正文 SHA25636009ed66538b6cf225a47185d24334235aa2b80d810c218dc725c310f8950e6。仅读取,没有跟随创建提示或执行任何写入。这不是当前 msgd 的 JSON
status=ok健康证据,不能据此认定部署版本、readiness、日志无秘密或所有代理链已核验,也不能仅凭差异判断站点不可用。该项“公网无凭据 GET 结果与时间”已有实际证据;其余监听器/vhost/CDN/APM/配置/日志链仍缺授权材料,保持 open/blocked。新源码的隔离 Nginx/秘密 URL 回归随 #185 最终头重新执行;交接边界见
docs/RELEASE_ACCEPTANCE.md。没有修改生产 Nginx、重载、删除日志或扩大权限。Merge PR #185: Python 3.15 quality and verified deployment artifacts
LIghtJUNction commentedon Oct 3, 2026
当前 main
105c2cf的秘密 URL 防护已完成:原始/编码请求目标、错误回显、真实 Nginx/OpenSSL 的默认 HTTP/TLS 入口及错误路径都有通过的明确回归;native46 和公开 JSON health 也已核验。旧“未部署/health 仍是 empty”记录不再适用。本 issue 收窄为实际入口和日志链核验:确认各 CDN/代理/Nginx/服务/APM 的生效配置摘要及日志收集去向。现有隔离测试不冒充生产每一跳均不落秘密的证明;无需重写已完成的 URL 过滤器。
[-][P0] 秘密 URL 与真实反向代理日志全链路验收[/-][+]实际入口与日志收集链的秘密泄露核验[/+]