AND dichiarazione delle regole - AWS WAF, AWS Firewall Manager e AWS Shield Advanced

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

AND dichiarazione delle regole

Il AND l'istruzione della regola combina istruzioni annidate con una logica AND operazione, quindi tutte le istruzioni annidate devono corrispondere a AND dichiarazione da abbinare. Ciò richiede almeno due istruzioni annidate.

Caratteristiche della dichiarazione delle regole

Nestable: puoi annidare questo tipo di istruzione.

WCUs— Dipende dalle istruzioni annidate.

Dove trovare questa dichiarazione di regole

  • Generatore di regole sulla console: per Se una richiesta, scegli corrisponde a tutte le istruzioni (AND), quindi compila le istruzioni annidate.

  • APIAndStatement

Esempi

L'elenco seguente mostra l'uso di AND e NOT istruzioni di regole logiche per eliminare i falsi positivi dalle corrispondenze di un'istruzione di attacco di SQL iniezione. Per questo esempio, supponiamo di poter scrivere un'istruzione di corrispondenza a byte singolo per soddisfare le richieste che generano falsi positivi.

L'ANDistruzione corrisponde alle richieste che non corrispondono all'istruzione byte match e che corrispondono all'SQListruzione injection attack.

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

Utilizzando l'editor visivo delle regole della console, è possibile inserire un'istruzione non logica o un NOT dichiarazione contenuta in un OR oppure AND dichiarazione. La nidificazione di NOT l'istruzione è mostrata nell'esempio precedente.

Utilizzando l'editor visivo delle regole della console, è possibile annidare la maggior parte delle istruzioni nestable sotto un'istruzione di regole logiche, come quella mostrata nell'esempio precedente. Non è possibile utilizzare l'editor visivo per nidificare OR oppure AND dichiarazioni. Per configurare questo tipo di annidamento, è necessario fornire la dichiarazione della regola inJSON. Ad esempio, il seguente elenco di JSON regole include un OR istruzione annidata all'interno di un AND dichiarazione.

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