# #002 Server-Verwaltung und Verschlüsselung **Status:** erledigt **Meilenstein:** v0.1.0 **Labels:** feature, sicherheit **Geschätzt:** 6 h **Tatsächlich:** 0 h 11 min ## Ziel Proxmox-Server anlegen, bearbeiten, löschen; Geheimnisse verschlüsselt. ## Aufgaben - [x] AES-256-GCM-Helfer mit Versionspräfix, Tests (falscher Schlüssel, manipulierte Daten) – mit #001 - [x] Modell `Server`, Services, REST `/api/v1/server`, Formular mit Token-ID/Secret - [x] TLS: Fingerprint holen (`POST /server/pruefen`), anzeigen, bestätigen, pinnen - [x] Proxmox-Client mit undici-Agent und Fingerprint-Vergleich, UPID-Warten - [x] SSH optional: Schlüsselpaar erzeugen, Einzeiler anzeigen (Host-Key-Pin folgt mit dem SSH-Test in #003) - [x] Protokolleintrag je Änderung (geänderte Felder, nie Werte von Geheimnissen) - [x] Server-Umschalter in der Seitenleiste, Serverliste auf der Übersicht ## Akzeptanzkriterien - [x] Secret erscheint nie in API-Antworten, Protokoll oder Logs (Test) - [x] Falscher Fingerprint → klare Fehlermeldung, Verbindung getrennt **bevor** das Token gesendet wird (Test) - [x] Playwright: Anlegen gegen Proxmox-Mock mit selbst signiertem Zertifikat, Desktop und 390 px ## Abhängigkeiten #001 ## Notizen / Entscheidungen - **TLS-Sitzungs-Cache aus:** eine wiederaufgenommene TLS-Sitzung schickt kein Zertifikat, der Pin wäre nicht prüfbar. - **„Weder TLS-Prüfung noch Pin“ ist unmöglich** – im Schema, im Client und als CHECK in der Datenbank. - **Adresse ohne Schema/Port** wird zu `https://host:8006` ergänzt. - **ssh2 ohne native Beschleuniger** (`allowBuilds: false`): reines JavaScript reicht, kein Compiler im Image. - Proxmox schreibt Fehlermeldungen in die HTTP-Statuszeile; `Permission check failed (/pfad, Recht)` wird zu einem Hinweis mit Recht und Pfad.