Check ID: elasticache_cluster_uses_public_subnet
Provider: AWS
Service: elasticache
Severity: MEDIUM
Categories: internet-exposed
Resource type: Other

What 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
Attackers may pivot from the cache to lateral movement within the VPC.

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 Redis AUTH for layered controls.

Remediation

aws elasticache modify-cache-cluster —cache-cluster-id <example_resource_id> —cache-subnet-group-name <example_resource_name> —apply-immediately

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 = 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