AWS WAF 定价 包括以下几个定价组件:
以下是一些可以遵循的初步指南,以开始优化我们的 WebACL 成本:
我们的Bot control托管规则组本身就是一个重要的成本节省因素,因为它确保没有机器人流量进入我们的应用程序,从而避免处理不需要的工作负载。但是,我们的应用程序并非所有部分都与机器人相关,因此没有必要对所有请求进行Bot control流量检查。
在我们的示例中,我们希望将image/css/video/js
排除在机器人控制检查之外。通过单击 web ACL 规则选项卡中的框并单击编辑来编辑AWS-AWSManagedRulesBotControlRuleSet托管规则。
单击Only inspect requests that match a scope-down statement
:
对于If a request,选择AND语句, 添加两个规则如下:
单击Save。从现在开始,对 .jpg 或 .png 文件的请求将不会被Bot control检查,我们也不会为此产生任何成本。
充分利用基于 IP 的防御措施应该是我们 web ACL 中的首要规则。确保 IP 声誉和匿名 IP 规则位于列表的顶部。
规则排序
和范围限定
是优化 AWS WAF 成本的有效方法。对于我们担心 L7 DDoS 攻击的应用程序,将 AWS WAF 与 AWS Shield Advanced
结合使用更为合适。
使用聚合键的基于速率的规则 允许我们将请求的不同元素组合成一个单一的键,服务将使用它进行速率限制。这就开启了将多个请求头和标签组合成单一规则的可能性。
我们可以使用组合标准来阻止违反预期流量规则的请求,例如traffic source、缺少特定的cookie或头部,以及其他评估标准如标签。这将导致更多的流量在到达诸如Bot Control等付费规则之前被阻止和缓解。
```javascript
fields @timestamp, httpRequest.uri, action
| parse @message '{"name":"User-Agent","value":"*"}' as userAgent
| filter userAgent like "curl"
| sort @timestamp desc
| limit 10
| filter action = "BLOCK"
---
完成!这个规则将有助于阻止一些HTTP库流量,而不会产生Bot Control的成本。