ATP 示例:针对缺失和被盗凭证的自定义处理 - Amazon WAFAmazon Firewall Manager、和 Amazon Shield Advanced
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

ATP 示例:针对缺失和被盗凭证的自定义处理

默认情况下,规则组 AWSManagedRulesATPRuleSet 执行的凭证检查按如下方式处理 Web 请求:

  • 缺少凭证 – 标记和阻止请求。

  • 凭证泄露 – 为请求添加标签,但不要将其阻止或计数。

有关规则组和规则行为的详细信息,请参阅 Amazon WAF 防欺诈控制账户盗用 (ATP) 规则组

您可以通过执行以下操作为凭证缺失或泄露的 Web 请求添加自定义处理:

  • MissingCredential 规则覆盖为 Count – 此规则操作覆盖会使规则仅对匹配的请求进行计数和标记。

  • 添加带有自定义处理的标签匹配规则 – 配置此规则以匹配两个 ATP 标签并执行您的自定义处理。例如,您可以将客户重定向到您的注册页面。

以下规则显示了前一个示例中的 ATP 托管规则组,其中的 MissingCredential 规则操作被覆盖为计数。这会导致规则将其标签应用于匹配的请求,然后只计算请求数,而不是阻止请求。

"Rules": [ { "Priority": 1, "OverrideAction": { "None": {} }, "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "AccountTakeOverValidationRule" }, "Name": "DetectCompromisedUserCredentials", "Statement": { "ManagedRuleGroupStatement": { "ManagedRuleGroupConfigs": [ { "AWSManagedRulesATPRuleSet": { "LoginPath": "/web/login", "RequestInspection": { "PayloadType": "JSON", "UsernameField": { "Identifier": "/form/username" }, "PasswordField": { "Identifier": "/form/password" } }, "EnableRegexInPath": false } } ] "VendorName": "AWS", "Name": "AWSManagedRulesATPRuleSet", "RuleActionOverrides": [ { "ActionToUse": { "Count": {} }, "Name": "MissingCredential" } ], "ExcludedRules": [] } } } ],

使用此配置,当此规则组评估任何缺少凭证或已泄露的 Web 请求时,它将标记该请求,但不会阻止该请求。

以下规则的优先级设置在数字上高于前面的规则组。 Amazon WAF 按数字顺序评估规则,从最低开始,因此将在规则组评估之后评估此规则。该规则配置为匹配任一凭证标签,并为匹配的请求发送自定义响应。

"Name": "redirectToSignup", "Priority": 10, "Statement": { "OrStatement": { "Statements": [ { "LabelMatchStatement": { "Scope": "LABEL", "Key": "awswaf:managed:aws:atp:signal:missing_credential" } }, { "LabelMatchStatement": { "Scope": "LABEL", "Key": "awswaf:managed:aws:atp:signal:credential_compromised" } } ] } }, "Action": { "Block": { "CustomResponse": { your custom response settings } } }, "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "redirectToSignup" }