Check ID:
Provider: AWS
Service:
Severity: CRITICAL
Categories:
Resource type:
redshift_cluster_public_accessProvider: AWS
Service:
redshiftSeverity: CRITICAL
Categories:
internet-exposedResource type:
AwsRedshiftClusterWhat this check verifies
Amazon Redshift clusters withpublicly accessible endpoints in public subnets and security groups allowing TCP from 0.0.0.0/0 or ::/0 are identified as internet-exposed.
Public endpoints without internet reachability due to private subnets or restrictive rules are recognized separately.
Risk
Internet-exposed Redshift endpoints allow direct DB access from any host, impacting:- Confidentiality: credential brute force, unauthorized queries, data exfiltration
- Integrity: unauthorized writes or schema changes
- Availability: scanning/abuse leading to connection exhaustion or disruption
Recommendation
Prefer private connectivity: disable public access, place clusters in private subnets, and apply least privilege security groups limited to trusted CIDRs or VPC sources. Use defense in depth with VPN/peering/endpoints, strong authentication, and monitoring. Avoid0.0.0.0/0 or ::/0 to database ports.
Remediation
- CLI
- Terraform
- Native IaC
- Dashboard steps
aws redshift modify-cluster —cluster-identifier <CLUSTER_ID> —no-publicly-accessible
References
- https://docs.aws.amazon.com/de_de/redshift/latest/mgmt/rs-ra3-VPC-public-private.html
- https://www.trendmicro.com/trendaivisiononecloudriskmanagement/knowledge-base/aws/Redshift/redshift-cluster-publicly-accessible.html
- https://docs.aws.amazon.com/redshift/latest/mgmt/managing-clusters-vpc.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_public_access. 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