WAF-REL-040 – Backup & Recovery Validation
Beschreibung
Alle Produktionsdatenbanken MÜSSEN automatisierte Backups mit Retention >= 7 Tage und Point-in-Time Recovery (PITR) konfigurieren. Backups MÜSSEN in einem separaten Account oder einer separaten Region gespeichert werden. Recovery-Verfahren MÜSSEN mindestens quartalsweise getestet und dokumentiert sein. Ungetestete Backups gelten als nicht vorhanden.
Rationale
Datenverlust durch Accidental Deletion, Ransomware oder Korruption ist ohne validierte Recovery-Verfahren katastrophal. Der häufigste Fehler ist nicht das Fehlen von Backups, sondern ein nie getestetes Recovery-Verfahren, das im Ernstfall aufgrund veralteter Anleitungen, fehlender Schlüssel oder nicht existierender Zielinfrastruktur scheitert.
Bedrohungskontext
| Risiko | Beschreibung |
|---|---|
Ransomware |
Backup im selben Account wie Produktionsdaten wird gleichzeitig verschlüsselt. |
Accidental Deletion |
Ohne ausreichende Retention sind Daten, die erst nach Tagen fehlen, nicht wiederherstellbar. |
Ungetesteter Restore |
Recovery-Prozedur scheitert im Ernstfall an manuellen Schritten, die nie dokumentiert wurden. |
RPO-Verletzung |
Backup-Interval zu groß: Daten, die zwischen zwei Backups erstellt wurden, gehen verloren. |
Anforderung
-
Automatisierte Backups: Retention >= 7 Tage für alle Produktionsdatenbanken
-
PITR: Für alle relationalen Produktionsdatenbanken aktiviert
-
Backup-Speicherung: Separates AWS Account / Azure Subscription / GCP Project
-
Deletion Protection: Aktiviert auf allen Produktionsdatenbanken
-
Restore-Test: Quartalsweise mit Ergebnisdokumentation (RTO, Datenintegrität)
-
Backup-Alerts: Benachrichtigung bei Job-Fehler oder überaltertem Backup
Implementierungsanleitung
-
Retention erhöhen:
backup_retention_period = 14– mindestens 7, besser 14 Tage -
PITR aktivieren:
point_in_time_recovery_enabled = true(GCP), Standard bei RDS/Azure -
Cross-Account Backup: AWS Backup Plan mit
copy_actionauf Backup-Account-Vault -
Deletion Protection:
deletion_protection = true– verhindert versehentliches Löschen -
Restore-Test automatisieren: Skript für quartalsweisen automatisierten Restore-Test
-
Monitoring: CloudWatch Event Rule für fehlgeschlagene Backup-Jobs
Reifegrad-Abstufung
| Level | Bezeichnung | Kriterien |
|---|---|---|
1 |
Keine Backups |
Keine automatisierten Backups konfiguriert. |
2 |
Backups da, ungetestet |
Automatische Backups aktiv; Restore nie getestet; kein Cross-Account. |
3 |
PITR + Cross-Account + getestet |
PITR aktiviert; Backup in separatem Account; Restore quartalsweise getestet. |
4 |
Automatisierter monatlicher Test |
Automatisierter Restore-Test in Pipeline; Backup-Integrity-Checks. |
5 |
WORM + CDP |
Immutable Backup Storage; Continuous Data Protection; schemagetriggerte Tests. |
Terraform Checks
waf-rel-040.tf.aws.rds-backup-retention
Prüft: RDS hat backup_retention_period >= 7 und deletion_protection = true.
| Compliant | Non-Compliant |
|---|---|
|
|
Remediation: backup_retention_period >= 7 und deletion_protection = true
auf aws_db_instance setzen.
Evidenz
| Typ | Pflicht | Beschreibung |
|---|---|---|
IaC |
✅ Pflicht |
Terraform mit Backup-Konfiguration: Retention, PITR, Cross-Account-Storage. |
Process |
✅ Pflicht |
Quartalsweiser Restore-Test-Bericht: RTO erreicht, Datenintegrität validiert, Unterschrift. |
Governance |
Optional |
RTO/RPO Dokument pro Workload, jährlich reviewed. |
Config |
Optional |
Backup-Monitoring Alerts für Job-Fehler und überalterte Backups. |