3.6 Enable Encryption in Transit (Manual)
Description
Amazon Relational Database uses SSL/TLS to encrypt data during transit. To secure your data in transit the individual should identify their client application and what is supported by SSL/TLS to configure it correctly.
Rationale
Encrypting data in transit prevents eavesdropping, man-in-the-middle attacks, and data interception between the application and the database.
Impact
Enabling encryption in transit ensures data confidentiality during transmission between the client application and the RDS instance.
Audit Procedure
Using AWS Console
Sign into the AWS Management Console
- Sign into the AWS Management Console at https://console.aws.amazon.com/ with your AWS account credentials.
Open the Amazon RDS Console
- Navigate to the service using the
Find Servicessearch bar or by directly accessing the console at https://console.aws.amazon.com/rds/.
- Navigate to the service using the
Select the RDS Instance
- Choose the Amazon RDS instance you want to implement encryption in transit.
- Click on the instance name to access its details page.
- In the instance details page, navigate to the
ConfigurationorEncryption & Securitysection.
Enable SSL/TLS
- Under the
ConnectivityorEncryption in Transitsection - Click the
ModifyorEditoption to enable SSL/TLS encryption. - Select the option to enable SSL/TLS encryption.
- Choose the SSL/TLS certificate authority (CA) certificate option that best suits your needs:
- If you have an existing certificate, select
Use a certificate from ACM (AWS Certificate Manager)orUse a certificate from AWS Secrets Manager. - If you do not have a certificate, select
Generate a new certificate.
- If you have an existing certificate, select
- Click
ContinueorSaveto apply the changes.
- Under the
Verify SSL/TLS Encryption
- After enabling SSL/TLS encryption, monitor the encryption status of your RDS instance.
- In the RDS console, check the
Connectivityor "Encryption in Transit" section to ensure that SSL/TLS encryption is enabled, and the status is "In Progress" or "Enabled."
Test SSL/TLS Encryption
- Connect to your RDS instance using a database client or application that supports SSL/TLS encryption.
- Configure the client or application to use SSL/TLS encryption by specifying the SSL/TLS certificate details.
- Verify that the connection is established successfully with SSL/TLS encryption.
Monitor and Manage SSL/TLS Certificates
- Regularly monitor the SSL/TLS certificates associated with your RDS instances.
- Manage certificate expiration and renewal to ensure uninterrupted SSL/TLS encryption.
Expected Result
All RDS instances should have SSL/TLS encryption enabled for connections, and clients should be configured to require encrypted connections.
Remediation
Using AWS Console
Follow the audit steps above to enable SSL/TLS encryption on the RDS instance. Configure the database parameter group to enforce SSL connections (e.g., rds.force_ssl=1 for PostgreSQL).
Default Value
SSL/TLS is supported by default on RDS instances, but enforcement of SSL-only connections must be configured manually.
References
CIS Controls
| Controls Version | Control | IG 1 | IG 2 | IG 3 |
|---|---|---|---|---|
| v8 | 3.10 Encrypt Sensitive Data in Transit | x | x | |
| v7 | 14.4 Encrypt All Sensitive Information in Transit | x | x |
Profile
Level 1 | Manual