diff --git a/betrieb/sicherheit.md b/betrieb/sicherheit.md new file mode 100644 index 0000000..3f6203e --- /dev/null +++ b/betrieb/sicherheit.md @@ -0,0 +1,52 @@ +--- +title: Sicherheit & CVE-Remediation +description: CVE-Remediation-Runbook +published: true +date: 2026-08-14T04:58:03.498Z +tags: +editor: markdown +dateCreated: 2026-08-14T04:58:03.498Z +--- + +# Sicherheit & CVE-Remediation + +Wie wir mit dem Schwachstellen-Report umgehen. Die **Trivy-CVE-Pipeline** (auf CFGMON: Scanner + Exporter + Grafana + Alertmanager) scannt alle Container-Images des Stacks; das **Grafana-CVE-Dashboard** (Ordner *Security*) ist der Fortschrittsmesser. Alarme laufen aggregiert nach Matrix. + +## Grundhaltung: triagen, nicht alles auf einmal + +Ein voller Scan meldet leicht tausende CVEs — die meisten MEDIUM/LOW oder ohne Fix. Nicht die Zahl jagen, sondern nach **Schwere × Fixbarkeit** priorisieren: + +1. **CRITICAL zuerst, dann HIGH.** MEDIUM/LOW nachrangig. +2. **„fixed available" vor „won't-fix".** Ein CVE ohne verfügbaren Patch kostet nur Zeit. +3. **Exponiert vor intern.** Ein CVE in einem öffentlich erreichbaren Dienst wiegt schwerer als in einem rein clusterinternen. + +## Haupthebel: updaten + +Die allermeisten CVEs stecken in **veralteten Base-Images**. Der wirksamste Fix ist das Update der Komponente → siehe **[Upgrades](/betrieb/upgrades)**. Priorisierte Ziele (Stand des letzten Scans): + +- **Authentik** (`goauthentik/server`) — Spitzenreiter (369 CRIT+HIGH), höchster Einzelgewinn. ⚠️ DB-Migration + Blueprint-Schema → vorher `authentik-backup` prüfen. +- **coturn `:latest`** — auf eine **gepinnte** Version. `:latest` ist nicht reproduzierbar und nicht sauber scanbar. +- **busybox** (alt) + die **eigenen Images** (`axion-backup`, `axion-secret-rotation`, `clamav-http-scanner`) auf aktueller Base neu bauen. +- **ESS-Chart** anheben (bringt die Synapse/MAS/MatrixRTC-Basis mit). + +## Was sich nicht fixen lässt + +Bleibt ein CVE ohne Patch (won't-fix) oder betrifft eine nicht genutzte/nicht exponierte Komponente: + +- **Mitigieren:** NetworkPolicy (Dienst nicht erreichbar), Feature aus, Config-Härtung. +- **Bewusst akzeptieren + suppress-en:** in **`.trivyignore`** eintragen — **immer mit Begründung und Review-Datum**. Ohne Suppression rauscht der Report zu und echte neue CVEs gehen unter; ohne Review-Datum wird die Ausnahme dauerhaft und niemand prüft sie nach. + +``` +# CVE-2025-XXXXX — glibc, nur in ; kein Fix vor Upstream-Release; nicht exponiert. +# Review: 2026-11-01 +CVE-2025-XXXXX +``` + +## Ablauf (ein Remediation-Pass) + +1. Aktuellen Report ziehen (Grafana-Dashboard / Trivy-Exporter). +2. CRITICAL + HIGH mit verfügbarem Fix listen → betroffene Komponenten updaten ([Upgrades](/betrieb/upgrades)); riskante (Authentik/ESS) einzeln + mit Backup. +3. Rest triagen: mitigieren oder mit Begründung suppress-en. +4. **Re-scannen**, Delta im Dashboard messen, wiederholen. + +Nachverfolgt im Backlog unter **M5 (Härtung)**.