Bloqueo de solicitudes que no tienen un token AWS WAF 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.

Bloqueo de solicitudes que no tienen un token AWS WAF válido

En esta sección se explica cómo bloquear las solicitudes de inicio de sesión a las que les faltan sus fichas cuando se utiliza el AWS WAF móvilSDK.

Cuando se utilizan los grupos de reglas AWS gestionadas con reglas inteligentes y AWSManagedRulesACFPRuleSet AWSManagedRulesATPRuleSetAWSManagedRulesBotControlRuleSet, 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 administradas.

Para obtener información sobre el etiquetado que aplica la administración de los tókenes, consulte la sección anterior, Tipos de etiquetas de token en AWS WAF.

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

  • La AWSManagedRulesACFPRuleSet AllRequests regla está configurada para ejecutar el Challenge actúa contra todas las solicitudes, bloqueando de forma efectiva las que no tengan la etiqueta de accepted token.

  • 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) de Control de Fraude y AWS WAF Grupo de reglas de control de bots.

Para bloquear las solicitudes a las que les falten fichas cuando se utiliza el control de bots o el grupo de reglas ATP gestionado

Con el control de bots y los grupos de ATP reglas, 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 webACL.

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 administradas para capturar y bloquear las solicitudes que el grupo de reglas no gestione por usted.

El siguiente es un ejemplo de JSON listado de una web ACL que usa el grupo de reglas ATP administrado. La web ACL tiene una regla adicional para capturar la awswaf:managed:token:absent etiqueta y gestionarla. La regla limita su evaluación a las solicitudes web que se dirigen al punto final de inicio de sesión, para que coincidan con el ámbito del grupo de ATP reglas. 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, "RetrofittedByFirewallManager": false, "LabelNamespace": "awswaf:111111111111:webacl:exampleWebACL:" }