8.0 KiB
IwoooS Backup / Restore / Escrow 事故後回讀計畫
| 項目 | 內容 |
|---|---|
| 日期 | 2026-06-18 |
| 狀態 | post_incident_readback_plan_ready_no_runtime_action |
| 工具 | scripts/security/backup-restore-post-incident-readback-plan.py |
| Snapshot | docs/security/backup-restore-post-incident-readback-plan.snapshot.json |
| 來源 | docs/security/backup-restore-owner-response-acceptance.snapshot.json |
| runtime gate | 0 |
1. 目的
此計畫把 Backup / Restore / Escrow 的事故後回讀從「有備份狀態」推進成可重跑、可補件、可隔離、可拒收的只讀帳本。
它處理的風險不是替正式備份系統下指令,而是先定義未來 owner 必須提供哪些脫敏 ref,才能說明誰動了 backup / restore / offsite / escrow / retention,何時異常,改前改後 freshness 與 restore / offsite / retention 狀態如何,是否有隔離 restore target、credential escrow non-secret proof、rollback、post-change monitoring、recurrence guard 與 no-false-green 檢查。
本 artifact 不執行 backup、不 restore、不跑 offsite sync、不 remote delete、不寫 credential escrow marker、不改 retention、不 restic prune、不讀 rclone config、不跑 Velero、不 kubectl、不 SSH、不讀 secret value、不保存 raw backup listing、不保存 raw restore payload、不寫 production。
2. 固定數字
| 指標 | 數值 |
|---|---|
| readback candidate | 38 |
| write-capable candidate | 27 |
| live evidence required candidate | 38 |
| restore drill readback required candidate | 38 |
| offsite / escrow readback required candidate | 20 |
| retention / remote delete readback required candidate | 17 |
| required readback fields | 34 |
| reviewer checks | 32 |
| outcome lanes | 11 |
| blocked actions | 51 |
| post-incident readback received / accepted | 0 / 0 |
| runtime gate | 0 |
3. 必填回讀欄位
每一個候選都必須補齊以下 metadata-only refs,才能進入 reviewer review:
- incident / change / outage ref。
- actor role / team attribution ref。
- change / outage time window ref。
- change intent 或 break-glass reason ref。
- before / after backup freshness state refs。
- backup status readback ref。
- restore drill readback ref。
- restore target isolation readback ref。
- offsite sync readback ref。
- offsite remote delete guard readback ref。
- credential escrow non-secret readback ref。
- credential recovery drill metadata ref。
- retention runway readback ref。
- retention 或 prune decision ref。
- backup dependency map ref。
- data classification ref。
- restore observer / stop condition ref。
- backup health no-false-green readback ref。
- alert textfile readback ref。
- cold-start / DR scorecard ref。
- cross-project sync ref。
- rollback validation ref。
- post-change monitoring ref。
- independent postcheck readback ref。
- recurrence guard ref。
- maintenance window、rollback owner、followup owner。
- redacted evidence refs。
- no-secret-value、no-raw-backup-payload、no-production-restore 與 no-false-green attestation。
4. Reviewer 檢查
Reviewer 必須確認來源 snapshot 是目前版本,並逐項檢查 actor、時間窗、變更意圖、before / after freshness、backup status、restore drill、restore target isolation、offsite sync、remote delete guard、credential escrow non-secret proof、credential recovery metadata、retention runway、retention / prune decision、dependency map、data classification、restore observer、backup health no-false-green、alert textfile、cold-start scorecard、cross-project sync、rollback、post-change monitoring、independent postcheck、recurrence guard、maintenance window、脫敏 ref、secret absence、raw payload absence、runtime stays zero 與 count transition safe。
不能把 backup success、route 200、dashboard up、alert quiet、textfile present、UI 可見、CD success 或 latest 字樣視為 DR / backup 驗收。
5. 分流
| lane | 用途 |
|---|---|
waiting_post_incident_readback |
尚未收到回讀包;所有 accepted / runtime count 維持 0 |
request_actor_or_time_supplement |
缺 actor、時間窗、intent 或 break-glass reason |
request_backup_freshness_supplement |
缺 before / after freshness、backup status、alert textfile 或 scorecard |
request_restore_isolation_supplement |
缺 restore drill、隔離目標、observer、stop condition 或 rollback validation |
request_offsite_retention_supplement |
缺 offsite sync、remote delete guard、retention runway 或 prune decision |
request_escrow_non_secret_supplement |
缺 credential escrow non-secret proof 或 recovery drill metadata |
quarantine_raw_payload |
收到 secret、raw backup listing、raw restore payload、raw DB dump、rclone config 或未脫敏截圖時隔離 |
reject_false_green_claim |
把 backup success、route 200、dashboard up、alert quiet、textfile present 或 UI 可見當驗收時拒收 |
ready_for_backup_restore_post_incident_review |
metadata 合格後只能進 reviewer review |
recurrence_guard_backfill_required |
需補防再發 guard、retention freeze、remote-delete block、owner review 或 automation block |
waiting_runtime_gate |
即使 readback accepted,runtime gate 仍需獨立人工批准 |
6. 固定禁止動作
本階段明確阻擋 backup_run、restore_run、restore_drill、production_restore、offsite_sync、offsite_remote_delete、credential_escrow_marker_write、credential_recovery_execution、retention_change、retention_prune、restic_prune、rclone_config_read、rclone_config_change、velero_restore、velero_backup、kubectl_action、ssh_read、ssh_write、secret_value_collection、secret_hash_collection、partial_token_collection、restic_password_collection、rclone_token_collection、kubeconfig_collection、host_write、active_scan、production_write、runtime_gate_open、raw backup / restore / object listing / DB dump storage、接受 secret 或 credential derivative evidence、無 reviewer record 標記 accepted、接受 false green、跳過 dependency / data classification / observer / cross-project / rollback / post-change monitoring review、偽造 credential escrow evidence 與任何 action button。
7. 目前邊界
此 artifact 只代表事故後回讀計畫已建立。post_incident_readback_received_count、post_incident_readback_accepted_count、backup_status_readback_accepted_count、restore_drill_readback_accepted_count、offsite_sync_readback_accepted_count、credential_escrow_non_secret_readback_accepted_count、retention_runway_readback_accepted_count、backup_health_no_false_green_readback_accepted_count、backup_run_authorized_count、restore_run_authorized_count、offsite_sync_authorized_count、credential_escrow_marker_write_authorized_count、retention_change_authorized_count、runtime_gate_count 與 action_button_count 仍全部維持 0。
8. 指令
產生 committed snapshot:
python3 scripts/security/backup-restore-post-incident-readback-plan.py \
--root . \
--generated-at 2026-06-18T10:30:00+08:00 \
--output docs/security/backup-restore-post-incident-readback-plan.snapshot.json
只讀 guard:
python3 scripts/security/iwooos-config-control-guard.py --root .
python3 scripts/security/security-mirror-progress-guard.py --root .
9. 完成度
| 工作 | 完成度 | 說明 |
|---|---|---|
| post-incident readback plan artifact | 100% |
38 個候選已建立只讀回讀計畫 |
| post-incident readback received / accepted | 0% |
尚未收到或驗收任何事故後回讀包 |
| live backup / offsite / escrow evidence | 0% |
未讀 live backup、offsite、credential escrow 或 secret |
| backup / restore / offsite / retention | 0% |
未授權且未執行 |
| secret / host / production write | 0% |
未收 secret、未 SSH、未寫 host |
| runtime gate / action button | 0% |
無 action button,無 production write |