TP41 angelegt: CF-Access-Reparatur + ZT-Konsolidierung (Kern live, Handoff)

Live via CF-API erledigt: Session 720h, login_method-Loch zu (bf-users
email-only christoph+geli), zt-Gruppen (humans/home/automation), vw voll
Bypass + vw/admin per WAF geblockt (CF-Edge + Mobilfunk verifiziert),
API-Token auf vollstaendiges Token konsolidiert.

Offen (an neue Session uebergeben): T4 zt-svc (kumulatives Service-Token +
Terpene-Migration), T3 WARP-interne Aufloesung, T5 GitHub/Google-Callback in
den Provider-Konsolen (der eigentliche OTP-Fix), T2 404-Variante, T6 Rate-Limit.

Handoff: docs/handoff-20260901-tp41.md

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-09-01 16:11:12 +02:00
parent 07b595c45a
commit 284df839db
2 changed files with 137 additions and 0 deletions

View File

@@ -31,6 +31,11 @@ Mgmt (VLAN99, Ist 2026-08-16): core `.99.1` · branch `.99.2` · ap1 `.99.11` ·
**Compliance am 2026-08-31 nach vollem Refresh (Backup→Intended→Compliance) gelesen: 128/135.**
*(Die Fassung vom 2026-08-16 stand bis zum 18. hier und war an vier Stellen überholt. Wer diesen Block
liest, liest ihn als Erstes: er wird bei jeder Änderung mitgezogen, nicht nur die TP-Abschnitte.)*
- ⏳ **TP41 CF-Access-Reparatur (2026-09-01, Kern live, Rest an neue Session übergeben):** Session 720h,
login_method-Loch zu (`bf-users` email-only), `zt-`-Gruppen, vw voll Bypass + `vw/admin` per WAF
geblockt (Mobilfunk-verifiziert), API-Token auf vollständiges `…4148` konsolidiert. **Offen:** T4
(`zt-svc`), T3 (WARP-intern), **T5 = GitHub/Google-Callback in den Provider-Konsolen** (der eigentliche
OTP-Fix). Handoff: [`docs/handoff-20260901-tp41.md`](handoff-20260901-tp41.md).
- ✅ **TP16.3 ABGESCHLOSSEN (2026-09-01):** Flip **und** Abbau durch. Öffentlich laufen nur noch
`bf-public` (12 Connectoren) und `fm` — die drei Alttunnel `bf-mm`/`bf-nas`/`bf-pve` **und** der
projektfremde `terpene-db` sind gelöscht, **7 cloudflared-Container** entfernt (inkl.
@@ -475,6 +480,7 @@ nachmessen und dann entscheiden**. Blocker gibt es keine mehr. TP5 ist in der Na
> | TP37 | 🔜 | Nautobot als Netzwerkdoku: Hosts/Container/Dienste + CF-Connectoren (Okay 08-30) | — |
> | TP38 | 🔜 | OOB-Mgmt: untagged-VLAN99-Port je Switch | — |
> | TP40 | 🔜 | HA-Recorder-Retention: 41 GB `states` beschneiden (Okay 09-01) | — |
> | TP41 | ⏳ | CF-Access-Reparatur + ZT-Konsolidierung: Session 720h + login_method-Loch zu + `zt-`-Gruppen + vw/admin-WAF ✅; T3(WARP-intern)/T4(zt-svc)/T5(IdP-Konsolen) offen | — |
> | — | — | **35 archivierte TPs** in `teilprojekte-archiv.md` (inkl. TP39 ✅ 2026-09-01) | — |
### TP5.1 — DNS-Visibility & Flow-Observability für Low-Trust-Geräte (Airfryer-Fall) ▸ vorgemerkt
@@ -2854,6 +2860,33 @@ Der HA-Recorder schreibt **unbegrenzt** — es ist keine `purge_keep_days`-Grenz
Resize tauchte dort nur auf; die **Ursache** (HA-Retention) ist HA-seitig und darum ein eigenes TP.
- 🔴 **Kein eigenmächtiger Datenlöschvorgang** — `purge` wirft echte Historie weg; die
Aufbewahrungsdauer ist eine Nutzerentscheidung. Diese Session hat **nur** vergrössert und gemessen.
### TP41 — CF-Access-Reparatur + Zero-Trust-Konsolidierung ▸ ⏳ **ANGELEGT 2026-09-01, Kern live**
**Auslöser:** CF-Access zwang Christoph **und Geli** täglich zum OTP-Login (soll: 30 Tage); GitHub/Google
„funktionieren nicht". Root-Causes: Team-Domain-Rename `bf4`→`emsenhuber` (Provider-Callback veraltet),
App-Session 24h, diverse Ordnungs-/Sicherheitslecks. Vollständiger Verlauf + offene Schritte:
**[`docs/handoff-20260901-tp41.md`](handoff-20260901-tp41.md)**. Branch `tp41-cf-access-repair`.
**✅ Live erledigt:** Session 720h (Wildcard/vw/Warp-Login) · login_method-Loch zu (reusable Policy
`bf-users` = nur `email:christoph`+`email:geli`) · `8e44f5d1` von 4 Apps auf **nur Terpenfinder**
entkoppelt · Access-**Gruppen** `zt-humans`/`zt-home`/`zt-automation`, Policies zeigen darauf · **vw voll
Bypass** (Lebensader offen) + **`vw/admin` per WAF-Regel öffentlich geblockt** (CF-Edge + Mobilfunk
verifiziert) · API-Token auf das vollständige `…4148` konsolidiert (User hat Service-Tokens- + Zero-Trust-
Write ergänzt), altes `…2174` revoken.
**🔜 Offen:** **T4** kumulatives Service-Token `zt-svc` (claude-mcp rename+rotate, Terpene-Migration
`blaueblueten-n8n`, alte 2 Tokens löschen) · **T3** WARP löst `emsenhuber.net` intern auf (Local Domain
Fallback → `10.40.20.1`; account-weit) · **T5 (USER)** GitHub-OAuth `Ov23li2h96hAkGRPJXYV` + Google-Client
Callback = `https://emsenhuber.cloudflareaccess.com/cdn-cgi/access/callback` (**der eigentliche OTP-Fix**,
Fehler „redirect_uri is not associated" bestätigt) · **T2** 404 statt 403 nur Origin-seitig (WAF-Custom-
Response = Free-Plan-gesperrt) · **T6** optional Rate-Limit.
**🆕 dw/Geli an Auth vorbei (CGNAT):** Split-Horizon in dw-FritzBox `420.teilzeitladen.xyz` → BF-Caddy
über WG; Caddy serviert die Terpene-App mit Cert (DNS-01, Token hat teilzeitladen.xyz-DNS). Cross-Projekt.
**Abgrenzung:** hass/gitea bleiben (diese Runde) öffentlich; Terpenfinder-Human-Policies nicht angefasst;
**Gitea-Least-Privilege** = eigener künftiger TP (jedes Projekt repo-scoped Login, Admin nur Claude/Christoph).
- Bezug **TP11** (Monitoring): eine Plattenfüllstand-Warnung hätte das Wochen früher gezeigt.
### TP37 — Nautobot als durchgehende Netzwerkdoku: Hosts/Container/Dienste, erster Anwendungsfall CF-Connectoren ▸ 🔜 ANGELEGT 2026-08-30 (User-Okay erteilt)