5.7 KiB
IwoooS Public Gateway Live Conf 匯出請求包
| 項目 | 內容 |
|---|---|
| 日期 | 2026-06-14 |
| 狀態 | live_conf_export_request_ready_not_dispatched |
| 工具 | scripts/security/public-gateway-live-conf-export-request.py |
| 輸入 | docs/security/public-gateway-preflight-inventory.snapshot.json |
| Snapshot | docs/security/public-gateway-live-conf-export-request.snapshot.json |
| runtime gate | 0 |
1. 目的
Nginx public gateway 是公開網站、API、Webhook、ACME 與 WebSocket 的共同入口。若 live Nginx conf 常被手動修改,IwoooS 不能直接 SSH 去讀或覆寫 live conf;第一步應先建立 owner-provided live conf 匯出請求包,明確規定只能收脫敏 export ref,且不得保存 raw live conf。
本文件只定義匯出請求草稿、脫敏規則與送後不變條件。它不是 request sent、不是 live conf received、不是 rendered diff ready、不是 nginx -t、不是 reload、不是 route smoke,也不是 production write 或 runtime gate 授權。
2. 摘要
| 指標 | 值 | 說明 |
|---|---|---|
| export request count | 3 |
188 all sites、188 internal tools HTTPS、110 Ollama proxy |
| C0 export request count | 2 |
188 all sites 與 188 internal tools HTTPS |
| export request field count | 12 |
每份匯出請求的 handoff 欄位 |
| redaction rule count | 8 |
raw live conf 與敏感資訊拒收規則 |
| request sent | 0 |
尚未送出匯出請求 |
| recipient confirmed | 0 |
尚未確認 owner / recipient |
| redacted export received | 0 |
尚未收到脫敏 export ref |
| raw live conf stored | 0 |
不允許保存 |
| rendered diff / nginx -t / route smoke | 0 / 0 / 0 |
尚未批准且未執行 |
| runtime gate / action button | 0 / 0 |
未開啟 |
3. Redaction Policy
- 只收 owner 提供的脫敏 live conf export ref,不收 raw live conf。
- 不得包含 TLS private key、token、secret、cookie、session、authorization header 或 Basic Auth credential。
- 若 upstream URL 含 credential,必須整段遮罩為
redacted_upstream_credential。 - 若路徑含 private credential、query token 或 webhook secret,必須整段遮罩。
- 允許保留 server name、listen、location、proxy pass host / port、ACME path、TLS certificate path metadata。
- 不得貼主機 shell history、完整環境變數、私鑰內容、DB URL 或未脫敏 log。
- 疑似敏感 payload 只能記 quarantine metadata,不得寫入 repo、LOGBOOK 或前端。
- 匯出請求不等於
nginx -t、reload、route smoke、DNS / TLS probe 或 production write 授權。
4. 匯出請求欄位
| 欄位 | 內容規則 |
|---|---|
export_request_id |
固定對應 public gateway live conf export,不建立 runtime action id |
config_id |
對應 public gateway preflight row |
host |
只記 host scope;不代表可 SSH |
live_path |
只記 owner 需提供的 live path metadata;不代表已讀取 |
export_owner_role_or_team |
只填 role / team,不填私人憑證或聯絡資訊 |
export_method |
固定 owner_provided_redacted_export_only |
redaction_policy_ref |
指向本文件脫敏規則 |
redacted_live_conf_ref |
未收到前為空;收到後只可填脫敏 ref |
source_snapshot_ref |
指向 repo-only preflight snapshot |
intended_use |
固定 rendered_diff_and_route_change_preflight_only |
followup_owner |
後續補證或審查負責 role / team |
not_approval |
必須為 true |
5. 三份請求
| Request | Control tier | Live path | 邊界 |
|---|---|---|---|
public_gateway_live_conf_export:host188_all_sites |
C0 |
/etc/nginx/sites-enabled/all-sites.conf |
只請 owner 提供脫敏 export ref,不代表 SSH 讀取、rendered diff、nginx -t 或 reload |
public_gateway_live_conf_export:host188_internal_tools_https |
C0 |
owner_confirmation_required |
只請 owner 確認 live path 與脫敏 export ref,不代表 route change |
public_gateway_live_conf_export:host110_ollama_proxy |
C1 |
/etc/nginx/sites-enabled/110-ollama-proxy.conf |
只請 owner 提供脫敏 export ref,不代表 Ollama proxy 改動或重啟 |
6. 送後不變條件
即使未來人工送出請求,也只能在有可稽核送件 metadata 後另行記錄 request sent。收到脫敏 export ref 後,仍需先做敏感 payload 隔離檢查;通過後才可進 rendered diff。Rendered diff 成立仍不代表 nginx -t、reload、route smoke 或 public route change 已授權。
2026-06-14 P0-16 已新增 docs/security/PUBLIC-GATEWAY-REDACTED-EXPORT-INTAKE-PREFLIGHT.md 與 docs/security/public-gateway-redacted-export-intake-preflight.snapshot.json,將三份 export request 轉成 redacted export 收件預檢候選。該預檢仍保持 request sent、recipient confirmed、redacted export received、accepted、quarantine、rejected、rendered diff、nginx -t、reload、route smoke、runtime gate 全部為 0。
7. 指令
產生 committed snapshot:
python3 scripts/security/public-gateway-live-conf-export-request.py \
--root . \
--preflight-report docs/security/public-gateway-preflight-inventory.snapshot.json \
--output docs/security/public-gateway-live-conf-export-request.snapshot.json \
--generated-at 2026-06-14T19:05:00+08:00
驗證 guard:
python3 scripts/security/security-mirror-progress-guard.py --root .
8. 完成度
| 工作 | 完成度 | 說明 |
|---|---|---|
| live conf export request artifact | 100% |
產生器、snapshot 與文件已固定 |
| request dispatch | 0% |
尚未送出 |
| redacted export received | 0% |
尚未收到 |
| rendered diff / nginx -t / route smoke | 0% |
尚未批准且未執行 |
| runtime reload / host write | 0% |
未授權且未執行 |