Check ID:
Provider: AWS
Service:
Severity: MEDIUM
Resource type:
waf_regional_webacl_with_rulesProvider: AWS
Service:
wafSeverity: MEDIUM
Resource type:
AwsWafRegionalWebAclWhat this check verifies
AWS WAF Classic Regional web ACL contains at least one rule or rule group to inspect and act on HTTP(S) requests. An ACL with no entries is considered empty.Risk
With no rules, the web ACL performs no inspection, letting malicious traffic through.- Confidentiality: data exposure via SQLi/XSS
- Integrity: unauthorized actions or tampering
- Availability: abuse/bot traffic causing degradation or denial
Recommendation
Populate each web ACL with at least one rule or rule group that inspects requests and enforces least privilege. Apply defense in depth by combining managed and custom rules, include rate controls where appropriate, and review regularly. Default to blocking undesired traffic; only permit required patterns.Remediation
- CLI
- Terraform
- Native IaC
- Dashboard steps
References
- https://docs.aws.amazon.com/securityhub/latest/userguide/waf-controls.html#waf-4
- https://docs.aws.amazon.com/waf/latest/developerguide/classic-web-acl-editing.html
- https://docs.aws.amazon.com/waf/latest/developerguide/waf-rules.html
Where this check fires
This check runs on every scheduled scan against your AWS account. Findings appear at Cloud Security → Findings filterable byCheck ID = waf_regional_webacl_with_rules. 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