Skip to main content
emnode / learn
Compliance Medium severity

AWS Security Hub · Redshift

Redshift.3: Redshift clusters should have automatic snapshots

Written and reviewed by Emnode · Last reviewed

What does AWS Security Hub Redshift.3 check?

Redshift.3 evaluates a cluster's automated snapshot configuration and fails if automated snapshots are disabled or the retention period is set below seven days. Redshift takes these point-in-time backups by default, but the behaviour can be turned off or shortened.

Why does Redshift.3 matter?

Losing the recovery point is silent until you need it. A bad ETL load, an accidental TRUNCATE, or a corrupted ingest can wipe data with no backup behind it, and a one- or two-day retention window may already be gone by the time a Friday problem is noticed on Monday. Backups also map to NIST 800-53 contingency controls CP-6, CP-9 and CP-10.

How do I fix Redshift.3?

  1. Enable automated snapshots and set the retention period to at least seven days with modify-cluster.
  2. Confirm the snapshot maintenance window suits the cluster's quiet hours.
  3. For longer retention, configure a snapshot schedule or cross-region copy.
  4. Set these defaults in your provisioning templates so new clusters inherit them.

Remediation script · bash

# Set a 7-day backup floor on production databases below it (skip read replicas).
for db in $(aws rds describe-db-instances \
    --query 'DBInstances[?ReadReplicaSourceDBInstanceIdentifier==`null` && BackupRetentionPeriod<`7`].DBInstanceIdentifier' --output text); do
  aws rds modify-db-instance --db-instance-identifier "$db" \
    --backup-retention-period 7 --no-apply-immediately
done

# Turn on DynamoDB point-in-time recovery (instant, no downtime).
aws dynamodb update-continuous-backups --table-name prod-orders \
  --point-in-time-recovery-specification PointInTimeRecoveryEnabled=true

# Stop any snapshot in the account from being shared publicly, ever.
aws ec2 enable-snapshot-block-public-access --state block-all-sharing

Full walkthrough (console steps, edge cases and verification) in the lesson Configure backups and retention.

Is Redshift.3 a false positive?

Even with automated snapshots enabled, a retention period under seven days still fails the control — the threshold is the gotcha, not the on/off switch.

Part of the learning path Lock down access
  • Redshift.1 A Redshift cluster is publicly accessible
  • Redshift.2 Connections to Redshift should be encrypted in transit
  • Redshift.4 Redshift clusters should have audit logging
  • Redshift.6 Redshift should auto-upgrade major versions
  • Redshift.7 Redshift clusters should use enhanced VPC routing
  • Redshift.8 Redshift should not use the default admin username
  • Redshift.10 Redshift clusters should be encrypted at rest
  • Redshift.15 Redshift accepts cluster-port traffic from anywhere
  • Redshift.16 Redshift subnet groups should span multiple AZs
  • Redshift.18 Redshift clusters should have Multi-AZ enabled