Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Blocage des demandes dont le code n'est pas valide AWS WAF jeton
Cette section explique comment bloquer les demandes de connexion dont les jetons sont manquants lors de l'utilisation du AWS WAF mobileSDK.
Lorsque vous utilisez la menace intelligente AWS Règles géréesAWSManagedRulesACFPRuleSet
, groupes de règles AWSManagedRulesATPRuleSet
AWSManagedRulesBotControlRuleSet
, et les groupes de règles invoquent AWS WAF gestion des jetons pour évaluer l'état du jeton de demande Web et étiqueter les demandes en conséquence.
Note
L'étiquetage des jetons s'applique uniquement aux demandes Web que vous évaluez à l'aide de l'un de ces groupes de règles gérés.
Pour plus d'informations sur l'étiquetage appliqué par la gestion des jetons, consultez la section précédente,Types d'étiquettes à jetons dans AWS WAF.
Les groupes de règles gérés d'atténuation intelligente des menaces gèrent ensuite les exigences en matière de jetons comme suit :
-
La
AWSManagedRulesACFPRuleSet
AllRequests
règle est configurée pour exécuter le Challenge action contre toutes les demandes, bloquant efficacement celles qui ne portent pas le labelaccepted
jeton. -
Le
AWSManagedRulesATPRuleSet
bloque les demandes portant le libellé durejected
jeton, mais il ne bloque pas les demandes portant le libellé duabsent
jeton. -
Le niveau de protection
AWSManagedRulesBotControlRuleSet
ciblé pose un défi aux clients après avoir envoyé cinq demandes sans étiquette deaccepted
jeton. Il ne bloque pas une demande individuelle dont le jeton n'est pas valide. Le niveau de protection commun du groupe de règles ne gère pas les exigences en matière de jetons.
Pour plus de détails sur les groupes de règles de menaces intelligentesAWS WAF Groupe de règles Fraud Control : création de comptes, prévention des fraudes (ACFP), reportez-vous aux sections AWS WAF Groupe de règles de prévention du piratage de comptes Fraud Control (ATP) etAWS WAF Groupe de règles Bot Control.
Pour bloquer les demandes auxquelles il manque des jetons lors de l'utilisation du Bot Control ou du groupe de règles ATP géré
Avec le Bot Control et les groupes de ATP règles, il est possible qu'une demande sans jeton valide quitte l'évaluation du groupe de règles et continue d'être évaluée par le WebACL.
Pour bloquer toutes les demandes dont le jeton est manquant ou dont le jeton est rejeté, ajoutez une règle à exécuter immédiatement après le groupe de règles géré afin de capturer et de bloquer les demandes que le groupe de règles ne gère pas pour vous.
Voici un exemple de JSON liste pour un site Web ACL qui utilise le groupe de règles ATP géré. Le Web ACL a ajouté une règle permettant de capturer l'awswaf:managed:token:absent
étiquette et de la gérer. La règle limite son évaluation aux demandes Web destinées au point de terminaison de connexion, afin de correspondre à l'étendue du groupe de ATP règles. La règle ajoutée est indiquée en gras.
{ "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:" }