Check ID:
Provider: AWS
Service:
Severity: HIGH
Categories:
Resource type:
ecs_task_set_no_assign_public_ipProvider: AWS
Service:
ecsSeverity: HIGH
Categories:
internet-exposedResource type:
AwsEcsServiceWhat this check verifies
ECS task sets are assessed for automatic public IP assignment viaAssignPublicIP. When set to ENABLED, tasks are given public addresses in their network configuration.
Risk
Public IPs make tasks directly reachable from the Internet, enabling scanning, brute force, and exploit attempts. Impacts: confidentiality (data exposure), integrity (unauthorized actions), availability (DoS). Attackers can bypass internal controls and pivot for lateral movement.Recommendation
Disable automatic public IPs on task sets. Use private subnets behind controlled entry points (load balancers, API gateways, or service discovery). Enforce least privilege security groups and defense in depth. Prefer private connectivity (VPC endpoints/VPN). Expose only frontends, not tasks.Remediation
- Terraform
- Native IaC
- Dashboard steps
References
- https://docs.aws.amazon.com/AmazonECS/latest/developerguide/update-task-definition-console-v2.html
- https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TaskSet.html
- https://docs.aws.amazon.com/securityhub/latest/userguide/ecs-controls.html#ecs-16
Where this check fires
This check runs on every scheduled scan against your AWS account. Findings appear at Cloud Security → Findings filterable byCheck ID = ecs_task_set_no_assign_public_ip. 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