Cloud Agentics Talk to an engineer

Work / Backup protection

Backup protection, August 2025

Backups that survive a compromised administrator

A security audit for a financial technology company found that 12 IAM users could delete its RDS snapshots and S3 backups. We added AWS Backup Vault Lock, a separate backup account and a weekly restore test.

0backups that an administrator can deleteVault Lock in compliance mode
4 hmaximum data lossrecovery point objective, from unknown
23 minrecovery timemeasured every week
52consecutive successful restoresone test per week

The situation

During a security audit for a financial technology company we found that 12 IAM users could delete the RDS snapshots and the S3 backups. One stolen credential, or one employee with a grievance, could delete every copy of the data.

No Vault Lock

Any identity with administrator permissions, including automated scripts, could delete a backup vault.

Backups in the production account

The backups were in the same AWS account as production. A compromised account meant compromised backups.

Restores never tested

The company had kept backups for 3 years and had never restored one. There was no evidence that a restore would work.

Manual snapshots

Developers started database backups by hand. Weeks sometimes passed without a backup.

Step 1: Backup Vault Lock in compliance mode

AWS Backup Vault Lock in compliance mode prevents deletion of a backup until its retention period ends. Once the lock is active, not even the root user of the account can remove it. AWS Backup now takes a backup of the production database every day and writes it to the locked vault.

Production database RDS PostgreSQL AWS Backup backup plan, every day Locked vault write once, read many
30 daysminimum retentionno backup can be deleted before it is 30 days old
365 daysmaximum retentionbackups are removed after 1 year
Compliancelock modethe lock cannot be disabled once set
72 hoursgrace periodtime to verify the settings before the lock becomes permanent

What the lock changes

An attacker with root access cannot delete a backup. The attacker can only wait for the retention period to end. That gives the client at least 30 days to detect and respond.

Step 2: a separate backup account

Vault Lock prevents deletion, but an attacker who controls the whole account can still cause damage. We created a separate AWS account for backup storage. Backups are copied to it every 4 hours.

RDS PostgreSQL, primary S3 application data DynamoDB tables Local vault Vault Lock
12 IAM users with a range of permissions
Vault Lock enabled Replica in a second region Separate IAM credentials Access only with MFA
2 IAM users with read-only and restore permissions
Copy every 4 hours, production to backup account

Isolation

Credentials from the production account cannot reach the backup account. If production is fully compromised, the backups remain intact.

Step 3: a restore test every week

A backup that has never been restored is not evidence that the data can be recovered. An automated pipeline restores the latest backup every week and checks it.

1

Select

A Lambda function selects the most recent RDS snapshot in the backup vault.

2

Restore

The snapshot is restored to a test RDS instance in an isolated subnet with no route to production.

3

Validate

Queries check row counts, the schema version, referential integrity and sample records.

4

Measure

The pipeline records the recovery time from snapshot to a database that answers queries.

5

Report

Results go to Slack and email. The test instance is deleted and the figures are logged.

What the client receives every week

52 of 52successful restoresconsecutive weekly tests
23 minaverage recovery timesnapshot to queryable database
Passdata integrityall foreign keys and checksums
Loggedcompliance evidencefor SOC 2 and ISO 27001

The figures

MeasureBeforeAfter
IAM users who can delete a backup120
Maximum data loss, recovery point objectiveunknown4 h
Recovery time, recovery time objectivenever measured23 min
Restores tested0 in 3 years1 per week

What the client's chief technology officer said

"We recognize that data risks come from both external threats and internal factors, whether it is an accidental deletion by a team member or a departing employee. With AWS Vault Lock, our backups are now immutable. No one can delete them, not even administrators. That level of protection gives us complete confidence in our disaster recovery strategy."

What the client received

Locked daily backups

A daily AWS Backup plan with Vault Lock in compliance mode, 30 days minimum and 365 days maximum retention.

Separate backup account

Its own credentials, MFA-only access and a copy every 4 hours.

Weekly restore test

Reports the recovery time and the integrity checks to Slack and email.

Audit evidence

A log of every test as evidence for SOC 2 and ISO 27001 audits.