Check provider logo

Elastic Load Balancer has access logs to S3 configured

elb_logging_enabled

Severitymedium
Serviceelb
by Prowler

Elastic Load Balancers have access logs configured to deliver request metadata (client IPs, paths, status, TLS details) to Amazon S3

Risk

Without ELB access logs, you lose visibility into edge traffic, reducing detection of reconnaissance, brute-force, and exploitation attempts. This hampers forensics and incident timelines, risking undetected data exfiltration (confidentiality), untraceable changes (integrity), and delayed response to outages or DDoS (availability).

Run this check with Prowler CLI

prowler aws --checks elb_logging_enabled

Recommendation

Enable access logs to Amazon S3 (access_logs.s3.enabled=true). Apply least privilege bucket policies, encrypt objects, and restrict read access. Define lifecycle retention and centralize analysis. Monitor for delivery failures and alert on anomalies. Standardize across all load balancers via IaC as part of defense in depth.

Remediation

CLI

aws elb modify-load-balancer-attributes --load-balancer-name <lb_name> --load-balancer-attributes AccessLog={Enabled=true,S3BucketName=<bucket_name>}

Native IaC
Terraform
Other
  1. In the AWS Console, go to EC2 > Load Balancers
  2. Select the load balancer and choose Edit attributes (or the Attributes tab)
  3. Turn on Access logs
  4. Enter the S3 URI (e.g., s3://<bucket_name>)
  5. Click Save

Source Code

Resource Type

AwsElbLoadBalancer

References