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 (ET), puis complétez les instructions imbriquées.
-
API — AndStatement
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 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 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 au format JSON. Par exemple, la liste de règles JSON suivante inclut un 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" } }