docs: slice 3 — both namespaces closed, five workloads left

authentik and monitoring are at zero workloads without a narrow rule;
matrix still has five, and those are exactly class C.

Destinations were read rather than guessed: alloy's from its running
configuration, authentik's mail host from the worker's environment. Mail is
load-bearing - the blueprints use password recovery and invitations - and
gets a /27 rather than two /32, deliberately the opposite call to ClamAV,
because a provider's mail block is not a CDN in front of half the internet.

The sharpest piece of evidence is the same host on a different port coming
back blocked: the rule bites per port, not per host.

And the positive control caught its third bad measurement of the day. The
first probe in alloy reported everything blocked including CoreDNS, because
that container has no nc and the command silently failed. Without the
control this would read "alloy is cut off" while it was shipping logs in
that very second. Repeated through an ephemeral container.

All restart counters in authentik date from 472 hours ago, so none of this
wave caused a bounce.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01F2Q4Ri8NGwyTZzScvKnWFM
This commit is contained in:
Thore Cimbal
2026-08-21 12:00:00 +00:00
co-authored by Claude Opus 5
parent 20cfeae0a8
commit c7f7e73c6b
+70 -1
View File
@@ -452,4 +452,73 @@ zurück auf eine. Zu keinem Zeitpunkt war DNS ohne Bedienung.
**Status:** `DONE`
> **STOP — Slice-Review.**
> **STOP — Slice-Review.** Freigegeben durch sorb, 2026-08-21.
### Slice 3 — Welle 3: die zwei Namespaces
- [x] **`authentik` und `monitoring` umbauen** — action: breite Regel auf
Ausschlussliste, je Arbeitslast eine enge Regel — verify: Deckungsgleich,
Wirkung gemessen — done.
**Ziele gelesen, nicht geraten.**
| Arbeitslast | Ziel | Quelle |
|---|---|---|
| `alloy` | `10.0.0.3:3100` und `:9090` | laufende Alloy-Konfiguration |
| `authentik` (Server + Worker) | `smtp.ionos.de:587` | Umgebung des Worker-Pods |
| `authentik-backup` | Storage Box | wie die Backups in `matrix` |
| `postgresql`, `kube-state-metrics` | nur intern | kein externer Bedarf |
**E-Mail ist tragend, nicht optional** — die Blueprints nutzen
Passwort-Wiederherstellung und Einladungen. Erlaubt als `/27` statt zwei
`/32`: Der Name löst heute auf `.97` und `.113` auf, beide im Block des
Anbieters. Eine dritte Adresse bräche den Versand, ohne dass jemand eine
Regel im Blick hätte. Das ist bewusst die **umgekehrte** Entscheidung zu
ClamAV — dort steht ein CDN vor dem halben Internet, hier die
Mail-Infrastruktur eines Anbieters.
**Nicht erlaubt und im Manifest vermerkt:** Authentiks Versionsprüfung.
Cloudflare, wechselnde Adressen, nichts hängt daran — der Aufruf scheitert
und wird protokolliert. Wer den Fehler später findet, soll wissen, dass er
Absicht ist.
**Evidence.**
Aus `authentik-worker`:
```
CoreDNS (Positivkontrolle): ERREICHBAR
smtp.ionos.de (erlaubt): ERREICHBAR
Storage Box (nicht erlaubt): blockiert
1.1.1.1 (nicht erlaubt): blockiert
```
Für `alloy` zweifach — funktional und portgenau:
```
juengster Loki-Eintrag: vor 0 Sekunden, 4 Streams
CoreDNS (Positivkontrolle): ERREICHBAR
Loki 10.0.0.3:3100 (erlaubt): ERREICHBAR
derselbe Host, Port 443 (nicht erlaubt): blockiert
1.1.1.1 (nicht erlaubt): blockiert
```
Die dritte Zeile ist der schärfste Beleg: **derselbe Host, anderer Port,
blockiert** — die Regel wirkt portgenau, nicht nur hostweise.
⚠️ **Die Positivkontrolle hat zum dritten Mal heute eine Fehlmessung
gefangen.** Der erste Versuch in `alloy` meldete *alles* als blockiert,
auch CoreDNS — der Container hat kein `nc`, das Kommando lief ins Leere.
Ohne die Kontrolle hätte hier „Alloy ist abgeschnitten" gestanden, während
es in Wahrheit im selben Moment Logs auslieferte. Wiederholt über einen
ephemeren Container, wie in Slice 1.
**Keine Nebenwirkung:** Alle Neustartzähler in `authentik` stammen von vor
472 Stunden — nichts davon geht auf diese Welle zurück.
**Bestand:** `authentik` **0**, `monitoring` **0**, `matrix` **5** — und
das sind genau die fünf der Klasse C.
**Status:** `DONE`
> **STOP — Slice-Review.**