1.4 Ensure Databases running on RDS have encryption at rest enabled

Information

Amazon RDS instances and snapshots can be encrypted at rest by enabling the encryption option on the Amazon RDS DB instance. Data that is encrypted at rest includes the underlying storage for a DB instance, its automated backups, read replicas, and snapshots. It is recommended that encryption at rest be enabled.
Enabling encryption at rest will help ensure that the confidentiality of data stored in RDS, snapshots, and backups, is maintained.

Solution

Using the Amazon unified CLI:

* Perform a snapshot of the DB instance:

aws rds create-db-snapshot --db-snapshot-identifier _<db_snapshot>_ --db-instance-identifier _<your_db_instance>_

* Confirm created snapshot is available (once snapshot process has completed):

aws rds describe-db-snapshots --query 'DBSnapshots[*].{DBSnapshotIdentifier:DBSnapshotIdentifier, DBInstanceIdentifier:DBInstanceIdentifier, Snapshotstatus:Status}'

* List all KMS Customer Managed Keys:

aws kms list-aliases

* Copy to source RDS snapshot (from previous step) to a destination snapshot which will be encrypted:

aws rds copy-db-snapshot --source-db-snapshot-identifier _<db_snapshot>_ --target-db-snapshot-identifier _<encrypted_db_snapshot>_ --kms-key-id _<data_tier_kms_key>_

* Restore a snapshot to the target DB instance(from previous step) with same values as original db instance with additional encrypted storage values:

aws rds restore-db-instance-from-db-snapshot --db-instance-identifier _<your_db_instance>_ --db-snapshot-identifier _<encrypted_db_snapshot>_

See Also

https://workbench.cisecurity.org/files/260

Item Details

Category: SYSTEM AND COMMUNICATIONS PROTECTION

References: 800-53|SC-28(1)

Plugin: amazon_aws

Control ID: 547e079e9a0c886b4d0d8bade7c832388bd5683f9e3dd1f708268ec83be71cb8