Files
homelab-infra/docs/AUTH_MATRIX.md
T
Micha 813d3bd303 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>
2026-06-23 12:11:45 +02:00

4.7 KiB

Auth-Matrix

Typ: Inventar/Referenz · Stand: 2026-06-23 · Status: aktiv

Konsolidierte Review-Sicht auf die effektive Zugriffskontrolle je oeffentlicher UI/Domain. Bisher lag das verstreut: Authelia-ACL nur in der Live-Config, die Bypass-/Ausnahmefaelle in HOMELAB_ARCHITECTURE_MASTER_V2.md (Prosa + Service- und Ausnahmen-Tabellen) und die Begruendungen in DECISIONS.md. Diese Datei buendelt das an einem Ort und verlinkt auf die Quellen statt zu kopieren.

Quelle der Wahrheit

  • Authelia-ACL (bypass / two_factor / Catch-all): security/authelia/configuration.yml (access_control). Repo-zu-Host-Drift prueft services/authelia-diff.sh.
  • Dienste ohne ForwardAuth (bewusste Ausnahmen): Ausnahmen-Tabelle in HOMELAB_ARCHITECTURE_MASTER_V2.md + die jeweiligen DECISIONS.md-Eintraege.
  • Nicht-Authelia-Schutzschichten (Tailscale-Bind, Traefik-IP-Allowlist): die jeweilige docker-compose.yml per Label bzw. Host-Bind.

Diese Matrix ist die kommentierte Lese-/Review-Sicht. Bei Widerspruch gewinnen die oben genannten Quellen; dann diese Datei nachziehen.

Policy-Klassen

  • Bypass — Authelia laesst durch, kein 2FA; Schutz liegt allein in der App-eigenen Anmeldung. Bewusst fuer Public-Apps mit eigenen Clients.
  • two_factor — Authelia-ForwardAuth mit 2FA (Operator-TOTP), authelia@file.
  • Keine Authelia (native) — bewusste Ausnahme ohne ForwardAuth, App-Auth bleibt.
  • Tailscale-only / LAN-only — gar nicht oeffentlich, kein Traefik bzw. an Tailscale-/LAN-IP gebunden.
  • IP-Allowlist — oeffentlich geroutet, aber per Traefik-Middleware auf vertrauenswuerdige Quell-Netze begrenzt (sonst 403).

Matrix

UI / Domain Effektive Policy Mechanismus Quelle / Begruendung
auth.kaleschke.info Bypass (Authelia selbst) muss immer erreichbar sein
immich, paperless, mealie, vault, ntfy, git .kaleschke.info Bypass → native App-Auth, kein 2FA Authelia laesst durch configuration.yml; Public-Apps mit eigener Auth/Clients
vault.kaleschke.info/admin IP-Allowlist (Tailnet 100.64.0.0/10 + LAN 192.168.178.0/24), sonst 403 Traefik ipallowlist (Label) DECISIONS 2026-06-23 (Audit-P1)
files.kaleschke.info, scrutiny.kaleschke.info two_factor (explizit) authelia@file configuration.yml; scrutiny zusaetzlich privileged
uebrige *.kaleschke.info mit Middleware (monitoring/grafana, glances, glance, speedtest, bentopdf, mail-archiver, paperless-gpt, hermes, super-productivity, borg-ui, code-server) two_factor (Catch-all) authelia@file Catch-all configuration.yml; Haertung 2026-06-06
komodo.kaleschke.info IP-Allowlist (Tailnet + LAN), sonst 403; native (keine Authelia) Traefik ipallowlist (Label) + native Komodo-Auth DECISIONS 2026-06-23; Webhooks/Periphery laufen intern, nicht ueber Traefik
nextcloud Keine Authelia (native) WebDAV/CardDAV/Client-Flows DECISIONS 2026-04 / Ausnahmen-Tabelle
n8n.kaleschke.info Keine pauschale Authelia (native) Webhook-Endpunkte /webhook/* Ausnahmen-Tabelle; ⚠ Middleware-Abweichung lt. policy-check
plex.kaleschke.info Keine Authelia (native Plex) File-Provider-Route; WAN-Port 32400 + Remote Access aus DECISIONS 2026-05-28
home.kaleschke.info (homeassistant) Keine Authelia (native HA) Traefik + smarthome_net; LAN-Port 8123 Ausnahmen-Tabelle; ⚠ Middleware-Abweichung lt. policy-check
AdGuard-Admin Tailscale-only, nicht oeffentlich Host-Bind 100.80.98.33:8082, kein Traefik DECISIONS 2026-05-26
influxdb3-core :8181 LAN-only Writer (HA) Host-Port, kein Traefik, nicht in frontend_net dokumentierte Ausnahme

Review-Gaps (Audit 2026-06-23)

  • Komodo: beschlossen IP-Allowlist (Tailnet + LAN) statt public (DECISIONS 2026-06-23). Self-Stack ist inline in Komodo verwaltet → Labels via Komodo-UI setzen (Task #6), dann verifizieren (#7).
  • Bypass-Liste bewusst ohne 2FA: Bei App-CVE oder Account-Kompromiss greift davor kein Authelia. Akzeptiert fuer Public-Apps mit eigenen Clients; Review- Trigger = neue sensible App in der Liste oder veraendertes Risikoprofil.
  • Middleware-Abweichungen (policy-check TRAEFIK002): n8n und homeassistant sind erwartbar (native Ausnahmen). grafana steht nicht in der Ausnahmen-Tabelle und ist als Catch-all-two_factor gefuehrt — die abweichende Middleware ist live zu bestaetigen (offen).

Pflege

Diese Matrix bei jeder Aenderung an Authelia-ACL, vorgeschalteter Middleware, Tailscale-Bind oder IP-Allowlist mitziehen. Zugehoerige Drift-Erkennung: services/authelia-diff.sh (ACL), ops/policy-checks/check_repo.ps1 (Middleware- Standard TRAEFIK002).