IT-Admin.tech

Retention-Policy und gesetzliche Aufbewahrung: Backup-Lifecycle konform umsetzen

Technisches Diagramm des Backup-Lifecycle mit S3-Lifecycle, Offsite-Replikation und Tape-WORM
Diagramm: Lebenszyklus von Backups mit Storage-Klassen, Offsite-Replikation, Tape-WORM und Audit-Log-Pfaden für rechtskonforme Aufbewahrung.

Retention-Policy ist eine zentrale Steuergröße für jeden Backup-Betrieb: Sie bestimmt, wie lange Sicherungen aufgehoben, wann sie verschoben und wann sie gelöscht werden. Das ist nicht nur eine technische Frage, sondern eine rechtliche und betriebliche: steuerrechtliche, handelsrechtliche und branchenspezifische Vorgaben schreiben Aufbewahrungsfristen vor; gleichzeitig müssen Backups praktikabel, prüfbar und restaurierbar bleiben. Dieses Magazinstück zeigt praxisnah, wie Sie eine Retention-Policy in Ihren Backup-Lifecycle integrieren, Risiken minimieren und Prüfpfade für Auditoren schaffen.

Warum eine Retention-Policy wichtig ist

Retention-Policy (deutsch: Aufbewahrungsrichtlinie) legt fest, welche Sicherungen wie lange aufbewahrt werden. Sie beeinflusst Kosten, Wiederherstellungsoptionen, Speicherarchitektur und Compliance. Ohne klare Policy drohen zwei Fehler: zu kurze Aufbewahrung (gesetzliche oder geschäftliche Anforderungen werden verletzt) oder zu lange Aufbewahrung (Kosten, erhöhte Angriffsfläche, Datenschutzprobleme). Beide Fälle führen zu Betriebsrisiken und Audit-Feststellungen.

Grundbegriffe kurz erklärt

Begriffe, die im Beitrag immer wieder auftauchen:

  • RTO (Recovery Time Objective): maximale Zeit, in der Systeme nach einem Ausfall wiederhergestellt sein müssen.
  • RPO (Recovery Point Objective): maximal tolerierbarer Datenverlust in Zeit (z. B. 15 Minuten).
  • Retention-Policy: Regeln für Aufbewahrungsdauer und -lebenszyklus von Backups.
  • Archiv: Langzeitspeicher mit längeren Aufbewahrungsfristen, oft schreibgeschützt; geeignet für gesetzliche Aufbewahrung.
  • WORM (Write Once Read Many): Speichermedium, das Daten nach dem Schreiben nicht mehr verändert; wichtig für revisionssichere Archivierung.

Gesetzliche Aufbewahrung: Welche Fristen gelten?

Gesetze und Vorschriften unterscheiden sich je nach Land und Branche. In Deutschland sind typische Fristen:

  • 10 Jahre für steuerrelevante Unterlagen (z. B. Rechnungen) nach AO/HGB.
  • 6 Jahre für handelsrechtliche Unterlagen in bestimmten Fällen.
  • Branchenspezifische Regelungen (z. B. Gesundheitswesen, Finanzdienstleister) können abweichen und längere Fristen vorsehen.

Wichtig: Backups sind oft Kopien produktiver Daten. Entscheidend ist, ob die Sicherung als Archiv im rechtlichen Sinn gilt oder nur Wiederherstellungszwecken dient. In beiden Fällen sollten Aufbewahrungsfristen dokumentiert und nachweisbar umgesetzt werden.

Retention-Policy in der Praxis: Anforderungen formulieren

Eine umsetzbare Retention-Policy enthält mindestens:

  1. Konkrete Fristen für Datentypen (z. B. Buchhaltungsdaten: 10 Jahre, Logdaten: 1 Jahr).
  2. Lebenszyklus-Stufen (Hot, Cool, Archive, Delete) und Migrationszeitpunkte.
  3. Verantwortlichkeiten (Owner, Data Custodian, Backup-Operator).
  4. Prüf- und Nachweismechanismen (Integritätschecks, Audit-Logs, Restore-Tests).
  5. Fallback- und Rückspeicherstrategie für Fälle fehlerhafter Löschungen.

