Files
homelab-infra/docs/AUTH_MATRIX.md
T
Micha ad47979000 Add consolidated Auth-Matrix doc
Consolidate effective access policy per public domain (Authelia bypass/two_factor, native exceptions, Tailscale-only, IP-allowlist) into a single reviewable matrix, surfacing the Authelia bypass list that previously lived only in the live config. Indexed in docs/README.md.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 11:03:26 +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 Keine Authelia (native) bewusste Ausnahme, keine ForwardAuth (Webhooks//ws/periphery) DECISIONS 2026-04; Audit-P1: public + RW-Docker-Socket → Tailscale-only geplant (Task #5)
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 ist die kritischste offene Position: public erreichbar + RW-Docker- Socket. Plan: Tailscale-only (Task #5), interner Gitea→Komodo-Webhook bereits als erreichbar bestaetigt (Task #4).
  • 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).