屏蔽无效的请求 AWS WAF 令牌 - AWS WAFAWS Firewall Manager、和 AWS Shield Advanced

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

屏蔽无效的请求 AWS WAF 令牌

本节介绍如何阻止在使用时缺少令牌的登录请求 AWS WAF 移动SDK。

当你使用智能威胁时 AWS 托管规则组AWSManagedRulesACFPRuleSetAWSManagedRulesBotControlRuleSet规则组调用 AWSManagedRulesATPRuleSet AWS WAF 令牌管理,用于评估 Web 请求令牌的状态并相应地标记请求。

注意

令牌标签仅适用于您使用其中一个托管规则组评估的 Web 请求。

有关令牌管理应用的标签的信息,请参阅前面的部分 中的代币标签类型 AWS WAF

然后,智能威胁缓解托管规则组按如下方式处理令牌要求:

  • AWSManagedRulesACFPRuleSetAllRequests规则配置为运行 Challenge 对所有请求采取行动,有效地阻止任何没有accepted令牌标签的请求。

  • AWSManagedRulesATPRuleSet 会阻止带有 rejected 令牌标签的请求,但不会阻止带有 absent 令牌标签的请求。

  • 在客户端发送五个没有 accepted 令牌标签的请求后,AWSManagedRulesBotControlRuleSet 目标保护级别会向他们提出质询。它不会阻止没有有效令牌的单个请求。规则组的通用保护级别不管理令牌要求。

有关智能威胁规则组的其他详细信息,请参阅 AWS WAF Fraud Control 账户创建防欺诈 (ACFP) 规则组AWS WAF Fraud Control 账户盗用预防 (ATP) 规则组AWS WAF 机器人控制功能规则组

使用 Bot Control 或ATP托管规则组时阻止缺少令牌的请求

借助 Bot Control 和ATP规则组,没有有效令牌的请求可以退出规则组评估并继续由 Web 进行评估ACL。

要阻止所有缺少令牌或令牌被拒绝的请求,请添加一条规则,使其在托管规则组之后立即运行,以捕获并阻止该规则组未处理的请求。

以下是使用ATP托管规则组ACL的网站的示例JSON列表。网络添加ACL了一条规则来捕获awswaf:managed:token:absent标签并对其进行处理。该规则将其评估范围缩小到发送到登录端点的 Web 请求,以匹配ATP规则组的范围。添加的规则以粗体列出。

{ "Name": "exampleWebACL", "Id": "55555555-6666-7777-8888-999999999999", "ARN": "arn:aws:wafv2:us-east-1:111111111111:regional/webacl/exampleWebACL/55555555-4444-3333-2222-111111111111", "DefaultAction": { "Allow": {} }, "Description": "", "Rules": [ { "Name": "AWS-AWSManagedRulesATPRuleSet", "Priority": 1, "Statement": { "ManagedRuleGroupStatement": { "VendorName": "AWS", "Name": "AWSManagedRulesATPRuleSet", "ManagedRuleGroupConfigs": [ { "AWSManagedRulesATPRuleSet": { "LoginPath": "/web/login", "RequestInspection": { "PayloadType": "JSON", "UsernameField": { "Identifier": "/form/username" }, "PasswordField": { "Identifier": "/form/password" } }, "ResponseInspection": { "StatusCode": { "SuccessCodes": [ 200 ], "FailureCodes": [ 401, 403, 500 ] } } } } ] } }, "OverrideAction": { "None": {} }, "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "AWS-AWSManagedRulesATPRuleSet" } }, { "Name": "RequireTokenForLogins", "Priority": 2, "Statement": { "AndStatement": { "Statements": [ { "Statement": { "LabelMatchStatement": { "Scope": "LABEL", "Key": "awswaf:managed:token:absent" } } }, { "ByteMatchStatement": { "SearchString": "/web/login", "FieldToMatch": { "UriPath": {} }, "TextTransformations": [ { "Priority": 0, "Type": "NONE" } ], "PositionalConstraint": "STARTS_WITH" } }, { "ByteMatchStatement": { "SearchString": "POST", "FieldToMatch": { "Method": {} }, "TextTransformations": [ { "Priority": 0, "Type": "NONE" } ], "PositionalConstraint": "EXACTLY" } } ] } }, "Action": { "Block": {} }, "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "RequireTokenForLogins" } } ], "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "exampleWebACL" }, "Capacity": 51, "ManagedByFirewallManager": false, "LabelNamespace": "awswaf:111111111111:webacl:exampleWebACL:" }