# 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`).