diff --git a/docs/TASKS.md b/docs/TASKS.md index fc0827c..adc7a80 100755 --- a/docs/TASKS.md +++ b/docs/TASKS.md @@ -53,6 +53,15 @@ verankert. Was in dieser Session erledigt wurde: 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). +6. **Element Call Qualität nachgeschärft** — 720p-Zwischen-Simulcast-Layer ergänzt (sonst + harter Sprung von 1440p auf blockiges 360p bei kleinsten Netzwerkschwankungen), und + `video_codec: h264` statt VP8 (klassisches Simulcast wie VP8, kein SVC-Risiko wie bei + VP9, oft hardwarebeschleunigt v.a. auf iOS). Live verifiziert: 7/8 Tracks nativ H.264, + 1 sauberer VP8-Fallback. Deployed als `v0.2.3-elementcall-h264`. +7. **Backlog nach Gitea migriert** — restlicher offener Backlog (VP9-Retry, ThreadNet-Web-Bug, + MAS-Template-Link, WAF und 17 weitere Security-/Infra-Punkte) als Issues #11–#31 angelegt, + veraltete erledigte Punkte (Authentik Stage 2/E2E-Test/Invite-Links, Hetzner-Firewall, + SSH-Hardening) aus dieser Datei entfernt bzw. als done markiert. ### Offene Punkte - **VP9-Retry**: vermutete Ursache jetzt bekannt (LiveKit nutzt SVC für vp9/av1, Fork-Code @@ -261,31 +270,22 @@ verankert. Was in dieser Session erledigt wurde: - [x] **matrix-recovery Flow gebaut** – war komplett leer (0 Stages); Passwort-Reset funktioniert jetzt, verlinkt von der echten Login-Seite - [x] **Brand.default_application gesetzt** – behebt mehrere Dead-Ends, wenn eingeloggte User `/` ohne Ziel aufrufen - [x] **2FA/Passkey Selbst-Einrichtung** – Links zu `default-authenticator-totp-setup`/`-webauthn-setup` (2FA bleibt optional, `not_configured_action=skip`), dokumentiert unter `axion1337.chat/docs/setup/security.html` -- [ ] **Backlog**: MAS Custom-Template-Override, um den 2FA/Passkey-Link direkt auf `account.axion1337.chat/account/` anzuzeigen (statt nur über die Doku-Seite) – erfordert Forken der MAS Tera/Askama-Templates via `templates.path`, höherer Aufwand/Risiko, bei MAS-Updates zu pflegen +- [ ] **Backlog**: → **Issue #13** (MAS Custom-Template-Override für 2FA/Passkey-Link auf `account.axion1337.chat/account/`) --- ## 📋 Backlog (Weitere Aufgaben) -### Authentik Completion -- [ ] **Finish Authentik Stage 2 – MAS Integration** - - Prerequisites: Authentik OIDC Provider vollständig konfiguriert - - Task: Update `mas-secret.yaml`, enable password login disable - - Commit: `enable-authentik-oidc-integration-in-mas` - - Est. Effort: 30 min (manual + scripted) - -- [ ] **Test End-to-End Login Flow** - - Element Web login → MAS → Authentik → Matrix User Creation - - Create test users via Authentik - - Verify password reset flow - - Commit: (implicit in Stage 2) - - Est. Effort: 20 min - -- [ ] **Create Invite Links für neue User** - - Authentik Admin UI → Invitations → Create - - Set expiry dates (7d) + use limits - - Document procedure - - Est. Effort: 15 min +**Ab 2026-07-28 in Gitea-Issues gepflegt statt hier** (eine Quelle der Wahrheit) — offene Issues: +[#6](https://rohana.axion1337.de/sorb/axion1337.chat-gitops/issues/6) DB-Backup-Strategie, +[#9](https://rohana.axion1337.de/sorb/axion1337.chat-gitops/issues/9) Externe PostgreSQL-Migration, +[#11](https://rohana.axion1337.de/sorb/axion1337.chat-gitops/issues/11)–[#31](https://rohana.axion1337.de/sorb/axion1337.chat-gitops/issues/31) +(VP9-Retry, ThreadNet-Web-Build-Bug, MAS-Template-Link, WAF, Media-PVC-Backups, Pod Security +Admission, Federation-Allowlist, Mjolnir/Draupnir, Content-Scanner, External-Secrets, +Renovate/Trivy, Security-Advisory-Monitoring, automountServiceAccountToken, +unattended-upgrades, K3s-API-Security, auditd, Kernel-Hardening, Lynis, CrowdSec, Falco). +Die detaillierten Beschreibungen unten sind das historische Original, aus dem die Issues +entstanden sind — nicht mehr getrennt pflegen, stattdessen die Issues aktuell halten. ### Element Call Enhancement - [x] **Element Call Fork für Custom Constraints** (2026-07-28, Closes #8) @@ -450,24 +450,8 @@ verankert. Was in dieser Session erledigt wurde: ## 🔒 Security Hardening (Host & Cluster Level) ### Host OS Layer (Ubuntu/Debian) -- [ ] **Hetzner Cloud Firewall** - - Default-Deny inbound - - Allow: 80/443 (HTTP/HTTPS) - - Allow: 22 (SSH) from your IP only (or via WireGuard/Tailscale) - - Status: ✅ Can be done in Hetzner UI - - Est. Effort: 30 min - - Priority: **CRITICAL** (immediate, zero config cost) - -- [ ] **SSH Hardening** - - Disable password auth (key-only) - - Disable root login - - PermitRootLogin: no - - PasswordAuthentication: no - - MaxAuthTries: 3 - - Optional: Change SSH port (cosmetic, reduces log noise) - - Optional: SSH hinter WireGuard/Tailscale (eliminates fail2ban für SSH) - - Est. Effort: 2 hours - - Priority: **HIGH** (immediate) +- [x] **Hetzner Cloud Firewall** – Default-Deny inbound, siehe "Phase 7" oben. **Done.** +- [x] **SSH Hardening** – Key-only, Root-Login disabled, Port 2248, siehe "Phase 7" oben. **Done.** - [ ] **unattended-upgrades** - Enable automatic security updates