Mirror Komodo IP-allowlist labels and document de-publicization

Codex applied the ipallowlist middleware (Tailnet 100.64.0.0/10 + LAN 192.168.178.0/24) to the Komodo router live in the inline-managed self-stack; public now returns 403. Mirror the labels in ops/komodo/docker-compose.yml for parity (not auto-deployed), record the decision in docs/DECISIONS.md, and update docs/AUTH_MATRIX.md.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-23 12:11:45 +02:00
parent ad47979000
commit 813d3bd303
3 changed files with 44 additions and 5 deletions
+32
View File
@@ -11,6 +11,38 @@ in `HOMELAB_ARCHITECTURE_MASTER_V2.md` §13, `docs/MASTER_TODO.md` (Geparkt),
---
## 2026-06-23 - Komodo nur aus vertrauenswuerdigen Netzen (IP-Allowlist statt public)
**Entscheidung:** Der Komodo-Router (`komodo.kaleschke.info`) bekommt eine
Label-definierte `ipallowlist`-Middleware auf Tailnet `100.64.0.0/10` + LAN
`192.168.178.0/24`; public-Zugriff liefert kuenftig `403`. KEINE ForwardAuth
(die bewusste Komodo-Ausnahme bleibt), `KOMODO_HOST` bleibt
`https://komodo.kaleschke.info`. Der GANZE Router wird begrenzt, kein
pfadbasierter Public-Bypass.
**Kontext:** Audit 2026-06-23 (P1): Komodo war public mit `200` erreichbar und
koppelt ueber den RW-Docker-Socket der Periphery an Host-root-aehnliche Macht
(Core -> Periphery -> `docker.sock` -> jeder Container/Datenpfad). Read-only
gemessen: Gitea→Komodo-Webhooks (`/listener`) und Periphery (`/ws/periphery`)
laufen INTERN ueber `komodo-core:9120`, NICHT ueber Traefik. Der public Router
hat damit keine legitimen externen Consumer; eine Allowlist auf dem ganzen Router
schliesst die Public-Flaeche, ohne Automation zu brechen.
**Umsetzung / Ausnahme:** Der Komodo-Self-Stack ist inline in Komodo verwaltet
(`repo=""`, `files_on_host=false`, `webhook_enabled=false`, vgl. 2026-05-04),
KEIN GitOps-Push-Stack. Die Labels werden in der Komodo-UI am Inline-Compose
gesetzt; `ops/komodo/docker-compose.yml` ist nur Spiegel/Doku und wird zur
Paritaet nachgezogen.
**Alternativen:** Reines Tailscale-only (Route + public DNS-Record raus,
`KOMODO_HOST` auf Tailscale-Host) — strenger (kein 403-Endpunkt, keine
Hostname-Disclosure), aber mehr Aufwand und geaenderter Operator-Zugriff;
verworfen zugunsten des bewaehrten, minimalen Allowlist-Musters (analog Vault
/admin). **Review-Trigger:** Wunsch nach vollstaendiger Unsichtbarkeit von aussen
oder Aenderung am Komodo-Zugriffspfad.
---
## 2026-06-23 - Vaultwarden /admin nur aus vertrauenswuerdigen Netzen (IP-Allowlist)
**Entscheidung:** Das Vaultwarden-Admin-Panel `/admin` bekommt einen zweiten,