Check ID: shield_advanced_protection_in_classic_load_balancers
Provider: AWS
Service: shield
Severity: MEDIUM
Categories: resilience, internet-exposed
Resource type: AwsElbLoadBalancer

What this check verifies

Classic Load Balancers are evaluated for association with AWS Shield Advanced as a protected resource. Identifies load balancers without an active Shield Advanced protection when the subscription is enabled.

Risk

Unprotected ELB Classic endpoints are more exposed to large L3/L4 DDoS (e.g., SYN/UDP floods), risking availability loss from connection exhaustion and failed health checks, plus operational impact from autoscaling and data transfer surges.

Recommendation

Add internet-facing Classic Load Balancers as protected resources in Shield Advanced to strengthen DDoS resilience and cost protection. Apply defense-in-depth: minimize public exposure, enforce least-privilege network access, enable health-based detection, and use protection groups.

Remediation

aws shield create-protection —name <PROTECTION_NAME> —resource-arn <ELB_ARN>

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