Check provider logo

RDS Aurora MySQL cluster has Backtrack enabled

rds_cluster_backtrack_enabled

Severitylow
Servicerds
by Prowler

Aurora MySQL DB clusters have Backtrack configured with a non-zero BacktrackWindow, retaining change records to allow rewinding to a consistent earlier time. Applies to aurora-mysql engines only.

Risk

Without Backtrack, destructive queries or admin mistakes can't be quickly undone, forcing snapshot/point-in-time restores. This increases recovery time, disrupts availability, and risks data integrity from partial restores or rollbacks.

Adversaries who alter data can cause longer impact windows before containment.

Run this check with Prowler CLI

prowler aws --checks rds_cluster_backtrack_enabled

Recommendation

Enable Backtrack on Aurora MySQL clusters and set BacktrackWindow to meet RTO while balancing cost and workload. Use it with automated backups for defense in depth and resilience.

For clusters without Backtrack, provision a clone or new cluster with it enabled; monitor usage and adjust the window as change rates evolve.

Remediation

CLI

aws rds restore-db-cluster-to-point-in-time --source-db-cluster-identifier <SOURCE_DB_CLUSTER_ID> --db-cluster-identifier <DB_CLUSTER_ID> --use-latest-restorable-time --backtrack-window 3600

Native IaC
Terraform
Other
  1. In the AWS Console, go to RDS > Databases and select the Aurora MySQL cluster
  2. Click Actions > Restore to point in time
  3. Choose Use latest restorable time
  4. Set Backtrack window (seconds) to a value > 0 (e.g., 3600)
  5. Enter a new DB cluster identifier and click Restore DB cluster
  6. Cut over applications to the new cluster

Source Code

Resource Type

AwsRdsDbCluster

References