Ensure RDS DB instance encryption at rest is enabled to protect sensitive data. Non-compliance may lead to security vulnerabilities.
Rule | RDS DB instance encryption at rest should be enabled |
Framework | CISA-cyber-essentials |
Severity | ✔ Low |
RDS DB Instance Encryption at Rest for CISA-Cyber Essentials
Description
RDS (Relational Database Service) is a managed database service offered by AWS (Amazon Web Services). One of the security best practices recommended by CISA (Cybersecurity and Infrastructure Security Agency) Cyber Essentials is to enable encryption at rest for RDS DB instances. Encryption at rest provides an additional layer of protection by encrypting the data stored on disk, ensuring data confidentiality in case of unauthorized access or a data breach.
Enabling encryption at rest ensures that all data within the RDS DB instance, including backups and snapshots, is automatically encrypted using industry-standard encryption algorithms. This helps organizations comply with data protection regulations and strengthens the overall security posture of their database infrastructure.
Troubleshooting Steps
If you encounter any issues while enabling encryption at rest for RDS DB instances, refer to the following troubleshooting steps:
Check RDS DB instance compatibility: Ensure that the RDS DB instance version and engine you are using support encryption at rest. Older versions or certain database engines may not have this feature available.
Verify IAM permissions: Ensure that the IAM (Identity and Access Management) user or role used to modify the RDS DB instance has the necessary permissions to enable encryption at rest. Grant the
rds:ModifyDBInstance
permission to the user or role if needed.Check KMS key permissions: If you are using a custom KMS (Key Management Service) key for encryption at rest, verify that the IAM user or role has the necessary permissions to access the specified KMS key. Grant the
kms:Encrypt
and kms:Decrypt
permissions on the KMS key to the user or role if required.Review AWS regions and availability zones: Encryption at rest may vary across different AWS regions and availability zones. Ensure that both the RDS DB instance and the KMS key are located in the same region and availability zone.
Verify security group settings: Make sure that the necessary inbound/outbound rules are configured in the associated security group(s) to allow connectivity to the RDS DB instance after enabling encryption at rest.
Review parameter group settings: If you encounter performance issues after enabling encryption at rest, consider adjusting the RDS DB instance's parameter group settings to optimize database performance.
Necessary Codes
There are no specific codes required for enabling encryption at rest for RDS DB instances. This is a configuration setting that can be easily managed using the AWS Management Console or AWS CLI (Command Line Interface).
Step-by-Step Guide for Remediation
Follow the steps below to enable encryption at rest for an RDS DB instance:
Step 1: Access the AWS Management Console
Step 2: Navigate to the RDS service
Step 3: Select the desired RDS DB instance
Step 4: Modify the DB instance
Step 5: Enable encryption at rest
Step 6: Save the changes
Step 7: Monitor the modification process
Once the modification is complete, encryption at rest will be enabled for the RDS DB instance. All existing and future data stored within the DB instance will be encrypted, providing an additional layer of security.
Note: Enabling encryption at rest for an existing RDS DB instance may cause a brief interruption in database connectivity during the modification process. It is recommended to plan the modification during a maintenance window or during periods of low database activity.
Remember to verify and test the connectivity to the RDS DB instance after enabling encryption at rest to ensure there are no configuration or compatibility issues.