Bloquear solicitudes que no tienen un AWS WAF token válido - AWS WAF, AWS Firewall Manager, y AWS Shield Advanced

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Bloquear solicitudes que no tienen un AWS WAF token válido

Cuando utilizas los grupos de reglas AWS gestionadas por amenazas inteligentes AWSManagedRulesACFPRuleSet AWSManagedRulesATPRuleSetAWSManagedRulesBotControlRuleSet, y los grupos de reglas invocan la administración de AWS WAF tokens para evaluar el estado del token de solicitud web y etiquetar las solicitudes en consecuencia.

nota

El etiquetado de los tokens solo se aplica a las solicitudes web que se evalúan mediante uno de estos grupos de reglas administrados.

Para obtener información sobre el etiquetado que aplica la administración de los tókenes, consulte la sección anterior, AWS WAF etiquetado de tokens por parte del bot y grupos de reglas gestionados contra el fraude.

Luego, los grupos de reglas administrados de mitigación de amenazas inteligentes gestionan los requisitos de los tokens de la siguiente manera:

  • La regla AllRequests de AWSManagedRulesACFPRuleSet está configurada para ejecutar la acción Challenge contra todas las solicitudes y bloquear de forma efectiva las que no tengan la etiqueta de token accepted.

  • AWSManagedRulesATPRuleSet bloquea las solicitudes que tienen la etiqueta de token rejected, pero no bloquea las solicitudes con la etiqueta de token absent.

  • El nivel de protección específica de AWSManagedRulesBotControlRuleSet desafía a los clientes después de enviar cinco solicitudes sin una etiqueta de token accepted. No bloquea una solicitud individual que no tenga un token válido. El nivel de protección común del grupo de reglas no administra los requisitos de los tokens.

Para obtener más información sobre los grupos de reglas de amenazas inteligentes, consulte AWS WAF Grupo de reglas de prevención del fraude (ACFP) para la creación de cuentas de Control de Fraude, AWS WAF Grupo de reglas de prevención de apropiación de cuentas (ATP) para el control del fraude y AWS WAF Grupo de reglas de control de bots.

Para bloquear las solicitudes a las que les faltan tokens cuando se utiliza el grupo de reglas administrado de control de bots o ATP

Con los grupos de reglas de control de bots y ATP, es posible que una solicitud sin un token válido salga de la evaluación del grupo de reglas y siga siendo evaluada por la ACL web.

Para bloquear todas las solicitudes a las que les falte su token o cuyo token haya sido rechazado, agregue una regla que se ejecute inmediatamente después del grupo de reglas administrado para capturar y bloquear las solicitudes que el grupo de reglas no gestione por usted.

A continuación, se muestra un ejemplo de lista de JSON de una ACL web que utiliza el grupo de reglas administrado de la ATP. La ACL web tiene una regla adicional para capturar la etiqueta awswaf:managed:token:absent y gestionarla. La regla limita su evaluación a las solicitudes web que se dirigen al punto de conexión de inicio de sesión para que coincidan con el alcance del grupo de reglas de la ATP. La regla agregada aparece en negrita.

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