Severity: High
Description: This control ensures that encryption on the database. Encryption for database instances should be enabled to ensure encryption of data-at-rest. When snapshot is made public, Any AWS account user can copy it impacting confidentiality of the data stored in database. It is recommended that DB snapshot visibility should be private.
Remediation Steps:
Perform following to update RDS instance encryption :
Login to the AWS Management Console at https://console.aws.amazon.com as root user.
Navigate to RDSĀ console.
Step1 - Take recent manual snapshot for the DB instance (Optional as recent automated snapshot can be used).
On Navigation pane on left side, click Instances.
Select a DB instance that is not encrypted.
Click on Instance Actions and choose Take Snapshot.
Configure Snapshot Name.
Click Take Snapshot.
It will create unencrypted snapshot for unencrypted DB instance.
Step 2 - create an encrypted copy of an unencrypted snapshot
On Navigation pane on left side, click Snapshots.
Select the most recent snapshot to encrypt.
In case of automated snapshots, Order snapshots by DB instance or Cluster and select the most recent snapshot for the DB instance from the ordered list.
Click Snapshot Actions, choose Copy Snapshot.
Choose desired Destination Region and enter New DB Snapshot Identifier.
Select Copy Tags id needed.
set Enable Encryption to Yes.
While selecting Master Key to encrypt snapshot copy, select either (Default) aws/rds for AWS managed Key or Customer Managed key.
Click Copy Snapshot.
After the snapshot status is available, the Encrypted field will be True to indicate the snapshot is encrypted.
Step3 - restore a new encrypted DB instance from an encrypted DB snapshot
On Navigation pane on left side, click Snapshots.
Select the encrypted DB snapshot.
Click Actions, choose Restore Snapshot to open Restore DB Instance.
On the Restore DB Instance, in the DB Instance Identifier field, type the name for restored DB instance.
Select Copy Tags id needed.
Set Enable Encryption to Yes.
Configure remain setting on Restore DB Instance to match with the concerned unencrypted DB instance.
While selecting Master Key to encrypt DB instance select either (Default) aws/rds for Customer Managed key.
Choose Restore DB Instance.
Important:
Encrypting existing DB instance involves creating an encrypted copy from unencrypted DB snapshot and restoring encrypted copy of a snapshot the as new DB instance. New DB instance will require different connection parameters and hence dependent applications will require change in connection string to communicate with newly created DB instance.
Additionally, to restore the functionality of the DB instance to that of the older DB instance associated security groups (applications as well as newly created DB instance) may need modifications.
After required connection string modifications and security group updates, ensure all applications are successfully connecting and querying to the new (encrypted) DB instance.
Now Older (Unencrypted) DB instance can be deleted.
Reference :