阻止没有令牌的登录请求 - Amazon WAF、Amazon Firewall Manager 和 Amazon Shield Advanced
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

阻止没有令牌的登录请求

这些区域有:Amazon托管式规则AWSManagedRulesATPRuleSet允许具有有效令牌的请求,并在将其与应用程序集成 SDK 一起使用时阻止带有无效令牌的请求。有关规则组的详细信息,请参阅Amazon WAF欺诈控制账户接管防范 (ATP) 规则组.

规则组不会阻止或标记缺少令牌的请求。规则组的令牌验证功能将按以下方式对缺少令牌的请求进行评估:

  1. 这些区域有:TokenRejected规则结果不匹配,因为没有令牌可供检查。它不会阻止请求,而且确实如此贴上标签awswaf:managed:token:rejected对请求。

  2. 令牌验证服务不使用标签awswaf:managed:token:accepted对请求。

除非请求被规则组中的其他规则阻止,否则它将在没有任何令牌检查标签的情况下退出规则组评估,并继续由 Web ACL 进行评估。

要阻止向缺少令牌的登录终端节点发出的请求,请添加一条在 ATP 托管规则组之后立即运行的规则,如果登录终端节点没有awswaf:managed:token:acceptedLabel。

以下是具有托管规则组和添加规则的 Web ACL 的 JSON 列表示例。添加的规则以粗体列出。

{ "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": [ { "LoginPath": "/web/login" }, { "PayloadType": "JSON" }, { "UsernameField": { "Identifier": "/form/username" } }, { "PasswordField": { "Identifier": "/form/password" } } ] } }, "OverrideAction": { "None": {} }, "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "AWS-AWSManagedRulesATPRuleSet" } }, { "Name": "RequireTokenForLogins", "Priority": 2, "Statement": { "AndStatement": { "Statements": [ { "NotStatement": { "Statement": { "LabelMatchStatement": { "Scope": "LABEL", "Key": "awswaf:managed:token:accepted" } } } }, { "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:" }