一个用于预置和管理 AWS WAFv2 资源的 AWS CloudFormation 模板,包括 Web ACL、托管规则组、自定义正则表达式模式集和 IP 集。

该模板预置以下资源:
AWS::WAFv2::WebACL。AWSManagedRulesCommonRuleSetAWSManagedRulesKnownBadInputsRuleSetAWSManagedRulesAmazonIpReputationListAWSManagedRulesAnonymousIpListAWSManagedRulesSQLiRuleSetCustomRuleEncodeHTML),可启用以阻止编码/可疑的查询字符串输入。CustomRuleRejectIP),可启用以阻止选定的源 IP。CloudWatchLogGroup),用于存储 WebACL 日志。该堆栈将 Web ACL ARN 导出为 ${StackName}-aclarn。
模板接受以下参数:
Name
Scope
CLOUDFRONT 或 REGIONAL。RegularExpressionsList
^(.*<.*)+$,^(.*>.*)+$,^(.*".*)+$,^(.*'.*)+$)。MyIPSetDenylist
203.0.113.10/32,198.51.100.0/24)。如果
Scope=CLOUDFRONT,请在us-east-1区域运行部署。
使用 CloudFormation 部署命令创建或更新堆栈。
aws cloudformation deploy \
--template-file waf.yaml \
--stack-name waf-standard-regional \
--capabilities CAPABILITY_NAMED_IAM \
--parameter-overrides \
Name=StandardACL \
Scope=REGIONAL \
RegularExpressionsList="^(.*<.*)+$,^(.*>.*)+$,^(.*\".*)+$,^(.*'.*)+$" \
MyIPSetDenylist="203.0.113.10/32,198.51.100.0/24"
aws cloudformation deploy \
--region us-east-1 \
--template-file waf.yaml \
--stack-name waf-standard-cloudfront \
--capabilities CAPABILITY_NAMED_IAM \
--parameter-overrides \
Name=StandardACL \
Scope=CLOUDFRONT \
RegularExpressionsList="^(.*<.*)+$,^(.*>.*)+$,^(.*\".*)+$,^(.*'.*)+$" \
MyIPSetDenylist="203.0.113.10/32,198.51.100.0/24"
部署后,将输出的 Web ACL ARN 与您的资源关联:
Scope=CLOUDFRONT)。Scope=REGIONAL)。您可以通过以下命令检索堆栈输出:
aws cloudformation describe-stacks \
--stack-name waf-standard-regional \
--query 'Stacks[0].Outputs'
如果合法流量被 AWS 托管规则阻止,请使用以下一种或多种方法:
这些可以手动完成,或使用辅助脚本。