Instrucción de reglas de AND - AWS WAF, AWS Firewall ManagerAWS Shield Advanced, y director AWS Shield de seguridad de red

Presentamos una nueva experiencia de consola para AWS WAF

Ahora puede usar la experiencia actualizada para acceder a las AWS WAF funciones desde cualquier parte de la consola. Para obtener más información, consulta Trabajar con la experiencia de consola actualizada.

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.

Instrucción de reglas de AND

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

Características de la instrucció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

  • Generador de reglas en la consola: en Si una solicitud, elija coincide con todas las instrucciones (AND) y, a continuación, rellene las instrucciones anidadas.

  • API: AndStatement

Ejemplos

La siguiente lista muestra el uso de AND y las instrucciones de regla lógica NOT para eliminar los falsos positivos de las coincidencias de una instrucción de ataque de inyección de código SQL. 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 instrucción AND coincide con las solicitudes que no coinciden con la instrucción de coincidencia de bytes y que sí coinciden con la instrucción de ataque de inyección de código 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" } }

Con el editor visual de reglas de la consola, puede anidar una instrucción no lógica o una instrucción NOT en una instrucción OR o AND. La anidación de la instrucción NOT 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 puede usar el editor visual para anidar instrucciones OR o AND. Para configurar este tipo de anidación, debe proporcionar la instrucción de la regla en JSON. Por ejemplo, la siguiente lista de reglas JSON incluye una instrucción OR anidada dentro de una instrucción 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" } }