Praktisch empfiehlt sich eine Matrix, die Datentypen, Fristen und Speicherklassen verbindet — das ist die Grundlage für technische Regeln im Backup-System.

Technische Umsetzung: Mapping der Policy auf Backup-Systeme

Jedes Backup-System hat eigene Mechanismen: Objekt-Storage unterstützt Lifecycle-Rules, Tape-Workflows bieten Offline-Archivierung, Backup-Appliances haben Policies für Retention-Typen. Drei zentrale Umsetzungswege:

  • S3/Object-Storage Lifecycle: automatische Übergabe in günstigere Storage-Klassen und Löschung nach definierten Tagen.
  • Backup-Software-Retention: inkrementelle/full-Ketten mit Aufbewahrungsfristen für Restore-Punkte.
  • Physische Archive (Tape, Offline-Medien) mit WORM/Write-Once-Mechanismen für revisionssichere Aufbewahrung.

Beispiel: S3-Lifecycle-Rule (praktische Vorlage)

Lebenszyklus-Regeln für Objekt-Storage legen fest, wann Objekte in Glacier/Archive verschoben und wann sie gelöscht werden. Hier ein vereinfachtes JSON für eine Regel, die nach 30 Tagen in das günstigere Archiv verschiebt und nach 3650 Tagen (10 Jahre) löscht:

JSON
{
  "Rules": [
    {
      "ID": "archive-after-30-delete-after-3650",
      "Filter": {"Prefix": "invoices/"},
      "Status": "Enabled",
      "Transitions": [{"Days": 30, "StorageClass": "GLACIER"}],
      "Expiration": {"Days": 3650}
    }
  ]
}

Warum das funktioniert: Die Cloud-Provider setzen Lifecycle-Regeln auf Bucket-/Präfixebene durch. Wann es scheitert: Wenn Metadaten oder Objektlabels fehlen, werden Objekte möglicherweise falsch klassifiziert. Deshalb Metadatenstandard und Präfix-Strategie vorher definieren.

Backup-Software: Retention bei inkrementellen Ketten

Viele Backup-Systeme implementieren Retention auf Recovery-Point-Objekten. Problematisch sind inkrementelle Ketten: Löschen eines Basis-Snapshots kann Restore-Punkte unbrauchbar machen, wenn die Software keine Reverse-Delta- oder Synthetic-Full-Strategie unterstützt.

Best-Practice:

  • Nutzen Sie Synthetic-Fulls oder regelmäßige Full-Backups als Ankerpunkte.
  • Konfigurieren Sie die Policy so, dass Fulls länger gehalten werden als Differentials.
  • Prüfen Sie, ob Ihre Software Kettenbrechen automatisch repariert oder einen separaten Rehydratationslauf benötigt.

Integration mit Datenbanken (Basi di dati): Besonderheiten

Bei Datenbanken definieren Sie Retention für zwei Ebenen: Backup-Image (z. B. konsistente Dumps oder Snapshots) und Transaktionslogs (WAL, binlogs). Transaktionslogs erlauben Point-in-Time-Recovery (PITR) und werden oft länger benötigt. Typische Fehlerquellen sind unvollständige WAL-Archivierung oder fehlende Synchronisation zwischen Snapshot-Timing und Log-Archiven.

Praxisbeispiel PostgreSQL: WAL-Archivbereinigung

PostgreSQL nutzt WAL (Write-Ahead Log) für Transaktionsprotokolle. Wenn WAL-Archive nicht sorgfältig bereinigt werden, füllen sie das Storage. Ein einfaches Script-Muster zeigt, wie alte WAL-Backups nach der Policy gelöscht werden könnten — nur in kontrollierten Testumgebungen verwenden:

Shell
#!/bin/bash
# Beispiel: WAL-Archiv löschen, das älter als 3650 Tage ist (nicht produktiv ohne Prüfung!)
find /var/lib/postgresql/wal_archive -type f -mtime +3650 -print -delete

Warum das funktioniert: Dateibasierte Archivierung ermöglicht Löschung nach Alter. Wann es scheitert: Wenn WAL-Index/Archiv-Metadaten nicht konsistent sind oder wenn ein Restore-Pfad fehlende Segmente benötigt. Deswegen vor Löschung immer Restore-Tests durchführen.

MySQL: Binlog-Aufbewahrung und manuelles Bereinigen

