AND instrucción de reglas - 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.

AND instrucción de reglas

La AND una declaración de regla combina declaraciones anidadas con una lógica AND operación, por lo que todas las declaraciones anidadas deben coincidir para la AND declaración para que coincida. Esto requiere al menos dos declaraciones anidadas.

Características de la declaración de reglas

Se puede anidar: puede anidar este tipo de instrucción.

WCUs— Depende de las declaraciones anidadas.

Dónde encontrar esta instrucción de regla

  • Creador de reglas en la consola: para Si una solicitud, elija que coincida con todas las sentencias (AND) y, a continuación, rellene las sentencias anidadas.

  • APIAndStatement

Ejemplos

La siguiente lista muestra el uso de AND y NOT sentencias de reglas lógicas para eliminar los falsos positivos de las coincidencias de una sentencia de ataque por SQL inyección. En este ejemplo, supongamos que podemos escribir una instrucción de coincidencia de un solo byte para que coincida con las solicitudes que generan falsos positivos.

La AND sentencia coincide con las solicitudes que no coinciden con la sentencia de coincidencia de bytes y que sí coinciden con la sentencia de ataque SQL por inyección.

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

Con el editor visual de reglas de la consola, puede anidar una sentencia no lógica o una NOT declaración bajo un OR o AND statement. La anidación del NOT la declaración se muestra en el ejemplo anterior.

Con el editor visual de reglas de la consola, puede anidar la mayoría de las instrucciones anidables en una instrucción de regla lógica, como la que se muestra en el ejemplo anterior. No puedes usar el editor visual para anidar OR o AND declaraciones. Para configurar este tipo de anidación, debe incluir su declaración de regla. JSON Por ejemplo, la siguiente lista de JSON reglas incluye una OR declaración anidada dentro de un AND statement.

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