介绍 Amazon WAF 的全新控制台体验
现在,您可以使用更新后的体验访问控制台中任意位置的 Amazon WAF 功能。有关更多详细信息,请参阅 使用更新的控制台体验。
机器人控制功能示例:为被阻止的用户代理创建例外
如果来自某些非浏览器用户代理的流量被错误阻止,可以通过将违规 Amazon WAF 机器人控制功能规则 SignalNonBrowserUserAgent 设置为计数,然后将该规则的标签与例外标准相结合来创建例外。
注意
移动应用程序通常具有非浏览器用户代理,SignalNonBrowserUserAgent 规则在默认情况下会阻止这些代理。
以下规则使用机器人控制功能托管规则组,但会将 SignalNonBrowserUserAgent 规则操作覆盖为计数。信号规则像往常一样将其标签应用于匹配的请求,但仅对它们进行计数,而不是执行通常的阻塞操作。
{ "Name": "AWS-AWSBotControl-Example", "Priority": 5, "Statement": { "ManagedRuleGroupStatement": { "VendorName": "AWS", "Name": "AWSManagedRulesBotControlRuleSet", "ManagedRuleGroupConfigs": [ { "AWSManagedRulesBotControlRuleSet": { "InspectionLevel": "COMMON" } } ], "RuleActionOverrides": [ { "ActionToUse": { "Count": {} }, "Name": "SignalNonBrowserUserAgent" } ], "ExcludedRules": [] } }, "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "AWS-AWSBotControl-Example" } }
以下规则与机器人控制功能 SignalNonBrowserUserAgent 规则添加到其匹配的 web 请求中的信号标签相匹配。在信号请求中,除了那些拥有我们想要允许的用户代理的请求外,该规则会阻止所有请求。
以下规则必须在保护包(web ACL)处理顺序中前面的机器人控制功能托管规则组之后运行。
{ "Name": "match_rule", "Statement": { "AndStatement": { "Statements": [ { "LabelMatchStatement": { "Scope": "LABEL", "Key": "awswaf:managed:aws:bot-control:signal:non_browser_user_agent" } }, { "NotStatement": { "Statement": { "ByteMatchStatement": { "FieldToMatch": { "SingleHeader": { "Name": "user-agent" } }, "PositionalConstraint": "EXACTLY", "SearchString": "PostmanRuntime/7.29.2", "TextTransformations": [ { "Priority": 0, "Type": "NONE" } ] } } } } ] } }, "RuleLabels": [], "Action": { "Block": {} }, "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "match_rule" } }