MySQL benutzt binlogs (binary logs) für Replikation und PITR. Die direkte Bereinigung erfolgt über die SQL-Anweisung PURGE BINARY LOGS. Ein typisches Vorgehen:

SQL
-- Liste der vorhandenen binlogs anzeigen
SHOW BINARY LOGS;

-- Alle binlogs bis zu einer bestimmten Datei löschen
PURGE BINARY LOGS TO 'mysql-bin.010';

-- Oder bis zu einem Datum
PURGE BINARY LOGS BEFORE '2024-01-01 00:00:00';

Wichtig: Prüfen Sie Replikations-Status und stellen Sie sicher, dass keine Replikations-Slave noch ältere Logs benötigt.

Oracle RMAN: Retention-Policy konfigurieren

Oracle RMAN bietet eine integrierte Retention-Policy. Ein Beispiel:

SQL
RMAN> CONFIGURE RETENTION POLICY TO REDUNDANCY 2;
-- oder zeitbasiert
RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 3650 DAYS;

RMAN verwaltet zudem Kataloge und ermöglicht das Bereinigen verwaister Backups; testen Sie RMAN-Reports vor automatischer Löschung.

Auditfähigkeit und Nachvollziehbarkeit

Eine Retention-Policy ist nur so gut wie ihre Nachweise. Auditoren erwarten:

  • Dokumentation der Policy und der Verantwortlichen.
  • Automatisierte Logs, die Lösch- und Migrationsaktionen belegen.
  • Integritätsprüfungen (Checksummen) und Restore-Tests, die Wiederherstellbarkeit belegen.

Technisch heißt das: Aktivieren Sie Write-Audit-Logs in der Backup-Software, speichern Sie Aktionen in einem unveränderbaren Log (z. B. zentrales SIEM, Append-only-Store) und erfassen Sie Checksummen bei jeder Sicherung.

Automatische Integritätsprüfung: Checksum-Beispiel

Ein einfacher Workflow erzeugt SHA256-Checksummen nach Abschluss eines Backups und speichert die Checksummen-Datei revisionssicher:

Shell
#!/bin/bash
backup_file=/backup/daily-2026-07-01.tar.gz
sha256sum "$backup_file" > "$backup_file.sha256"
# anschließend Checksummen-Datei in revisionssicheren Speicher verschieben

Wichtig: Checksummen müssen beim Restore verifiziert werden; sonst liefern sie keinen Prüfpfad.

Prüfschritte und Routine-Checks

Für den täglichen und monatlichen Betrieb sind klare Prüfschritte nötig. Eine sinnvolle Routine:

  1. Tägliche Statusübersicht: Backup-Jobs, Fehler, verbleibender Speicher.
  2. Wöchentliche Integritätsprüfung: stichprobenartige Restore-Tests von Dateien und Datenbank-Dumps.
  3. Monatlicher Audit-Report: Aufbewahrungsstatus, bevorstehende Löschungen, Offsite-Replikationsstatus.
  4. Jährlicher Compliance-Review: Abgleich gesetzlicher Fristen mit Policy und Storage-Kosten.

Checkliste für einen Löschlauf (Audit-sicher)

  • Validieren, dass zu löschende Objekte mit Policy-Metadaten markiert sind.
  • Erstellen eines Löschberichts (welche Objekte, warum, wer genehmigt hat).
  • Aufbewahren des Löschberichts in einem revisionssicheren Log.
  • Fallback: temporäres Quarantäne-Archiv bevor endgültiges Löschen.

Typische Stolperfallen und wie man sie vermeidet

