1. 新建waf 规则组
2. 为规则组添加规则

根据需求创建不同的规则
3. waf中附加规则组 (此时规则组所有规则都会附加到waf中,但是不会永黑)
此刻,可以选择测试下规则是否生效,测试前确认保护资源绑定无误
4. 创建堆栈 (建议删除之前的单个规则永黑方案堆栈)
弗吉尼亚北部 us-east-1
堆栈url:
https://actwill-cloudformation-template.s3.amazonaws.com/waf-block-rate-ip/waf_block_ip_by_rate_rule_group_2031220.template
如果这里填入的规则只有规则组的其中1个,那么永黑只会对这个规则生效,其他规则是只会根据配置生效,但是不会永黑。
确认创建 等待所有资源创建完成
5.测试效果
使用cloudshell 或者其他终端
测试脚本
bash
#!/bin/bash
while true; do
#echo "访问actwill.png"
#curl -I http://xxx.cloudfront.net/actwill.png
#sleep 0.5
echo "访问robots.txt"
curl -I http://xxxx.cloudfront.net/robots.txt
sleep 0.5
#echo "访问asset-manifest.json"
#curl -I http://xxx.cloudfront.net/asset-manifest.json
done
执行脚本 等待被block
有一定延迟性,大概会延迟1-2分钟
测试添加ip set 正常后
6.附加ip set 到 waf block

7.新增规则并且配置永黑,
进入规则组,新建规则
更新堆栈 修改规则追加即可

8.添加waf 白名单时,新建ip set 即可 提高优先级到最高即可
9.删除永久黑名单的ip
暂停 EventBridge

修改s3 桶json文件
waf ip set 中删除

重启EventBridge
