Instances hosting Nitro Enclave workloads (EnclaveOptions.Enabled=true) are evaluated for direct internet reachability. The host must not carry a public IP and must not sit in a subnet whose route table sends 0.0.0.0/0 or ::/0 to an Internet Gateway. NAT Gateway routes are not flagged. This check assesses the host environment; it does not audit the enclave itself.
Risk
A publicly reachable host expands the workload attack surface unnecessarily and increases the exposure of the enclave's I/O path over vsock. Public reachability is rarely required for enclave workloads.
prowler aws --checks ec2_confidential_workload_host_public_ip
Recommendation
Apply the minimum-exposure principle: place confidential-workload hosts on private subnets only and route required outbound traffic via managed egress (NAT). Keep the host invisible from the public internet.
Remediation
aws ec2 disassociate-address --association-id <eipalloc-association-id>
- Launch confidential-workload hosts only in private subnets whose route tables have no 0.0.0.0/0 route to an Internet Gateway.
- Do not assign an Elastic IP or auto-assigned public IPv4/IPv6 to hosts.
- Route outbound internet traffic through a NAT Gateway if the workload needs egress.
Source Code
Resource Type
AwsEc2Instance