|
Per-DC Octavia PKI generated: independence proven, identity unverified, 12 real findings
The mint was operator-executed on the headend; the session guard hard-blocks it and that was not worked around. PER-DC INDEPENDENCE PROVEN, which is the whole point of F1. Both DCs hold 12 files across 3 dirs, and sha256 DIFFERS between DCs for both encrypted CA keys, the controller cert and the overlay. Before F1 those columns would have been identical, because the second generation would have overwritten the first. Both overlays are mode 600, carry exactly five lb-mgmt-* keys, are ASCII clean and are gitignored -- the F4 gate held. NOT CLAIMED AS DONE: the four CA subjects, the controller SAN sets and the chain verifications are unread, because the guard blocks openssl against those paths. Recorded as structurally complete with identity unverified. A cert can be well-formed and name the wrong DC. P5 on the headend went 6 -> 18 findings and all 12 new ones are genuine. E2 x4: the CA certificates are mode 664. This session had explicitly called that harmless "for public certs", reasoning only about confidentiality. That was wrong -- 664 is group-WRITABLE, so a group member can replace a trust anchor. Integrity, not secrecy, is the exposure. E3 x8: four generator outputs per DC (the controller certificate, the CA serial file, the openssl config and the signing request) exist with no matrix row. The 18-row set landed earlier today was incomplete -- "enumerate what exists, not only what is declared", applied to this session's own work. Validation worth recording: all 12 would have been INVISIBLE before today's F2 and F6 fixes, since the rows were singleton and the locations resolved on the jumphost. The register found real defects in exactly the mint it was repaired to observe. F8: the controller-cert step's heredoc is a live paste hazard -- the operator hit it. An indented terminator can yield a config with no alt_names section, producing a certificate with NO SANs while every step still reports OK, and nothing asserts the SAN set. F9: the controller certificate's DNS SANs are coupled to D-106 and nothing recorded it. They are inert only because os-public-hostname is set nowhere (B5 IP-ONLY; R5 refused setting it at Stage 5 as a D-019 repeat). When Stage 7 turns FQDN endpoints on, both DCs' certificates carrying dc0.vr0 becomes wrong exactly when it starts mattering; likely disposition is reissue inside D-106's own FQDN-SAN step. Remediation logged not executed: tighten the six certificate modes; and for E3 either declare all four artifacts per DC or have the generator drop the two build intermediates and declare the two that must persist. repo-lint 0 fail. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HvCyrwvYTTcDYnRErfMsNf |
|---|
|
|
| docs/CURRENT-STATE.md |
|---|
| docs/audit/stage5-findings-20260729-successor.md |
|---|