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>
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 prueftservices/authelia-diff.sh. - Dienste ohne ForwardAuth (bewusste Ausnahmen): Ausnahmen-Tabelle in
HOMELAB_ARCHITECTURE_MASTER_V2.md+ die jeweiligenDECISIONS.md-Eintraege. - Nicht-Authelia-Schutzschichten (Tailscale-Bind, Traefik-IP-Allowlist): die
jeweilige
docker-compose.ymlper 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):n8nundhomeassistantsind erwartbar (native Ausnahmen).grafanasteht nicht in der Ausnahmen-Tabelle und ist als Catch-all-two_factorgefuehrt — 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).