AND 规则语句 - Amazon WAFAmazon Firewall Manager、和 Amazon Shield Advanced
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

AND 规则语句

AND 规则语句将嵌套语句与逻辑 AND 运算相结合,因此所有嵌套语句都必须匹配 AND 语句才能进行匹配。这至少需要一个嵌套语句。

嵌套 – 您可以嵌套此语句类型。

WCU – 取决于嵌套语句。

在何处查找规则语句
  • 控制台上的规则生成器 – 对于如果有请求,选择匹配所有语句 (AND),然后填写嵌套语句。

  • APIAndStatement

示例

以下列表显示了如何使用 AND 和 NOT 逻辑规则语句来消除 SQL 注入攻击语句的匹配结果误报。在这个示例中,假设我们可以编写一个单字节匹配语句来匹配导致误报的请求。

AND 语句匹配与字节匹配语句不匹配且与 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" } }

使用控制台规则可视化编辑器,可以在 OR 或 AND 语句下嵌套非逻辑语句或 NOT 语句。前面的示例显示了 NOT 语句的嵌套。

使用控制台规则可视化编辑器,您可以将大多数可嵌套语句嵌套在逻辑规则语句下,例如前面的示例中所示的语句。您不能使用可视化编辑器来嵌套 OR 或 AND 语句。要配置这种类型的嵌套,您需要以 JSON 格式提供规则语句。例如,以下 JSON 规则列表包括嵌套在 AND 语句中的 OR 语句。

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