AWS WAF

本文缩写(英文全称与中文含义)
缩写 英文全称/名称 中文含义
ACFP Account Creation Fraud Prevention AWS WAF 账号创建欺诈防护
ALB Application Load Balancer 应用负载均衡器
API Application Programming Interface 应用程序编程接口
ARN Amazon Resource Name AWS 资源名称,用于唯一标识资源
ASN Autonomous System Number 自治系统编号
ATP Account Takeover Prevention AWS WAF 账号接管防护
AWS Amazon Web Services 亚马逊云服务
CAPTCHA Completely Automated Public Turing test to tell Computers and Humans Apart 区分人与机器的自动化验证
CIDR Classless Inter-Domain Routing 无类别域间路由,用于表示网段
DDoS Distributed Denial of Service 分布式拒绝服务攻击
EC2 Elastic Compute Cloud AWS 云服务器服务
HTTP Hypertext Transfer Protocol 超文本传输协议
HTTPS Hypertext Transfer Protocol Secure 使用 TLS 加密的 HTTP
IP Internet Protocol 网际协议;IP 地址是网络寻址标识
JSON JavaScript Object Notation 一种结构化数据格式
KB Kilobyte 十进制千字节,1 KB = 1000 字节;某些旧工具用法不同
NACL Network Access Control List 网络访问控制列表
NLB Network Load Balancer 网络负载均衡器
OAC Origin Access Control CloudFront 源站访问控制
OU Organizational Unit 组织单元
PHP PHP: Hypertext Preprocessor PHP 编程语言
QPS Queries Per Second 每秒查询数
REST Representational State Transfer 表述性状态转移,一种接口架构风格
S3 Simple Storage Service AWS 对象存储服务
SDK Software Development Kit 软件开发工具包
SQL Structured Query Language 结构化查询语言
URI Uniform Resource Identifier 统一资源标识符
URL Uniform Resource Locator 统一资源定位符,通常指访问地址
VPN Virtual Private Network 虚拟专用网络
WAF Web Application Firewall Web 应用防火墙
WCU Write Capacity Unit DynamoDB 写入容量单位
XSS Cross-Site Scripting 跨站脚本攻击

1. 定位#

AWS WAF 是 HTTP/HTTPS 应用层防火墙:根据请求内容、来源、频率及托管威胁规则执行 Allow、Block、Count、CAPTCHA 或 Challenge。不能代替身份认证、业务授权或应用漏洞修复。

服务 主要职责
WAF SQL 注入、XSS、恶意请求、Bot、应用层流量滥用
Shield DDoS 防护;Advanced 增加资源保护、事件支持等能力
Security Group / NACL 网络地址、协议、端口边界
Firewall Manager 跨账号统一下发 WAF、Shield 等安全策略

Hands-on:部署、验证、调优与清理,附可下载的 CloudFormation 模板。

2. 资源与 Scope#

使用 WAFv2 API。控制台中的 protection pack 对应 API 的 WebACL。

入口 Scope / 管理位置 关联方式
CloudFront CLOUDFRONT,us-east-1 在 distribution 配置中设置 WebACL ARN
ALB REGIONAL,与 ALB 同 Region WebACL association
API Gateway REST API REGIONAL,与 API 同 Region 关联 stage;不要套用到 HTTP API / WebSocket API
AppSync GraphQL、Cognito user pool、App Runner、Verified Access、Bedrock AgentCore Gateway 按服务与 Region 支持情况使用区域 WebACL 对应资源关联
Amplify Global / CloudFront 管理位置 按 Amplify 集成流程关联

一个资源最多关联一个 WebACL;一个 WebACL 可关联多个兼容资源。CloudFront WebACL 不能同时关联 ALB。不能直接关联 EC2、NLB、S3 bucket 或 Lambda function。支持资源与限制

3. 规则模型#

请求 -> 按 Priority 从小到大检查规则
     -> 遇到终止动作结束检查
     -> 没有终止动作时采用 WebACL DefaultAction
概念 用法
WebACL 关联入口,定义默认动作、规则顺序和可观测性
Rule group 复用自定义规则,或引用 AWS / Marketplace 托管组
IP set 维护 IPv4 / IPv6 CIDR 集合;两种地址分别建集合
Regex pattern set 复用路径、参数等正则模式
Labels 前序规则标记请求,后序规则匹配标签实现细分处理
WCU 规则计算容量;不同检查和转换消耗不同,不是请求 QPS 配额
Scope-down 缩小托管组或限速规则的适用请求范围
Action 行为
Allow 终止检查并放行;前置大范围 Allow 会绕过后续防护
Block 终止检查;默认 403,可自定义状态、响应头和响应体
Count 记录命中后继续检查,用于观察与调优
CAPTCHA / Challenge 无有效 token 时验证或阻断;有效 token 时继续后续检查

规则组 OverrideAction: Count 只把组返回的动作改为 Count,组内原本的终止行为仍可能限制后续规则观测。需要逐条观察时使用 RuleActionOverrides 将指定组内规则改为 Count。动作与覆盖

4. 功能与使用场景#

