Skip to main content

More Info:

Database encryption should be enabled for AWS Redshift clusters to protect your data at rest.

Risk Level

High

Address

Security

Compliance Standards

  • APRA CPS 234 (Australia)
  • BSI C5 (Germany)
  • Brazil LGPD
  • CCPA / CPRA (California)
  • CIS Critical Security Controls v8
  • CMMC 2.0
  • CSA Cloud Controls Matrix v4
  • DPDPA
  • Digital Operational Resilience Act (EU)
  • GDPR
  • HIPAA
  • HITRUST CSF
  • ISO/IEC 27017
  • ISO/IEC 27018
  • ISO/IEC 27701
  • KSA PDPL
  • MAS Technology Risk Management (Singapore)
  • MITRE ATT&CK (Cloud)
  • NIS2 Directive
  • NIST
  • NIST CSF
  • NIST SP 800-171
  • NYDFS 23 NYCRR 500
  • PCI
  • Reserve Bank of India (RBI) Cyber Security Framework
  • SOC2
  • SWIFT Customer Security Controls Framework
  • Sarbanes-Oxley IT General Controls
  • Securities and Exchange Board of India (SEBI) - Cloud Security Adoption Framework
  • UK NCSC Cyber Assessment Framework

Triage and Remediation

Remediation

Using Console

To remediate the misconfiguration of Redshift clusters not being encrypted in AWS, follow these steps using the AWS Management Console:
  1. Sign in to the AWS Management Console: Go to https://aws.amazon.com/ and sign in to your AWS account.
  2. Navigate to Amazon Redshift: Click on the “Services” dropdown menu at the top of the page, and then select “Redshift” under the Analytics section.
  3. Select the Redshift Cluster: In the Redshift dashboard, select the Redshift cluster that you want to encrypt.
  4. Enable Encryption: Click on the cluster identifier to access the cluster details. In the cluster details page, click on the “Modify” button.
  5. Enable Encryption: In the Modify Cluster window, scroll down to the “Encryption” section.
  6. Choose Encryption: Select the option for “Enable” under the Encryption tab.
  7. Select KMS Key: Choose the KMS key that you want to use for encrypting the Redshift cluster. If you do not have a KMS key, you can create one by clicking on the “Create a new key” link.
  8. Save Changes: Review the other configurations if needed and then click on the “Modify cluster” button to save the changes.
  9. Monitor Encryption Progress: Once the modification is initiated, monitor the progress in the Redshift console. The cluster will undergo maintenance during this process.
  10. Verification: After the modification is completed, verify that the Redshift cluster is now encrypted by checking the Encryption column in the cluster details.
By following these steps, you can successfully remediate the misconfiguration of Redshift clusters not being encrypted in AWS.

To remediate the misconfiguration of unencrypted Redshift clusters in AWS using AWS CLI, follow these steps:Step 1: List all the existing Redshift clusters to identify the unencrypted clusters by running the following command:
Step 2: Identify the unencrypted Redshift clusters from the output of the above command.Step 3: For each unencrypted Redshift cluster identified, modify the cluster to enable encryption by running the following command:
Replace YOUR_CLUSTER_IDENTIFIER with the identifier of the unencrypted Redshift cluster.Step 4: Verify that the encryption is enabled for the cluster by running the following command:
Replace YOUR_CLUSTER_IDENTIFIER with the identifier of the cluster and ensure that the Encrypted field is set to true.Step 5: Repeat the above steps for each unencrypted Redshift cluster in your AWS account to ensure all Redshift clusters are encrypted.By following these steps, you can remediate the misconfiguration of unencrypted Redshift clusters in AWS using the AWS CLI.
To remediate the misconfiguration of unencrypted Redshift clusters in AWS, you can use the AWS SDK for Python (Boto3) to enable encryption for the Redshift clusters. Here are the step-by-step instructions on how to remediate this issue:
  1. Install Boto3: If you haven’t already installed the Boto3 library, you can do so using pip:
  1. Configure AWS Credentials: Make sure you have your AWS credentials configured either by setting environment variables or using AWS CLI aws configure.
  2. Use the following Python script to enable encryption for Redshift clusters:
  1. Replace 'your-redshift-cluster-identifier' with the actual identifier of the Redshift cluster that you want to enable encryption for.
  2. Run the Python script. This will enable encryption for the specified Redshift cluster.
After following these steps, the Redshift cluster specified in the script will have encryption enabled, thereby remediating the misconfiguration of unencrypted Redshift clusters in AWS.
This change forces creation of a new encrypted Redshift cluster and (once you remove the old cluster resource) destruction of the unencrypted one, causing a replacement and downtime.Verification: terraform plan should show creation of aws_redshift_snapshot.pre_encryption, creation of aws_redshift_cluster.encrypted, and (once you remove the old cluster resource) destruction of the previous unencrypted aws_redshift_cluster.

Additional Reading: