准备测试环境
先在实验室、灰度域名或低风险入口验证。确认网络、证书、上游服务、日志权限和防火墙规则都可控。
- 上游服务可直接访问。
- WAF 所需端口或云资源未被占用。
- 日志和监控入口已经准备好。
WAF 安装指南
AWS WAF 中文安装与评估流程,覆盖前置条件、接入步骤、验证清单、误报观察和回滚规划。
快速结论
把 CloudFormation Stack 当作版本化安全变更:先部署最小 Web ACL,检查变更集,验证关联与指标,并在增加规则前证明 Stack 可回滚。
部署流程
先在实验室、灰度域名或低风险入口验证。确认网络、证书、上游服务、日志权限和防火墙规则都可控。
安装命令、控制台步骤和规则集版本都应以当前官方文档为准,避免复制过时博客片段。
先接入单个应用、单个域名或单条路径,观察干净流量、TLS、日志字段和上游行为,再扩大范围。
先用观察、计数、记录或挑战动作收集证据,再对低风险规则启用拦截。任何拦截策略都应可快速回滚。
回滚规划
实验室验证
这些检查项刻意保持保守。请把域名和端口替换成你的实验环境值,并把输出保存到测试记录里。
AWSTemplateFormatVersion: "2010-09-09"
Resources:
WebAcl:
Type: AWS::WAFv2::WebACL
Properties:
Name: wafwiki-lab
Scope: CLOUDFRONT
DefaultAction:
Allow: {}
VisibilityConfig:
CloudWatchMetricsEnabled: true
MetricName: wafwiki-lab
SampledRequestsEnabled: true
Rules:
- Name: AWSManagedCommon
Priority: 0
OverrideAction:
Count: {}
Statement:
ManagedRuleGroupStatement:
VendorName: AWS
Name: AWSManagedRulesCommonRuleSet
VisibilityConfig:
CloudWatchMetricsEnabled: true
MetricName: wafwiki-common
SampledRequestsEnabled: trueThe template creates a CloudFront-scoped web ACL with the AWS managed common rule group overridden to count for observation.
aws cloudformation validate-template --template-body file://waf.yaml --region us-east-1AWS returns the parsed template description without a validation error.
aws cloudformation deploy --template-file waf.yaml --stack-name wafwiki-waf-lab --region us-east-1CloudFormation completes the stack and the web ACL appears in the CloudFront scope.
它用于验证模板结构、Scope 选择、资源关联、规则优先级、可见性配置、变更集审查以及可重复删除或回滚。
生产 Stack 更新前应完成模板检查、变更集审批、非生产部署、漂移检查、日志目标、删除策略和回滚演练。