在部署新的规则之前,对其进行测试至关重要,这是为了确保不会意外拦截有效的请求。
在前面两节,对请求采取的操作有两种:Block或Allow。 其实还有第三个动作Count, Count可以统计匹配规则条件的请求数。
计数(Count)是一个“非终止(non-terminating)”动作, 当请求与规则相匹配时,Web ACL将继续处理其余规则。
托管规则也可以使用Count来测试。
当行为是Count的规则被匹配时,该事件将发送到CloudWatch。 可以在Cloudwatch控制台查看规则的Count,默认显示WAF指标时使用Average,在某些情况下将其更改为Sum会很有用。
假设你为WAF自定义了一套新规则。 在部署它之前必须先对其进行测试,确保不会意外拦截有效的请求。
我们的目标是在控制台创建一条规则,当使用“username”参数时不会阻止请求:
规则名称为count-von-count
, 这条规则检查查询参数是否包含username :
Action部分选择Count:
然后保存,并进行下面的测试。
在终端里执行如下命令:
curl "$JUICESHOP_URL?username=admin"
这条请求不会会阻截,而是被计数,可以在Cloudwatch metrics
界面查看统计: