|
SEC-020: MAAS admin-account recovery -- consolidate `admin`, mint `operator`, creds-audit CLEAN x3
Operator task: recover the MAAS admin accounts and save the creds retrievably. The task premise was FALSIFIED by measurement before any mutation: the ledger's 2026-07-25 "MAAS web-GUI login does NOT exist / never minted" was wrong. The `admin` password was minted 2026-07-13 by site-headend-install.sh:452 and is MEASURED working (login 204 vs 400 wrong-password control). It was merely root-only on voffice1 and un-consolidated -- the SEC-009 miss class, not a missing account. Scope re-ruled by the operator after that finding: "New account + consolidate only" -- no existing password rotated. - NEW MAAS superuser `operator` for human GUI login; password generated on vcloud, set via stdin (never argv -- SEC-018 discipline; changepassword has no --password and createadmin --password would expose it). - `admin` password CONSOLIDATED byte-identical (sha256-verified) to ~/vr1-office1-creds/. NOT rotated, so the VM copy REMAINS source-of-record; a future rotation must update both or the VM copy becomes a stale trap. - juju-vr1-dc0/dc1 untouched BY RULING: their SEC-018/019 API keys are load-bearing for the blocked Stage-5 bootstrap. - Manifest backfill -> creds-audit CLEAN on all three sites (was RED: dc0 3 + dc1 1 undeclared), closing the dc0 edge-keypair queued finding named in vr1-dc1.manifest:18-20. - Root cause recorded: `admin` doubles as the automation identity (19 `maas admin` call sites in 4 scripts), so automation never needed the password and nothing forced it into the folder. Proposable as the next-free D-number [ARCH]; NOT assigned (GA-R3 doubt-resolves-DOWN). - Falsified ledger claim struck+corrected; machine-derived block re-seeded (was stale on every line: SEC 12->16, next-free D 133->137, DOCFIX 200->204). Evidence: docs/audit/maas-admin-recovery-20260725.txt (generated, no secret values; scanned for password bytes = 0 hits with a planted-control check). repo-lint 0 fail; gauntlet ALL GREEN (79). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HvCyrwvYTTcDYnRErfMsNf |
|---|
|
|
| creds-manifests/vr1-dc0.manifest |
|---|
| creds-manifests/vr1-dc1.manifest |
|---|
| creds-manifests/vr1-office1.manifest |
|---|
| docs/CURRENT-STATE.md |
|---|
| docs/audit/maas-admin-recovery-20260725.txt 0 → 100644 |
|---|
| docs/changelog-20260725-maas-admin-recovery.md 0 → 100644 |
|---|
| docs/security-ledger.md |
|---|
| docs/session-ledger.md |
|---|