测试新规则

在部署新的规则之前,对其进行测试至关重要,这是为了确保不会意外拦截有效的请求。

在前面两节,对请求采取的操作有两种:BlockAllow。 其实还有第三个动作CountCount可以统计匹配规则条件的请求数

计数(Count)是一个“非终止(non-terminating)”动作, 当请求与规则相匹配时,Web ACL将继续处理其余规则。

托管规则也可以使用Count来测试。


查看Count

当行为是Count的规则被匹配时,该事件将发送到CloudWatch。 可以在Cloudwatch控制台查看规则的Count,默认显示WAF指标时使用Average,在某些情况下将其更改为Sum会很有用。


测试Count

假设你为WAF自定义了一套新规则。 在部署它之前必须先对其进行测试,确保不会意外拦截有效的请求。

我们的目标是在控制台创建一条规则,当使用“username”参数时不会阻止请求:

image-20210509082132032

规则名称为count-von-count, 这条规则检查查询参数是否包含username :

image-20210509082508112

Action部分选择Count:

image-20210509082645670

然后保存,并进行下面的测试。


测试

在终端里执行如下命令:

curl "$JUICESHOP_URL?username=admin"

这条请求不会会阻截,而是被计数,可以在Cloudwatch metrics界面查看统计:

image-20210509083645964