功能 常见用法 关键配置
字符串 / 正则 限制路径、方法、Header、User-Agent 检查字段、匹配位置、大小写及 URL decode 等转换
SQLi / XSS 拦截查询参数或正文中的攻击特征 检查范围、SQLi 灵敏度、误报例外
JSON body 只检查指定 JSON 字段 JSON pointer、解析失败回退、超长处理
Size constraint 限制请求组件长度 比较运算、阈值、上传接口例外
IP / Geo / ASN 来源允许/拒绝、地域策略、网络来源限制 可信客户端 IP、IPv6、代理和共享出口影响
AND / OR / NOT 组合路径、方法和来源条件 不能任意嵌套所有 statement 类型
Rate-based 登录、搜索、昂贵接口防滥用 窗口、聚合 key、阈值、scope-down
JA3 / JA4、Header order 辅助识别客户端特征 检查入口支持情况,不作为用户身份凭证
Labels 托管检测后按业务路径选择 Block / Challenge 标签生成规则必须排在标签匹配规则前
自定义请求/响应 放行时附加检查标记、阻断时返回 JSON / 429 不在响应中暴露规则细节
CAPTCHA / Challenge / SDK 浏览器、人机识别、token 管理 token domain、免验证时长、前端集成和跨域行为

限速支持 IP、转发 IP、自定义 key 或对 scope-down 内请求做整体聚合。窗口可选 60、120、300、600 秒;它是近似速率控制,不是精确计费配额。修改规则可能重置计数,多个 WebACL 的计数不共享。Rate-based rules

不要盲信客户端提交的 X-Forwarded-For。只有可信代理能控制该字段且源站不能被绕过时,才按链路语义选择 FIRST/LAST/ANY 或转发 IP 配置;不同 statement 支持的配置不同。

5. 托管规则怎么选#

规则组 / 类别 适用场景
AWSManagedRulesCommonRuleSet 通用 Web 防护基线
AWSManagedRulesKnownBadInputsRuleSet 已知恶意输入
AWSManagedRulesAmazonIpReputationList AWS 威胁情报识别的来源
AWSManagedRulesAnonymousIpList 匿名代理、VPN 等来源策略;评估合法用户影响
SQLi、Linux、Unix、Windows、PHP、WordPress 按技术栈添加,不全部无差别启用
Bot Control:Common / Targeted Bot 分类、抓取与自动化滥用;Targeted 增加更深入检测
ATP 登录保护、凭据填充与账户接管检测
ACFP 注册流程中的欺诈账户创建检测
AWSManagedRulesAntiDDoSRuleSet 应用层 DDoS 检测与缓解,配置 Block / Challenge 灵敏度
Marketplace 第三方规则;核对订阅费用、适用业务与更新方式

托管规则功能和集成要求以 AWS Managed Rules 列表 为准。ATP/ACFP 需要正确映射登录/注册路径和字段;响应检查等能力存在入口限制,不能假定所有资源支持相同功能。

新规则先 Count,观察完整业务周期,再逐条启用默认动作。支持版本管理的规则组应记录版本、订阅更新通知、在到期前测试升级;不是所有组都支持固定版本。

6. 检查边界与误报#

  • ALB / AppSync 的 body 检查上限为前 8 KB;CloudFront 等部分入口默认 16 KB,可配置更大上限,最高 64 KB。增加范围可能增加费用。
  • 明确 OversizeHandling:CONTINUE 检查可见部分,MATCH 视为匹配,NO_MATCH 视为不匹配。视为匹配后的动作由规则决定。
  • WAF 放行时,源站仍可能收到完整正文;“已检查”不代表检查了整个上传文件。
  • 大文件、富文本、合法 SQL 示例、Webhook 和移动端应有独立测试集;例外限制到规则、路径、方法和必要字段。
  • WAF 不负责解析压缩包、文件杀毒或对象存储内容扫描,也不能解决业务越权。

正文、Header 与 Cookie 检查限制

7. 日志、告警与运维#

能力 用法
CloudWatch metrics AllowedRequests、BlockedRequests、CountedRequests、CAPTCHA/Challenge 指标与业务错误率联合观察
Sampled requests 快速定位命中;不是完整审计日志,可选择关闭
完整日志 CloudWatch Logs、S3、Data Firehose;名称使用规定的 aws-waf-logs- 前缀
Logging filter 按动作或标签保留/丢弃日志,控制成本
RedactedFields / Data protection 减少凭据与个人信息暴露;分别核对日志、采样和其他数据出口
CloudTrail 追踪规则、关联和日志配置变更
Firewall Manager 按 OU、账号、标签下发基线,检查漏关联和策略漂移

日志字段脱敏不自动覆盖 sampled requests。示例关闭请求采样并遮蔽 Authorization、Cookie;生产还要审查 URI、查询参数等敏感字段。WAF logging

8. 架构与成本#

推荐入口:Client -> CloudFront + WAF -> ALB -> ECS/EKS。限制源站直接访问,避免攻击者绕过 CloudFront:按架构使用 CloudFront 来源限制、受控 origin header、私有源站等机制;S3 使用私有 bucket 与 OAC。

WAF 常规费用包含 WebACL、规则和请求;额外 WCU、扩大正文检查、Bot/Fraud/Anti-DDoS、CAPTCHA/Challenge、Marketplace 及日志可能增加费用。Count 仍会检查和计费。WAF 价格

多 Region 分别部署区域规则、日志、关联和告警。WAF 规则不会因为数据库切到灾备区而自动同步,见 企业灾备流程。

搜索文档

输入关键词,搜索所有文档。

↑ ↓ 选择 · Enter 打开 · Esc 关闭