Prepare v2.0.91 and record verified downloader recovery deployment
This commit is contained in:
@@ -8,6 +8,12 @@ Diese Datei hält den verifizierten technischen Arbeitsstand fest. Sie enthält
|
||||
|
||||
## Zuletzt verifizierter Stand
|
||||
|
||||
- 22. September 2026, v2.0.91 zur Veröffentlichung vorbereitet; Sascha hat ausschließlich den Downloader (nicht den parallel in anderem Chat betreuten Uploader) sowie produktive Schlüssel-Einrichtung, kurzen Dienstneustart und anschließendes Release auf beiden Plattformen ausdrücklich freigegeben. Neuer Arbeitsbranch `release/v2.0.91`, Paketversion 2.0.91.
|
||||
- Produktiver Downloader-Backup-Dienst `mdd-backup-api.service` unter Benutzer `mdd-backup` auf `217.182.174.208` umgestellt: `/opt/mdd-backup-api/current` zeigt auf `/opt/mdd-backup-api/releases/20260922-v2.0.91`. Systemd-Drop-in `/etc/systemd/system/mdd-backup-api.service.d/recovery.conf` setzt `RECOVERY_PUBLIC_KEY_FILE=/etc/mdd-backup-recovery/public.pem`. Privater Schlüssel ausschließlich unter `/root/mdd-recovery-keys/private.pem` (0600, Verzeichnis 0700); Dienstzugriff darauf ausdrücklich negativ geprüft. Öffentlicher Schlüsselfingerabdruck `dyUMhSqnlCdfQjyHTCBvA0EklRtSXSjel8MUzafpjCY`.
|
||||
- Vorherige zwölf Sicherungen aus `/var/lib/mdd-backup-api`, Dienst und Konfiguration nach `/root/mdd-recovery-preflight-YbOuCU/rollback.tar.gz` gesichert; SHA-256 `e4bfe2f80f4d05dcb095888d28bd8b1e65723630a4c27ca5da036d26f0237bf3`. Archiv extrahiert und Daten/Config per Hash verifiziert. Staging auf Kopie: alle 16 Server-Tests unter Node 20.20.2 bestanden, zwölf alte Blobs unverändert abrufbar, neuer Export/Admin-Recovery/Import/Löschen erfolgreich. Nach freigegebener Umstellung denselben Ablauf über `https://downloader.24-music.de/backup-api` geprüft; künstliche Testsicherung wieder per API gelöscht, alle zwölf Bestandsdateien unverändert. Altes Dienstziel für Rollback: `/opt/mdd-backup-api/releases/20260807T183300`.
|
||||
- Separater verschlüsselter Private-Key-Export lokal unter `C:\Users\Sascha\AppData\Local\MDD-Recovery\20260922`: PKCS#8/AES-256-CBC, 600.000 Iterationen, zufällige Passphrase per Windows-DPAPI CurrentUser geschützt; NTFS-Zugriff nur Sascha/SYSTEM. Transfer-Hash und tatsächliches lokales Entschlüsseln bis zum öffentlichen Schlüssel verifiziert, kein privater Klartextschlüssel lokal abgelegt. Die DPAPI-Sicherung benötigt Saschas Windows-Profil; vor Rechner-/Profilwechsel separat portabel sichern. Desktop-Anleitung um echte Serverpfade und Sicherungsort ergänzt. Keine Geheimnisse in Git oder Release-Dateien.
|
||||
- Release-Vorprüfung 2.0.91: TypeScript, Self-Check, Main-/Renderer-Build erfolgreich. Vollständiger Clientlauf mit Ausschluss aller vier Symlink-namentlichen Tests: 2.799 bestanden, acht übersprungen (vier optionale plus vier Symlink). Die zwei regulär ausführbaren Symlink-/Junction-Tests separat erfolgreich nachgeprüft; insgesamt 2.801 erfolgreiche Client-Tests, nur zwei bekannte Windows-Berechtigungs-Fixtures ausgenommen und vier optionale Tests übersprungen. Installer/Portable 2.0.91 gebaut, beide Archive mit `verify_public_release.mjs --verify-archives` samt Lizenzdateien und Update-Metadaten erfolgreich geprüft. Bisher noch kein Release veröffentlicht.
|
||||
|
||||
- 22. September 2026: Administrative Wiederherstellung für neue Online-Sicherungsschlüssel implementiert, noch nicht veröffentlicht oder produktiv eingerichtet. App-Exporte verlangen nun einen konfigurierten öffentlichen RSA-3072-Schlüssel vom Backup-Dienst und hinterlegen den MDD2-Schlüssel ausschließlich als OAEP-SHA-256-verschlüsselte Kopie. OAEP bindet ID, Blob-Hash und Löschverifikator. Speicherung/Löschung der Kopie erfolgt atomar mit dem bisherigen Datensatz; alte Clients und vorhandene Sicherungen bleiben kompatibel. Ohne Recovery-Konfiguration scheitern neue Exporte ausdrücklich statt still ohne Schlüsselkopie zu speichern.
|
||||
- Sicherheitsentscheidung ausdrücklich von Sascha bestätigt: Der Betreiber darf mit dem separat geschützten privaten Wiederherstellungsschlüssel Online-Schlüssel und damit Sicherungsinhalte einschließlich Zugangsdaten entschlüsseln. Der öffentliche Dienst erhält nur `RECOVERY_PUBLIC_KEY_FILE`, niemals den privaten Schlüssel; keine öffentliche Recovery-/Listen-API. Der Exportdialog informiert darüber auf Deutsch/Englisch. Bereits verlorene Schlüssel alter Sicherungen lassen sich nicht nachträglich rekonstruieren.
|
||||
- Administratives Werkzeug: `node services/backup-api/src/recovery-admin.mjs init <neues-verzeichnis>`, `list <datenverzeichnis>` und `recover <datenverzeichnis> <id> <private.pem> <neue-ausgabedatei>`. Nur Datum, ID und Schlüsselfingerabdruck werden aufgelistet. Recovery prüft OAEP, MDD2-Prüfsumme, Löschverifikator und AES-GCM; Ausgabe ausschließlich in eine neue Datei außerhalb des Datenverzeichnisses, keine Klartextschlüssel im Terminal. Keine bestehenden Dateien werden überschrieben. Unix-Rechte 0600/0700; auf Windows zusätzlich NTFS-ACLs erforderlich. Private Schlüssel getrennt verschlüsselt sichern und bei Rotation ältere Schlüssel behalten.
|
||||
|
||||
Reference in New Issue
Block a user