AWS Security Hub · Redshift
Redshift.1: A Redshift cluster is publicly accessible
Written and reviewed by Emnode · Last reviewed
What does AWS Security Hub Redshift.1 check?
Redshift.1 evaluates the PubliclyAccessible attribute on every Redshift cluster and fails any cluster where it is set to true. A public cluster gets an internet-routable endpoint; the control is change-triggered, so it re-evaluates the moment a cluster is created or modified.
Why does Redshift.1 matter?
A Redshift warehouse is where an organisation's most concentrated data lands — consolidated customer records, financials, joined-up analytics. Making it publicly reachable removes network isolation, the single biggest barrier, leaving only the database credential between an attacker and the whole dataset. Public endpoints are found by credential-stuffing bots and scanners within hours of exposure.
How do I fix Redshift.1?
- Set PubliclyAccessible to false with modify-cluster, or recreate the cluster as private.
- Place the cluster in private subnets and reach it through a VPN, Direct Connect, or bastion.
- Restrict the cluster's security group to known internal CIDRs and application sources.
- Add a Config rule or SCP so no future cluster can be launched publicly.
Remediation script · bash
# Close the highest-impact public exposure first: databases.
for db in $(aws rds describe-db-instances \
--query 'DBInstances[?PubliclyAccessible==`true`].DBInstanceIdentifier' --output text); do
aws rds modify-db-instance --db-instance-identifier "$db" \
--no-publicly-accessible --apply-immediately
echo "$db: public access removed"
done
# Ratchet S3 shut at the account level so no bucket can be made public again.
aws s3control put-public-access-block --account-id 123456789012 \
--public-access-block-configuration \
'BlockPublicAcls=true,IgnorePublicAcls=true,BlockPublicPolicy=true,RestrictPublicBuckets=true' Full walkthrough (console steps, edge cases and verification) in the lesson Block public access to AWS resources.
Is Redshift.1 a false positive?
Genuine need for a public Redshift endpoint is rare. If a BI tool or partner needs access, front it with a private connection or a proxy rather than flipping the cluster public.
More Redshift controls
- Redshift.2 Connections to Redshift should be encrypted in transit
- Redshift.3 Redshift clusters should have automatic snapshots
- Redshift.4 Redshift clusters should have audit logging
- Redshift.6 Redshift should auto-upgrade major versions
- Redshift.7 Redshift clusters should use enhanced VPC routing
- Redshift.8 Redshift should not use the default admin username
- Redshift.10 Redshift clusters should be encrypted at rest
- Redshift.15 Redshift accepts cluster-port traffic from anywhere
- Redshift.16 Redshift subnet groups should span multiple AZs
- Redshift.18 Redshift clusters should have Multi-AZ enabled