Document verified production activation of backup IP metadata

This commit is contained in:
Sucukdeluxe
2026-09-22 04:58:18 +02:00
parent aeff3193e6
commit ee37d8fca5
+2
View File
@@ -8,6 +8,8 @@ Diese Datei hält den verifizierten technischen Arbeitsstand fest. Sie enthält
## Zuletzt verifizierter Stand ## Zuletzt verifizierter Stand
- IP-Metadaten am 22. September 2026 nach ausdrücklicher Freigabe produktiv aktiviert: `mdd-backup-api.service` zeigt über `/opt/mdd-backup-api/current` auf `/opt/mdd-backup-api/releases/20260922-v2.0.91-ip`. Nur dieser Dienst wurde kurz neu gestartet; Uploader, Clients und bestehende Schlüssel unverändert. Live-Test über die öffentliche Adresse bestätigt gespeicherte Upload-IP, Bericht mit Datum/IP/Schlüssel und normalen Import. Mitgesendetes gefälschtes `X-Forwarded-For` wird von Nginx überschrieben; öffentliche Restore-Antwort enthält weiterhin ausschließlich den Blob. Beide künstlichen Testdatensätze per API entfernt; alle 14 bisherigen Sicherungen hashgleich. Prüfbericht: `/root/mdd-recovery-preflight-R9Egj0/ip-activation-report.json`. Kein neues Windows-Release erforderlich; Client 2.0.91 funktioniert unverändert. Bestehende Sicherungen behalten unbekannte IP; neue Exporte erhalten die Herkunfts-IP. Desktop-Anleitung auf aktivierten Zustand aktualisiert.
- 22. September 2026, nach v2.0.91: Upload-IP als administrative Metadaten für neue Downloader-Online-Sicherungen implementiert; noch nicht produktiv aktiviert. Arbeitsbranch `fix/backup-source-ip`. `sourceIp` wird ausschließlich aus der serverseitig erkannten Request-Adresse ermittelt, nicht aus Nutzdaten. Produktiv ist der Dienst nur über Loopback erreichbar; Nginx überschreibt `X-Forwarded-For` mit `$remote_addr` (read-only geprüft). Bei Proxy/VPN ist dies ggf. deren Ausgangs-IP. Keine rückwirkende Zuordnung bei bestehenden Sicherungen, keine Ausgabe der IP über die öffentliche Restore-API. - 22. September 2026, nach v2.0.91: Upload-IP als administrative Metadaten für neue Downloader-Online-Sicherungen implementiert; noch nicht produktiv aktiviert. Arbeitsbranch `fix/backup-source-ip`. `sourceIp` wird ausschließlich aus der serverseitig erkannten Request-Adresse ermittelt, nicht aus Nutzdaten. Produktiv ist der Dienst nur über Loopback erreichbar; Nginx überschreibt `X-Forwarded-For` mit `$remote_addr` (read-only geprüft). Bei Proxy/VPN ist dies ggf. deren Ausgangs-IP. Keine rückwirkende Zuordnung bei bestehenden Sicherungen, keine Ausgabe der IP über die öffentliche Restore-API.
- `recovery-admin.mjs list` liefert zusätzlich `sourceIp` (Legacy: null). `recover ... --with-metadata` schreibt `TT.MM.JJJJ - HH:mm | IP: … | Schlüssel: MDD2-…` ausschließlich in eine neue geschützte Datei; Zeit der Sicherung in `Europe/Berlin`, Sommer-/Winterzeit berücksichtigt. Ohne Option bleibt die bisherige reine Schlüsseldatei unverändert. Alte Sicherungen zeigen `IP: unbekannt`; ungültige Metadaten werden nicht als IP ausgegeben. Kein neues Windows-Update nötig, keine Änderung an Download/Entpacken oder Uploader. - `recovery-admin.mjs list` liefert zusätzlich `sourceIp` (Legacy: null). `recover ... --with-metadata` schreibt `TT.MM.JJJJ - HH:mm | IP: … | Schlüssel: MDD2-…` ausschließlich in eine neue geschützte Datei; Zeit der Sicherung in `Europe/Berlin`, Sommer-/Winterzeit berücksichtigt. Ohne Option bleibt die bisherige reine Schlüsseldatei unverändert. Alte Sicherungen zeigen `IP: unbekannt`; ungültige Metadaten werden nicht als IP ausgegeben. Kein neues Windows-Update nötig, keine Änderung an Download/Entpacken oder Uploader.
- Verifiziert: TypeScript, elf Client-/Service-Integrationstests und alle 22 Server-Tests erfolgreich, inklusive IPv4/IPv6, fehlender/ungültiger IP, ignoriertem Forwarding-Header ohne Proxy-Vertrauen, unveränderlichen Metadaten bei doppeltem Upload, öffentlicher API-Abgrenzung, Datum/Sommer-/Winterzeit, Admin-Rohformat und formatierter Ausgabe ohne Schlüssel in Logs. - Verifiziert: TypeScript, elf Client-/Service-Integrationstests und alle 22 Server-Tests erfolgreich, inklusive IPv4/IPv6, fehlender/ungültiger IP, ignoriertem Forwarding-Header ohne Proxy-Vertrauen, unveränderlichen Metadaten bei doppeltem Upload, öffentlicher API-Abgrenzung, Datum/Sommer-/Winterzeit, Admin-Rohformat und formatierter Ausgabe ohne Schlüssel in Logs.