Check ID: redshift_cluster_in_transit_encryption_enabled
Provider: AWS
Service: redshift
Severity: HIGH
Categories: encryption
Resource type: AwsRedshiftCluster

What this check verifies

Amazon Redshift clusters enforce encryption in transit by requiring TLS for client connections when require_ssl is enabled. This evaluation identifies clusters where connections are not forced to use TLS.

Risk

Allowing plaintext or optional TLS exposes SQL sessions to:
  • Confidentiality loss: credentials, queries, and results can be intercepted.
  • Integrity compromise: statements or data may be modified in transit.
  • Availability impact: session hijacking can disrupt workloads.

Recommendation

Require TLS for all Redshift connections by setting require_ssl=true and disallow plaintext. Configure clients to validate certificates and prefer private network paths. Keep drivers/TLS policies current. Apply least privilege and defense in depth to limit exposure if transport security fails.

Remediation

aws redshift modify-cluster-parameter-group --parameter-group-name <example_resource_name> --parameters ParameterName=require_ssl,ParameterValue=true

References

Where this check fires

This check runs on every scheduled scan against your AWS account. Findings appear at Cloud Security → Findings filterable by Check ID = redshift_cluster_in_transit_encryption_enabled. To re-evaluate after a fix, hit Run now on the account’s schedule under Cloud Security → Schedules — the next scan re-checks this control and marks the finding fixed or keeps it persistent.
← Back to AWS checks