ANDdéclaration de règle - AWS WAF, AWS Firewall ManagerAWS Shield Advanced, et directeur de la sécurité AWS Shield réseau

Présentation d'une nouvelle expérience de console pour AWS WAF

Vous pouvez désormais utiliser l'expérience mise à jour pour accéder aux AWS WAF fonctionnalités n'importe où dans la console. Pour en savoir plus, consultez Utilisation de l'expérience de console mise à jour.

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.

ANDdéclaration de règle

L'instruction de AND règle combine des instructions imbriquées avec une AND opération logique, de sorte que toutes les instructions imbriquées doivent correspondre pour que l'ANDinstruction corresponde. Cela nécessite au moins deux instructions imbriquées.

Caractéristiques de l'énoncé des règles

Imbriquable : vous pouvez imbriquer ce type de déclaration.

WCUs— Cela dépend des instructions imbriquées.

Où trouver cette déclaration de règle

  • Générateur de règles sur la console : pour Si une demande, choisissez correspond à toutes les instructions (ET), puis complétez les instructions imbriquées.

  • APIAndStatement

Exemples

La liste suivante montre l'utilisation d'instructions AND de règles NOT logiques pour éliminer les faux positifs des correspondances pour une instruction d'attaque par injection SQL. Pour cet exemple, supposons que nous puissions écrire une instruction de correspondance d'un octet pour répondre aux demandes qui génèrent des faux positifs.

L'instruction AND correspond aux demandes qui ne correspondent pas à l'instruction de correspondance d'octets et qui correspondent à l'instruction d'attaque par injection SQL.

{ "Name": "SQLiExcludeFalsePositives", "Priority": 0, "Statement": { "AndStatement": { "Statements": [ { "NotStatement": { "Statement": { "ByteMatchStatement": { "SearchString": "string identifying a false positive", "FieldToMatch": { "Body": { "OversizeHandling": "MATCH" } }, "TextTransformations": [ { "Priority": 0, "Type": "NONE" } ], "PositionalConstraint": "CONTAINS" } } } }, { "SqliMatchStatement": { "FieldToMatch": { "Body": { "OversizeHandling": "MATCH" } }, "TextTransformations": [ { "Priority": 0, "Type": "NONE" } ] } } ] } }, "Action": { "Block": {} }, "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "SQLiExcludeFalsePositives" } }

À l'aide de l'éditeur visuel de règles de console, vous pouvez imbriquer une instruction non logique ou une NOT instruction sous une AND instruction OR or. L'imbrication de l'NOTinstruction est illustrée dans l'exemple précédent.

À l'aide de l'éditeur visuel de règles de console, vous pouvez imbriquer la plupart des instructions imbriquables dans une instruction de règle logique, telle que celle illustrée dans l'exemple précédent. Vous ne pouvez pas utiliser l'éditeur visuel pour imbriquer OR des AND instructions. Pour configurer ce type d'imbrication, vous devez fournir votre déclaration de règle au format JSON. Par exemple, la liste de règles JSON suivante inclut une OR instruction imbriquée dans une AND instruction.

{ "Name": "match_rule", "Priority": 0, "Statement": { "AndStatement": { "Statements": [ { "LabelMatchStatement": { "Scope": "LABEL", "Key": "awswaf:managed:aws:bot-control:bot:category:monitoring" } }, { "NotStatement": { "Statement": { "LabelMatchStatement": { "Scope": "LABEL", "Key": "awswaf:managed:aws:bot-control:bot:name:pingdom" } } } }, { "OrStatement": { "Statements": [ { "GeoMatchStatement": { "CountryCodes": [ "JM", "JP" ] } }, { "ByteMatchStatement": { "SearchString": "JCountryString", "FieldToMatch": { "Body": {} }, "TextTransformations": [ { "Priority": 0, "Type": "NONE" } ], "PositionalConstraint": "CONTAINS" } } ] } } ] } }, "Action": { "Block": {} }, "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "match_rule" } }