AND 規則陳述式 - AWS WAFAWS Firewall Manager、 和 AWS Shield Advanced

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

AND 規則陳述式

所以此 AND rule 語句結合了嵌套語句與邏輯 AND 作業,因此所有巢狀陳述式都必須符合 AND 要比對的陳述式。這需要至少兩個嵌套語句。

規則陳述式特性

嵌套-您可以嵌套此語句類型。

WCUs— 取決於巢狀陳述式。

在哪裡可以找到這個規則聲明

  • 主控台上的規則產生器 — 對於如果要求,請選擇符合所有陳述式 (AND),然後填入巢狀陳述式。

  • APIAndStatement

範例

下面的列表顯示了使用 AND 以及 NOT 邏輯規則語句,從SQL注入攻擊語句的匹配中消除誤報。在這個例子中,假設我們可以編寫一個字節 match 語句來匹配導致誤報的請求。

AND陳述式會比對不符合位元組 match 陳述式,且符合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" } }

使用主控台規則視覺化編輯器,您可以巢狀化非邏輯陳述式或 NOT 下的聲明 OR 或 AND 陳述式。的嵌套 NOT 陳述式顯示在前面的範例中。

使用主控台規則視覺化編輯器,您可以將大多數 nestable 陳述式嵌套在邏輯規則陳述式下,例如先前範例中所示的陳述式。您不能使用可視化編輯器嵌套 OR 或 AND 陳述。若要配置此類型的巢狀,您需要在中提供規則陳述式JSON。例如,下列JSON規則清單包括 OR 語句嵌套在一個 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" } }