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

引入全新的主机体验 Amazon WAF

现在,您可以使用更新的体验访问控制台中任意位置的 Amazon WAF 功能。有关更多详细信息,请参阅 使用更新的主机体验

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

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" }