Files
proxdeploy/docs/issues/002-verschluesselung-server.md
T
florian.wildeandClaude Opus 5.5 48e2a5cb8f feat(server): Proxmox-Server verwalten mit Fingerprint-Pinning
Server lassen sich anlegen, prüfen, bearbeiten und löschen. Proxmox
liefert ab Werk ein selbst signiertes Zertifikat; der Admin sieht es
vor dem Speichern und bestätigt den SHA-256-Fingerprint.

Der Pin wird in einem eigenen undici-Connector geprüft, sodass eine
fremde Gegenstelle das Token nie zu sehen bekommt. Weder Prüfung noch
Pin ist im Schema, im Client und per CHECK ausgeschlossen.

Fehler von Proxmox werden zu Ursache und Hinweis; bei 403 nennt der
Hinweis das fehlende Recht samt Pfad. Getestet gegen einen HTTPS-Mock
und im gebauten Stand auf Desktop und 390 px.

Closes #002

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 09:35:10 +02:00

1.8 KiB
Raw Blame History

#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

  • AES-256-GCM-Helfer mit Versionspräfix, Tests (falscher Schlüssel, manipulierte Daten) – mit #001
  • Modell Server, Services, REST /api/v1/server, Formular mit Token-ID/Secret
  • TLS: Fingerprint holen (POST /server/pruefen), anzeigen, bestätigen, pinnen
  • Proxmox-Client mit undici-Agent und Fingerprint-Vergleich, UPID-Warten
  • SSH optional: Schlüsselpaar erzeugen, Einzeiler anzeigen (Host-Key-Pin folgt mit dem SSH-Test in #003)
  • Protokolleintrag je Änderung (geänderte Felder, nie Werte von Geheimnissen)
  • Server-Umschalter in der Seitenleiste, Serverliste auf der Übersicht

Akzeptanzkriterien

  • Secret erscheint nie in API-Antworten, Protokoll oder Logs (Test)
  • Falscher Fingerprint → klare Fehlermeldung, Verbindung getrennt bevor das Token gesendet wird (Test)
  • 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.