在本节中,我们将开始使用 AWS WAF Bot Control
到目前为止,我们已经使用了免费的托管规则来控制可疑的传入流量。在本节中,我们将使用一个付费的托管规则,它可以检测传入流量中的机器人特征。
在Web ACL Rules选项卡上,添加一个新的托管规则:
在"Bot Control"旁边,单击"Add to web ACL"按钮:
单击"Edit”。对于检查级别,我们将从"Common"开始。
“Common"检查级别仅使用被动检查传入请求,不会更改任何流量到客户端或从客户端发出的内容。默认情况下,除了经过验证的SEO引擎和社交媒体爬虫,阻止其他识别出来的Bot。
所有机器人类别的默认设置都是 Block
。让我们保持原样,向下滚动并单击"save rule”:
继续点击保存,在设置规则优先级页面上,单击选择AWS-AWSManagedRulesBotControlRuleSet
规则,然后单击"Move up"按钮,直到该规则位于最上面,然后单击保存:
尝试使用curl来尝试从应用获得响应:
curl -v https://<<d1234567890>>.cloudfront.net (将*d1234567890*替换为我们自己的CloudFront地址)。
直接返回了403:
通过CloudWatch Log insight查询(在启用机器人控制后,日志可能需要一分钟才会出现):
fields @timestamp,httpRequest.uri
| filter terminatingRuleId = "AWS-AWSManagedRulesBotControlRuleSet"
| limit 100