AND déclaration de règle - AWS WAF, AWS Firewall Manager, et AWS Shield Advanced

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.

AND déclaration de règle

Le AND une instruction de règle combine des instructions imbriquées avec une instruction logique AND opération, de sorte que toutes les instructions imbriquées doivent correspondre pour AND déclaration correspondante. 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 (AND), puis complétez les instructions imbriquées.

  • APIAndStatement

Exemples

La liste suivante montre l'utilisation de AND and NOT instructions de règles logiques pour éliminer les faux positifs des correspondances pour une instruction SQL d'attaque par injection. 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'ANDinstruction correspond aux requêtes qui ne correspondent pas à l'instruction de correspondance d'octets et qui correspondent à l'instruction SQL d'attaque par injection.

{ "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 un NOT déclaration en vertu d'un OR or AND . La nidification du NOT Une déclaration est montré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 or AND déclarations. Pour configurer ce type d'imbrication, vous devez fournir votre déclaration de règle dansJSON. Par exemple, la liste de JSON règles suivante inclut OR déclaration imbriquée dans un AND .

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