Zielsetzung
Um die systemische Abhängigkeit vom Primärhost aufzuheben, müssen alle Backup-Artefakte (Datenbank-Dumps und Datei-Snapshots) unmittelbar nach ihrer Erstellung auf ein unabhängiges Sekundärsystem transferiert werden. Dies schützt vor Totalverlusten bei Provider-Störungen oder kompromittierten Host-Umgebungen.
Funktionale Anforderungen
- Automatischer Trigger: Der Transferprozess muss unmittelbar an den erfolgreichen Abschluss der lokalen Sicherungs-Jobs gekoppelt sein (Event-basiert oder via Systemd-Chain).
- Verschlüsselte Übertragung: Sämtliche Daten müssen über gesicherte und verschlüsselte Protokolle übertragen werden, um die Vertraulichkeit während des Transports zu gewährleisten.
- Integritätsprüfung: Nach dem Transfer muss ein Abgleich (z. B. via Checksummen) erfolgen, um sicherzustellen, dass die Daten auf dem Sekundärsystem valide und vollständig angekommen sind.
- Automatisierte Bereinigung (Retention): Das Sekundärsystem soll eine eigene Rotationslogik verfolgen, die unabhängig von der lokalen Vorhaltung auf dem Primärserver agiert (z. B. längere Vorhaltezeit remote).
Sicherheits- & Diskretionsvorgaben
- Abstraktion der Zielinfrastruktur: Die Konfiguration der Ziel-Endpunkte (IPs, URIs, Zugangsdaten) darf nicht im Quellcode oder in öffentlichen Repositorys hinterlegt werden. Diese sind über gesicherte Umgebungsvariablen oder lokale Secrets-Files zuzuführen.
- Minimal-Berechtigungs-Prinzip: Der für den Transfer genutzte Account darf auf dem Zielsystem nur über Schreibrechte für das spezifische Backup-Repository verfügen (Append-only oder restricted shell).
Nicht-funktionale Anforderungen
- Bandbreitenschonung: Der Transfer sollte idealerweise inkrementell oder komprimiert erfolgen, um die Netzwerklast zu minimieren.
- Monitoring & Alerting: Ein Scheitern der Distribution muss eine Benachrichtigung auslösen, da ein lokales Backup allein als "nicht gesichert" im Sinne der Strategie gilt.
Abnahmekriterien
- Erfolgreicher Transfer eines Test-Backups auf das Sekundärsystem.
- Verifikation der Datenintegrität auf der Gegenseite.
- Nachweis, dass bei einem Abbruch der Verbindung der Prozess sauber terminiert und eine Fehlermeldung generiert.