All checks
Medium WAF · regional

AWS WAF Classic Regional web ACLs should have at least one rule or rule group

Checks that the AWS WAF Classic Regional web ACL has at least one rule or rule group. Without one, every request to its load balancers and API Gateway stages gets the default action uninspected. A rule group set to Override to count still passes while blocking nothing. AWS WAF Classic support ended on September 30, 2025, so migrating to AWS WAF is the lasting fix.

service
WAF
severity
Medium
scope
evaluated in every region

How to fix it

  • Can break clients: A rule added with Block can refuse legitimate requests as soon as the change is saved; add it with Count, read its metrics, then switch it to Block.

In the console

AWS WAF Classic → the Region → Web ACLs → the web ACL → Rules

Add rule to web ACL
An existing rule or rule group in this Region that has at least one condition or rule
Action
Count first, then Block or Allow; for a rule group, No override

With the AWS CLI

aws waf-regional update-web-acl --web-acl-id <web-acl-id> --change-token <change-token> --updates '[{"Action":"INSERT","ActivatedRule":{"Priority":1,"RuleId":"<rule-id>","Action":{"Type":"BLOCK"},"Type":"REGULAR"}}]' --region <region>

With Terraform

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

  default_action {
    type = "ALLOW"
  }

  rule {
    priority = 1
    rule_id  = var.rule_id
    type     = "REGULAR"

    action {
      type = "BLOCK"
    }
  }
}

See which of your accounts this check is failing on.

Book a live scan