ATP 示例:针对缺失和被盗凭证的自定义处理
默认情况下,规则组 AWSManagedRulesATPRuleSet
执行的凭证检查按如下方式处理 Web 请求:
-
缺少凭证 – 标记和阻止请求。
-
凭证泄露 – 为请求添加标签,但不要将其阻止或计数。
有关规则组和规则行为的详细信息,请参阅 AWS 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 请求时,它将标记该请求,但不会阻止该请求。
以下规则的优先级设置在数字上高于前面的规则组。AWS 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" }