In Projekten treten wiederkehrende Probleme auf:

  • Fehlende Metadaten: Objekte ohne Datentyp/Erstellungsdatum führen zu falscher Lebenszyklusklassifizierung. Lösung: Metadatenschutz im Ingest-Prozess verlangen.
  • Inkrementelle Kettenbrechung: Unbedachte Löschung eines Base-Full kann Ketten vernichten. Lösung: Retention-Matrix mit Full-Anchor-Regel.
  • Restore nicht geprüft: Backups existieren, sind aber nicht wiederherstellbar. Lösung: Automatisierte Restore-Tests in isolierter Umgebung.
  • Rechtliche Fehlinterpretation: Backups als bloße Kopien und nicht als Archiv angesehen. Lösung: Rechtsabteilung einbeziehen und formale Archivdefinitionen dokumentieren.
  • Egress- und Kostenfallen: Häufige Restore-Tests in Cloud-Archivklassen können hohe Ausgaben verursachen. Lösung: Test-Strategie mit gezielten Stichproben und zeitbasierten Volltests planen.
  • Uhrzeit- und Zeitzonenprobleme: Lifecycle-Events abhängig von Objekt-Metadaten können durch Clock-Skew falsche Löschzeiten auslösen. Lösung: UTC-Standard für Timestamps und Monitoring der Clock-Synchronisation.

Legal Hold, Schlüsselmanagement und Verschlüsselung

Ein Legal Hold (rechtliche Sperre) verhindert das Löschen von Daten während eines Rechtsverfahrens. Technisch wird ein Hold typischerweise als Flag oder Policy-Override implementiert. Wichtige Punkte:

  • Legal Hold darf Löschläufe blockieren; halten Sie dafür einen separaten Approval-Workflow bereit.
  • Verschlüsselung und Key-Management: Wenn Backups serverseitig verschlüsselt sind, verhindert das Löschen des Schlüssels die Wiederherstellung — das fällt nicht unter Löschung der Daten. Dokumentieren Sie Key-Retention-Perioden gesondert.
  • Audit-Log: Jeder Hold, Release und Key-Änderung muss auditierbar sein.

Beispiel: Key-Rotation sollte niemals automatisch alte Keys löschen, solange rechtliche Aufbewahrung oder Wiederherstellungspflichten bestehen. Entfernen Sie Schlüssel nur nach Review und mit Nachweis, dass keine rechtlichen Haltepflichten bestehen.

Retention-Policy in Multi-Tenant- und Mandanten-Umgebungen

In Multi-Tenant-Szenarien muss die Retention-Policy mandantenspezifisch durchgesetzt werden. Das bedeutet:

  • Metadaten auf Objektebene mit Tenant-ID und Datentyp.
  • Logische Trennung von Policies pro Mandant (z. B. durch Präfixe, Buckets oder Mandanten-ID-Felder).
  • Abrechnungs- und Kostenstellenreporting, damit Mandanten über ihre Aufbewahrungs-Entscheidungen informiert sind.

Typische Fehler: Ein globaler Lifecycle-Rule-Drop, der alle Mandanten betrifft. Vermeiden Sie globale Regeln ohne Ausnahmelisten und testen Sie Regel-Anwendungsfälle mit stichprobenartigen Tenant-Datasets.

Monitoring, Metriken und Reporting

Messbare Kennzahlen helfen, Compliance und Betrieb zu steuern. Wichtige Metriken:

  • Retention-Compliance-Rate: Anteil der Objekte, die der definierten Policy entsprechen.
  • Alter-Histogramm: Verteilung der Objekte nach Alter (z. B. 0–30d, 31–365d, 366–3650d).
  • Anzahl bevorstehender Löschungen pro Zeitraum (7 / 30 / 90 Tage).
  • Restore-Erfolgsrate und mittlere Restore-Zeit (MRT).

Automatisieren Sie Reports und senden Sie monatliche Compliance-Alerts an Owner und Compliance-Teams. Dashboard-Beispiele: ein Balkendiagramm mit Alter-Histogramm und eine Liste der Top-10 Objekte, die Policy-Verstöße verursachen.

Storage-Kosten modellieren

Kostenplanung ist operativ wichtig. Ein einfaches Modell berücksichtigt:

  • Speicherkosten pro GB in jeder Storage-Klasse (Hot, Cool, Archive).
  • Egress-Kosten beim Restore aus Archive-Klassen.
  • Zusätzliche Kosten für Versioning und Replikation (z. B. Cross-Region).

Formel (vereinfacht): Gesamtkosten = Summe(Size_i * CostClass_i * RetentionMonths_i) + geschätzte Restore-Egress. Verwenden Sie diese Schätzung bei Policy-Entscheidungen: Längere Aufbewahrung auf Archive-Klassen kann günstiger sein, wenn Restore-Rate gering bleibt.

Rollback- und Rückfallstrategie

