Check ID:
Provider: AWS
Service:
Severity: MEDIUM
Categories:
Resource type:
elasticache_cluster_uses_public_subnetProvider: AWS
Service:
elasticacheSeverity: MEDIUM
Categories:
internet-exposedResource type:
OtherWhat this check verifies
ElastiCache resources (Redis nodes and Memcached clusters) are assessed for placement in public subnets. The finding identifies cache subnet groups that include subnets configured with Internet routing instead of private-only subnets.Risk
Hosting caches in public subnets can permit direct or misconfigured Internet access, impacting CIA:- Confidentiality: unauthorized reads and key dumps
- Integrity: cache poisoning or key tampering
- Availability: scanning and DDoS
Recommendation
Place caches in private subnets only and ensure route tables lack Internet egress. Apply least privilege with tight security groups limited to required ports and trusted sources. For external access, use VPC peering, VPN, or PrivateLink. Enable encryption in transit and RedisAUTH for layered controls.
Remediation
- CLI
- Terraform
- Native IaC
- Dashboard steps
aws elasticache modify-cache-cluster —cache-cluster-id <example_resource_id> —cache-subnet-group-name <example_resource_name> —apply-immediately
References
- https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/SubnetGroups.html
- https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/VPCs.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 = elasticache_cluster_uses_public_subnet. 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