Check ID:
Provider: AWS
Service:
Severity: HIGH
Categories:
Resource type:
redshift_cluster_in_transit_encryption_enabledProvider: AWS
Service:
redshiftSeverity: HIGH
Categories:
encryptionResource type:
AwsRedshiftClusterWhat this check verifies
Amazon Redshift clusters enforce encryption in transit by requiring TLS for client connections whenrequire_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 settingrequire_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
- CLI
- Terraform
- Native IaC
- Dashboard steps
References
- https://docs.aws.amazon.com/redshift/latest/mgmt/security-encryption-in-transit.html
- https://docs.aws.amazon.com/securityhub/latest/userguide/redshift-controls.html#redshift-2
- https://www.trendmicro.com/trendaivisiononecloudriskmanagement/knowledge-base/aws/Redshift/redshift-parameter-groups-require-ssl.html
Where this check fires
This check runs on every scheduled scan against your AWS account. Findings appear at Cloud Security → Findings filterable byCheck 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