docs: Document NetworkPolicies rollout (issue #10), incidents, OOM fix, and identity cleanup
Create Release on Milestone Tag / create-release (push) Canceled after 0s
Create Release on Milestone Tag / create-release (push) Canceled after 0s
This commit is contained in:
+40
-17
@@ -1,7 +1,7 @@
|
|||||||
# aXion1337.Chat – Task List & Meilensteine
|
# aXion1337.Chat – Task List & Meilensteine
|
||||||
|
|
||||||
**Last Updated**: 2026-07-28
|
**Last Updated**: 2026-07-28
|
||||||
**Statusübersicht**: [✅ 12 Abgeschlossen] [🔄 0 In Progress] [📋 9+ Pending] [🔒 10 Security]
|
**Statusübersicht**: [✅ 13 Abgeschlossen] [🔄 0 In Progress] [📋 8+ Pending] [🔒 10 Security]
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -9,9 +9,9 @@
|
|||||||
|
|
||||||
| Kategorie | Count | Status | Details |
|
| Kategorie | Count | Status | Details |
|
||||||
|-----------|-------|--------|---------|
|
|-----------|-------|--------|---------|
|
||||||
| **Completed** | 12 | ✅ Done | K3S, Flux, ESS, Themes, Desktop, Monitoring, TURN, Authentik (Deploy+Enrollment/Recovery/2FA), Firewall, SSH, coturn Fix, Element Call Fork |
|
| **Completed** | 13 | ✅ Done | K3S, Flux, ESS, Themes, Desktop, Monitoring, TURN, Authentik (Deploy+Enrollment/Recovery/2FA), Firewall, SSH, coturn Fix, Element Call Fork, NetworkPolicies |
|
||||||
| **In Progress** | 0 | 🔄 — | — |
|
| **In Progress** | 0 | 🔄 — | — |
|
||||||
| **Backlog** | 9+ | 📋 Pending | DB Backups, PostgreSQL Migration, NetworkPolicies, MAS-Template-Link, VP9-Retry |
|
| **Backlog** | 8+ | 📋 Pending | DB Backups, PostgreSQL Migration, MAS-Template-Link, VP9-Retry |
|
||||||
| **Security Tasks** | 5 | 🔒 Pending | auditd, Kernel hardening, CrowdSec, Falco, WAF |
|
| **Security Tasks** | 5 | 🔒 Pending | auditd, Kernel hardening, CrowdSec, Falco, WAF |
|
||||||
|
|
||||||
### Priority Distribution
|
### Priority Distribution
|
||||||
@@ -25,7 +25,7 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 🗓️ Session-Zusammenfassung 2026-07-27/28 (weiter morgen)
|
## 🗓️ Session-Zusammenfassung 2026-07-27/28 (fortlaufend aktualisiert)
|
||||||
|
|
||||||
Nach längerer Pause wiederaufgenommen — Mac war neu aufgesetzt, Zugriff (SSH, Kubeconfig,
|
Nach längerer Pause wiederaufgenommen — Mac war neu aufgesetzt, Zugriff (SSH, Kubeconfig,
|
||||||
age-Key, Homebrew/flux/helm/sops/age) komplett wiederhergestellt und dauerhaft in `~/.zshrc`
|
age-Key, Homebrew/flux/helm/sops/age) komplett wiederhergestellt und dauerhaft in `~/.zshrc`
|
||||||
@@ -43,14 +43,26 @@ verankert. Was in dieser Session erledigt wurde:
|
|||||||
**Wichtig**: erzwungenes `video_codec: vp9` hat Calls kurzzeitig live komplett kaputt gemacht
|
**Wichtig**: erzwungenes `video_codec: vp9` hat Calls kurzzeitig live komplett kaputt gemacht
|
||||||
(kein Bild/Ton) — sofort zurückgerollt, ohne Codec-Zwang läuft's. Root Cause dafür nicht
|
(kein Bild/Ton) — sofort zurückgerollt, ohne Codec-Zwang läuft's. Root Cause dafür nicht
|
||||||
abschließend isoliert, nur umgangen.
|
abschließend isoliert, nur umgangen.
|
||||||
|
4. **Identitäts-Aufräumarbeiten**: `sorB`'s Authentik-E-Mail korrigiert (`thorec@hotmail.de`),
|
||||||
|
MAS OIDC-Link (`upstream_oauth_links`) von `sorB` zeigte fest auf den alten MAS-User
|
||||||
|
`akadmin`/`@akadmin:axion1337.chat` (Sub-Hash ist stabil über Username-Renames, daher blieb
|
||||||
|
die Verknüpfung nach dem Rename "akadmin"→"sorB" bestehen) — umgehängt auf `sorb`/
|
||||||
|
`@sorb:axion1337.chat`. Neue Identität `elbojoloco` angelegt (E-Mail `cfx@riot.8shield.net`),
|
||||||
|
verknüpft mit dem alten `akadmin`-MAS-User. **Übrig**: ein leeres, unverknüpftes
|
||||||
|
`@bojeledoggo:axion1337.chat`-Konto (Tippfehler-Artefakt) — User räumt das selbst auf.
|
||||||
|
5. **NetworkPolicies** (Issue #10 ✅ geschlossen) — siehe "Network Security" Abschnitt unten.
|
||||||
|
Zwei Live-Incidents beim Rollout (Port-Verwechslungen), beide binnen Minuten live gepatcht
|
||||||
|
und danach committed. Nebenbei: `matrixRTC`-Authorisation-Service OOM-Fix (20Mi→128Mi).
|
||||||
|
|
||||||
### Offene Punkte für morgen
|
### Offene Punkte
|
||||||
- **VP9-Retry**: Root Cause des Call-Ausfalls isolieren (Browser-Konsolen-Repro nötig), bevor
|
- **VP9-Retry**: Root Cause des Call-Ausfalls isolieren (Browser-Konsolen-Repro nötig), bevor
|
||||||
wieder versucht wird — siehe Backlog "Element Call Enhancement".
|
wieder versucht wird — siehe Backlog "Element Call Enhancement".
|
||||||
- **`ThreadNet-Web` Build-Bug**: `scripts/docker-link-repos.sh`/`docker-package.sh` nicht
|
- **`ThreadNet-Web` Build-Bug**: `scripts/docker-link-repos.sh`/`docker-package.sh` nicht
|
||||||
ausführbar committet + veralteter `matrix-js-sdk#develop`-Pin im Lockfile blockiert
|
ausführbar committet + veralteter `matrix-js-sdk#develop`-Pin im Lockfile blockiert
|
||||||
vollständigen Neu-Build des Web-Forks. Noch nicht gefixt, User hat noch nicht final
|
vollständigen Neu-Build des Web-Forks. Noch nicht gefixt, User hat noch nicht final
|
||||||
entschieden ob gewünscht.
|
entschieden ob gewünscht.
|
||||||
|
- **Verwaistes `@bojeledoggo:axion1337.chat`**: leeres Matrix-Konto ohne OIDC-Link, User räumt
|
||||||
|
das selbst auf (braucht dafür seinen eigenen Access-Token für die Admin-API).
|
||||||
- **MAS-Template-Link**: 2FA/Passkey-Setup-Links direkt auf `account.axion1337.chat/account/`
|
- **MAS-Template-Link**: 2FA/Passkey-Setup-Links direkt auf `account.axion1337.chat/account/`
|
||||||
statt nur über `docs/setup/security.html` — braucht MAS Custom-Template-Override
|
statt nur über `docs/setup/security.html` — braucht MAS Custom-Template-Override
|
||||||
(`templates.path`), größerer separater Task.
|
(`templates.path`), größerer separater Task.
|
||||||
@@ -334,18 +346,29 @@ verankert. Was in dieser Session erledigt wurde:
|
|||||||
- Priority: **HIGH** (data preservation)
|
- Priority: **HIGH** (data preservation)
|
||||||
|
|
||||||
### Network Security
|
### Network Security
|
||||||
- [ ] **NetworkPolicies – K8s-Layer Segmentation**
|
- [x] **NetworkPolicies – K8s-Layer Segmentation** (2026-07-28, Closes #10)
|
||||||
- Default-Deny Ingress für `matrix` namespace
|
- Default-Deny Ingress (egress left untouched) für `matrix` UND `authentik` namespaces,
|
||||||
- Allow rules:
|
per-Komponente Allow-Regeln in `apps/authentik/networkpolicy.yaml` und
|
||||||
- Ingress → MAS:443
|
`apps/production/networkpolicy.yaml`. Rollout: authentik zuerst als Pilot, dann matrix.
|
||||||
- Ingress → ElementWeb:443
|
- Empirisch verifiziert, dass K3s' eingebauter NetworkPolicy-Controller tatsächlich
|
||||||
- MAS ↔ Synapse:8008
|
durchsetzt (Testnamespace, Timeout- statt Refused-Verhalten unter Deny-Policy).
|
||||||
- Synapse ↔ Postgres:5432
|
- **Zwei Live-Incidents beim Rollout, beide binnen Minuten behoben**:
|
||||||
- Authentik → Postgres:5432
|
1. `authentik-server`: Regel erlaubte Service-Port 80/443, aber NetworkPolicy filtert
|
||||||
- Authentik → Loki:3100 (monitoring)
|
auf dem tatsächlichen Container-Port (9000/9443 nach kube-proxy-DNAT) — 502 auf
|
||||||
- Egress: Matrix-specific (federation, etc.)
|
`auth.axion1337.chat`, sofort korrigiert.
|
||||||
- Est. Effort: 1 day
|
2. `matrix-authentication-service`: Regel erlaubte Synapse nur auf Port 8081, aber
|
||||||
- Priority: **MEDIUM** (compliance, least-privilege)
|
Synapse ruft `/oauth2/introspect` tatsächlich auf **Port 8080** — jede
|
||||||
|
authentifizierte Anfrage (inkl. `/sync`) scheiterte mit 503, alle Clients zeigten
|
||||||
|
"Verbindung unterbrochen". Live gepatcht, dann committed.
|
||||||
|
- Lehre für zukünftige NetworkPolicies in diesem Repo: wo immer ein Service benannte
|
||||||
|
Ports (`targetPort: <name>`) nutzt, diese direkt in der Policy referenzieren statt
|
||||||
|
Portnummern zu raten — schließt genau diese Fehlerklasse aus.
|
||||||
|
- Nebenbefund (unabhängig von NetworkPolicies): `matrixRTC`-Authorisation-Service hatte
|
||||||
|
ein 20Mi-Memory-Limit (Chart-Default), OOM-gekillt nach ~74 Tagen Uptime während der
|
||||||
|
Verifikations-Calls — auf 64Mi/128Mi angehoben.
|
||||||
|
- `coturn` (hostNetwork) bewusst ausgenommen — NetworkPolicy greift dort nicht.
|
||||||
|
- `authentik-postgresql`'s Bitnami-Chart-Policy (Port 5432, quelloffen) bewusst nicht
|
||||||
|
angefasst/dupliziert, da Helm-verwaltet.
|
||||||
|
|
||||||
- [ ] **Pod Security Admission (Restricted)**
|
- [ ] **Pod Security Admission (Restricted)**
|
||||||
- Apply to `matrix` & `authentik` namespaces
|
- Apply to `matrix` & `authentik` namespaces
|
||||||
|
|||||||
Reference in New Issue
Block a user