All checks
Medium WAF · account

AWS WAF Classic Global Web ACL logging should be enabled

Checks that logging is enabled for the AWS WAF Classic global web ACL, which protects CloudFront distributions. Logs record each request the web ACL inspects and the rule it matched, for troubleshooting and investigating attacks. AWS WAF Classic support ended on September 30, 2025, so migrating to AWS WAF is the lasting fix.

service
WAF
severity
Medium
scope
evaluated once per account

How to fix it

  • Affects another check: Migrating to AWS WAF instead leaves logging off on the new web ACL, so WAF.11 fails there until you enable it.

In the console

AWS WAF Classic → Global (CloudFront) → Web ACLs → the web ACL → Logging

Kinesis Data Firehose
A stream created beforehand in us-east-1 (US East, N. Virginia), with a name that starts with aws-waf-logs-
Source (on the Firehose stream)
Direct PUT, not a Kinesis data stream

With the AWS CLI

aws waf put-logging-configuration --logging-configuration '{"ResourceArn":"<web-acl-arn>","LogDestinationConfigs":["<firehose-delivery-stream-arn>"]}' --region us-east-1

With Terraform

resource "aws_waf_web_acl" "this" {
  name        = var.name
  metric_name = var.metric_name

  default_action {
    type = "ALLOW"
  }

  logging_configuration {
    log_destination = var.firehose_delivery_stream_arn
  }
}

See which of your accounts this check is failing on.

Book a live scan