aws-waf-cdn 基于规则组的永黑解决方案

1. 新建waf 规则组

aws-waf-cdn 基于规则组的永黑解决方案_第1张图片
aws-waf-cdn 基于规则组的永黑解决方案_第2张图片
aws-waf-cdn 基于规则组的永黑解决方案_第3张图片

2. 为规则组添加规则

aws-waf-cdn 基于规则组的永黑解决方案_第4张图片
根据需求创建不同的规则
aws-waf-cdn 基于规则组的永黑解决方案_第5张图片
aws-waf-cdn 基于规则组的永黑解决方案_第6张图片aws-waf-cdn 基于规则组的永黑解决方案_第7张图片

3. waf中附加规则组 (此时规则组所有规则都会附加到waf中,但是不会永黑)

aws-waf-cdn 基于规则组的永黑解决方案_第8张图片
aws-waf-cdn 基于规则组的永黑解决方案_第9张图片
此刻,可以选择测试下规则是否生效,测试前确认保护资源绑定无误
aws-waf-cdn 基于规则组的永黑解决方案_第10张图片

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
aws-waf-cdn 基于规则组的永黑解决方案_第11张图片
aws-waf-cdn 基于规则组的永黑解决方案_第12张图片如果这里填入的规则只有规则组的其中1个,那么永黑只会对这个规则生效,其他规则是只会根据配置生效,但是不会永黑。

aws-waf-cdn 基于规则组的永黑解决方案_第13张图片
aws-waf-cdn 基于规则组的永黑解决方案_第14张图片
确认创建 等待所有资源创建完成
aws-waf-cdn 基于规则组的永黑解决方案_第15张图片

5.测试效果

使用cloudshell 或者其他终端
aws-waf-cdn 基于规则组的永黑解决方案_第16张图片
测试脚本

#!/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
aws-waf-cdn 基于规则组的永黑解决方案_第17张图片
有一定延迟性,大概会延迟1-2分钟
aws-waf-cdn 基于规则组的永黑解决方案_第18张图片
测试添加ip set 正常后

6.附加ip set 到 waf block

aws-waf-cdn 基于规则组的永黑解决方案_第19张图片

7.新增规则并且配置永黑,

进入规则组,新建规则
更新堆栈 修改规则追加即可

aws-waf-cdn 基于规则组的永黑解决方案_第20张图片

8.添加waf 白名单时,新建ip set 即可 提高优先级到最高即可

aws-waf-cdn 基于规则组的永黑解决方案_第21张图片
aws-waf-cdn 基于规则组的永黑解决方案_第22张图片

9.删除永久黑名单的ip

暂停 EventBridge

aws-waf-cdn 基于规则组的永黑解决方案_第23张图片

修改s3 桶json文件

aws-waf-cdn 基于规则组的永黑解决方案_第24张图片
aws-waf-cdn 基于规则组的永黑解决方案_第25张图片

waf ip set 中删除

aws-waf-cdn 基于规则组的永黑解决方案_第26张图片

重启EventBridge

aws-waf-cdn 基于规则组的永黑解决方案_第27张图片

你可能感兴趣的:(AWS使用日记,aws,waf,cdn)