AWS WAF
AWS WAF
Overview
The AWS WAF integration connects the Praetorian Guard Platform (PGP) with your AWS Web Application Firewall (WAFv2), providing three security capabilities: scanner IP whitelisting through firewall bypass rules, automated discovery of WAF resources across both Regional and CloudFront scopes, and auditing of WebACL configurations for common misconfigurations.
This integration is valuable for organizations deploying AWS WAF in front of CloudFront distributions, Application Load Balancers, or API Gateway endpoints who need comprehensive WAF posture visibility and continuous misconfiguration detection.
What the Integration Does
- Scanner IP Whitelisting — PGP creates a
guard-scanner-bypassIP set containing Guard scanner IPs (66.45.78.0/24) and wires a bypass rule into every WebACL. The bypass rule uses a 3-leg OR condition: IP set match, a per-customerchariotheader, and a per-customerUser-Agentheader. Rules are idempotent and handle concurrent execution gracefully. - Asset Discovery — Enumerates all WAFv2 resources across both REGIONAL and CLOUDFRONT scopes: Web ACLs, IP Sets, Rule Groups, and Regex Pattern Sets. Optionally discovers AWS Firewall Manager (FMS) policies when enabled.
- Security Auditing — Inspects each WebACL for five misconfiguration patterns, flagging gaps in WAF protection that could leave applications exposed.
Discovered Asset Types
Detected Risks
Prerequisites
- AWS account with WAFv2 resources deployed
- A cross-account IAM role that PGP can assume via STS
- An External ID for confused-deputy protection
Creating the IAM Role
- Log in to the AWS Management Console
- Navigate to IAM > Roles and create a new role with a trust policy that allows PGP to assume it
- Attach a policy with the following permissions:
Read permissions (discovery + audit):
wafv2:ListWebACLswafv2:GetWebACLwafv2:ListIPSetswafv2:GetIPSetwafv2:ListRuleGroupswafv2:ListRegexPatternSets
Write permissions (scanner bypass):
wafv2:CreateIPSetwafv2:UpdateIPSetwafv2:UpdateWebACL
Optional (Firewall Manager):
fms:ListPoliciesfms:ListComplianceStatus
Finding Your External ID: The External ID is provided by PGP during setup. Use it in the IAM role trust policy Condition block to prevent confused-deputy attacks.
Setup
- In PGP, navigate to Integrations > Firewall > AWS WAF
- Click Integrate
- Enter the following fields and click Connect
PGP validates credentials by attempting to assume the provided IAM role via STS before saving.
What Data Is Synced
Discovery: Web ACLs, IP Sets, Rule Groups, and Regex Pattern Sets across both REGIONAL and CLOUDFRONT scopes. Optionally FMS policies and compliance status.
Bypass Rules: A guard-scanner-bypass IP set and bypass rule are created/updated in each WebACL to ensure Guard scanner traffic (66.45.78.0/24) is not blocked.
Audit: Each WebACL is inspected for five misconfiguration patterns including default-allow, missing rules, no rate limiting, and overly permissive COUNT-only actions.
AWS API Endpoints Used
Troubleshooting
Security and Data Handling
- Cross-account role assumption via STS with External ID (confused-deputy protection)
- Credentials encrypted at rest and in transit, never logged
- Only writes: scanner bypass IP set and bypass rule in WebACLs. All other operations are read-only.
- Bypass rules are idempotent — re-running the integration does not create duplicate rules
- No application data, logs, or request content is accessed
- Discovered assets pass through PGP standard filtering rules
Coming Soon
- Managed Rule Group Analysis (AWS, marketplace, and custom)
- WebACL-to-Resource Association Mapping (ALB, CloudFront, API Gateway)
- Logging Configuration Auditing
- Bot Control and Account Takeover Prevention Assessment
Integration category: Firewall. Data direction: Read with scanner bypass writes. Authentication: Cross-account IAM role via STS.