Ein Löschfehler kann teuer werden. Planen Sie eine Rückfallstrategie:

  1. Quarantäne-Phase: Statt sofortiger Löschung zunächst verschieben. Quarantäne kann 30–90 Tage dauern.
  2. Versionierung: Aktivieren Sie Object-Versioning, so lassen sich fälschlich gelöschte Objekte wiederherstellen.
  3. Offline-Kopien: Vor Löschläufen eine temporäre, unveränderliche Kopie erstellen (z. B. Tape-Export).
  4. Genehmigungsworkflow: Löschen nur nach zweistufiger Genehmigung.

Praktische Umsetzungsschritte (Checkliste für ein Projekt)

  1. Policy-Definition: Datentypen analysieren, Fristen festlegen, Verantwortliche benennen.
  2. Technisches Mapping: Welche Speicherklassen, welche Backup-Jobs, welche Migrationen.
  3. Implementierung: Lifecycle-Policies, Retention-Parameter in Backup-Software und Object-Storage konfigurieren.
  4. Auditierung: Logging, Checksummen, Restore-Tests automatisieren.
  5. Betrieb: Regelmäßige Reports, Kapazitätsplanung, jährliche Revision.

Konkrete Konfiguration: S3-Versioning + Lifecycle (empfohlen)

Versioning schützt vor versehentlichem Löschen. Kombiniert mit Lifecycles entsteht ein sicherer Löschprozess:

Shell
# Beispiel: Aktivieren von Versioning (AWS CLI)
aws s3api put-bucket-versioning --bucket my-compliance-bucket --versioning-configuration Status=Enabled

# Lifecycle-Regel via CLI/JSON wie oben hochladen
aws s3api put-bucket-lifecycle-configuration --bucket my-compliance-bucket --lifecycle-configuration file://lifecycle.json

Hinweis: Versioning erhöht Speicherbedarf und Kosten — in der Policy berücksichtigen.

Weiterführende Betriebs- und Test-Workflows

Zum Abschluss noch drei konkrete Betriebsbefehle, die im Alltag helfen, Datenalter und bevorstehende Löschungen zu prüfen.

1) Objektalter in einem S3-Präfix anzeigen (AWS CLI)

Shell
aws s3api list-objects-v2 --bucket my-compliance-bucket --prefix invoices/ --query 'Contents[].[Key,LastModified]' --output table

2) Dateien älter als X Tage lokal finden (Linux)

Shell
find /backup/archive/invoices -type f -mtime +3650 -print

3) PowerShell: Dateiliste mit Alter prüfen (Windows)

Powershell
Get-ChildItem -Path 'D:BackupsInvoices' -Recurse |
  Where-Object {($_.LastWriteTime -lt (Get-Date).AddDays(-3650))} |
  Select-Object FullName, LastWriteTime

Notfall: Vorgehen bei fehlerhaften Löschläufen

Wenn Löschläufe falsch konfiguriert waren oder ein Script Daten vorzeitig entfernt hat, folgen Sie diesem Notfallplan:

  1. Sofort: Alle Löschprozesse stoppen und Versioning/Legal Hold aktivieren, falls möglich.
  2. Sicherung: Quarantäne-Kopie aus verbleibenden Objekten erstellen oder Tape-Export anstoßen.
  3. Analyse: Prüfen, welche Objekte betroffen sind, anhand von Audit-Logs und Checksummen.
  4. Wiederherstellung: Aus Quarantäne, Versioning oder Tape wiederherstellen; priorisieren nach Business-Impact (RTO/RPO).
  5. Lessons Learned: Prozess anpassen, Genehmigungsfluss verbessern, automatisierte Tests ergänzen.

Schlussfazit

Retention-Policy ist mehr als ein Konfigurationsfeld in Backup-Software: Sie ist das Ergebnis von rechtlicher Einordnung, technischer Machbarkeit und operabler Prüfung. Implementieren Sie Policies mit Blick auf Metadaten, Versionierung, Integritätsprüfungen und dokumentierte Löschprozesse. Testen Sie Wiederherstellungen regelmäßig und halten Sie Löschläufe auditierbar. So stellen Sie sicher, dass Backup-Lifecycle sowohl kosteneffizient als auch gesetzeskonform funktioniert.