Commit Graph
17 Commits
Author SHA1 Message Date
automation-bot 10efff2298 docs: iac commit IDs after its history rewrite (ISO removed, content unchanged) 2026-10-16 22:46:46 +03:00
automation-bot ecbcbe693c docs, stacks: Caddyfiles moved to a folder mount (conf/Caddyfile) 2026-10-16 19:30:23 +03:00
automation-bot e1c99737cf docs: secrets-and-pki.md - add missing NetBird row to consumer table
Found while auditing secret-distribution.md: NetBird is one of the 6
real docker_secret_templates-consuming hosts (confirmed via Agent
Configurations KB note and the live template list - config.yaml,
Hawser's secret, shared registry-token), but was missing from this
doc's consumer table entirely.
2026-09-19 00:25:01 +03:00
automation-bot c241ed618d docs: re-verify secrets-and-pki.md, no content drift found
Live-checked every claim: Vault mount list, SSH CA role TTLs/algorithm,
the Caddyfile's asymmetric-trust config for Vault (exact match), all
per-host consumer stack counts (12 rocky-docker / 10 automation,
verified against the authoritative docker_secret_templates source, not
just Vault KV path listings which include unrelated Kestra-flow
secrets), the cert-rebuild script's 19-day-incident story, and the
lifecycle diagram - all still accurate. Bumping verified date/SHAs only.
2026-09-19 00:19:40 +03:00
automation-bot 0801ce8566 docs: add source-provenance comment to secrets-and-pki (card [91] backfill 1/16) 2026-09-06 10:57:31 +03:00
automation-bot 19269e4d0f docs: update auth flows for the root-token retirement (card 59)
The standing root token this doc described is retired. Replaced the
2-flow table with the real 3-flow model now in place: routine AppRole
auth, a narrowly-scoped provisioner AppRole for occasional bootstrap
work, and a break-glass generate-root path for the rare cases the
provisioner deliberately can't cover. Alerting row corrected to note
the audit-log check fires on any root-policy token generically, not
a specific standing one.
2026-09-05 12:44:31 +03:00
automation-bot 2c865f90f0 fix: redact live identity/CA specifics from today's SSH-CA command output
Two command-block "evidence" snippets added earlier today pasted real,
live-captured values verbatim: the exact cert file path, the fleet's
actual CA fingerprint, today's real issuance timestamp, and the live
Vault role/principal name. All of it identified real infrastructure
in a way the rest of this repo's established redaction convention
(see docs/firewall-and-network.md's [admin workstation]-style
placeholders) already exists specifically to avoid. Redacted to
bracket placeholders; the structural/format evidence (cert type,
extensions, TTLs) stays genuine.
2026-09-05 09:46:39 +03:00
automation-bot 91a7ec1e9e docs: document the Vault SSH certificate authority in secrets-and-pki
The SSH CA mount (ssh-client-signer/) existed live in Vault but was
missing from this doc's capability list entirely. Adds it as a fourth
"What It Does" bullet with real role config and a live screenshot of
the secrets engines list, and refreshes the stale ACL policies
screenshot (was showing 15 policies, live is 18).
2026-09-05 09:19:54 +03:00
thesabear f20ed10632 capitalize headings 2026-09-01 17:59:02 +03:00
thesabear f4ef56d229 secrets-and-pki: add real evidence for the asymmetric-trust and cert-renewal claims
Step 5 re-audit. Caddyfile contrast (skip-verify default vs Vault's
real cert verification block) shown as text, IP/domain genericized.
The cert-rebuild hook script's real 19-day-expiry story is shown as a
screenshot instead of a text excerpt - the script has a hardcoded P12
password in its body, so a screenshot with that one line blurred shows
the actual guard logic in full without a text-copy risk of the
password ever landing in a file.
2026-08-28 21:48:09 +03:00
thesabear a9518c5381 docs: rename diagram assets to doc-prefixed scheme, update exports
Asset renames (matching the new Nextcloud source naming convention —
doc name first, then description):
- architecture-trust-depth.svg -> architecture-overview-trust-depth.svg
- firewall-docker-bypass.svg -> firewall-and-network-docker-bypass.svg
- secrets-lifecycle.svg -> secrets-and-pki-lifecycle.svg
- trust-boundaries-blast-radius.svg -> readme-trust-boundaries-blast-radius.svg
Updated all 4 markdown references accordingly.

Also refreshed diagram exports (secret-distribution-flows.svg, and the
4 renamed ones) with today's fixes, and folded in the earlier pending
sso-and-identity.md work: precise live-verified native-OIDC app list
(12 apps, not ~9), the Proxmox no-Proxy-Provider exception, real API
evidence for it, and the automation-bot migration story.
2026-08-27 23:48:41 +03:00
thesabear b4827a3d42 secrets-and-pki: remove open-vulnerability disclosure section
Publishing a ranked list of a live system's own weak points - including
explicitly naming the "single highest-value target" - is a real security
problem for a public repo, not a portfolio concern. Removed the section
and the matching stat-table row. Left the fixed cert-renewal incident in
place since there's nothing exploitable in a resolved issue.
2026-08-26 00:22:19 +03:00
thesabear fb85d9c8f5 secrets-and-pki: add real Vault evidence, expand access model
Access model now covers the narrowly-scoped read-only utility policies
(ansible sync roles, metrics-reader, pki-reader) alongside the
host-scoped svc-* pattern - the fuller picture confirmed live against
Vault's actual ACL policy list, not just the original narrower claim.

Added two real screenshots: the live policy list, and an actual audit
log entry showing a KV read with every secret value as hmac-sha256:...
instead of plaintext - proof for the audit-trail claim instead of just
an assertion of it.
2026-08-26 00:15:14 +03:00
thesabear 818892c8a5 secrets-and-pki: verify against Trilium, replace diagrams with real content
Removed the before/after plaintext-secrets Mermaid diagram (the bullets
right below it already said the same thing more clearly) and the
Architecture flowchart (its per-host labels were silently missing
registry-token and Hawser-secret details that didn't fit in the boxes).

Replaced the flowchart with an accurate, complete "who gets what" table
sourced directly from Trilium, one sentence for the proxy-routing fact
it was trying to show, and a new sequence diagram for the actual secret
lifecycle (auth -> render -> read -> async rotation) - a genuinely
different kind of diagram since that's process/time-ordered information
a table can't represent well.

Also restored real specificity Trilium had that the doc had flattened
into vague language: the cert-renewal row now names Technitium
specifically and states the actual incident (an expired cert silently
served for 19 days before the auto-rebuild hook existed), and the audit
trail row now states the real rotation policy (weekly, 8 generations).
2026-08-25 23:30:58 +03:00
thesabear 12e69acde7 docs: deepen security/hardening batch to real deep-dive standard
Names real technology throughout (Vault, Authentik, pfSense,
firewalld, Wazuh) instead of staying generic, adds a 'why this
approach vs the alternative' section to every doc, cross-links
heavily between docs instead of treating each system in isolation.
2026-08-22 08:04:26 +03:00
thesabear 41a6f569b4 docs: rework security/hardening batch with diagrams and callouts
Mermaid diagrams up front, GFM alert callouts for key decisions and
gotchas, tables instead of bullet walls - replaces plain prose with
the visual template established for security-monitoring.md.
2026-08-21 23:17:10 +03:00
thesabear d5f37b5787 docs: add security/hardening deep-dive write-ups
Secrets & PKI, Secret Distribution Model, SSO & Identity,
Firewall & Network Segmentation, DNS Naming Model, and Security
Monitoring - the first batch of per-system write-ups linked from
the new README, sourced and sanitized from the internal KB.
2026-08-21 22:48:50 +03:00