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

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

规则

Amazon WAF规则定义了如何检查 HTTP (S) Web 请求以及在请求符合检查标准时对请求采取的操作。只能在规则组或 Web ACL 的上下文中定义规则。

您可以定义检查条件的规则,如下所示:

  • 可能是恶意的脚本。攻击者会嵌入可以利用 Web 应用程序漏洞的脚本。这称为跨站脚本攻击 (XSS)。

  • 请求源自的 IP 地址或地址范围。

  • 请求源自的国家/地区或地理位置。

  • 请求的指定部分的长度,例如查询字符串。

  • 可能是恶意的 SQL 代码。攻击者会尝试通过在 Web 请求中嵌入恶意 SQL 代码从数据库提取数据。这称为 SQL 注入。

  • 请求中出现的字符串,例如,在 User-Agent 标头中出现的值或是在查询字符串中出现的文本字符串。您还可以使用正则表达式 (regex) 指定这些字符串。

  • Web ACL 中先前的规则已添加到请求中的标签。

每条规则都需要一条顶级语句,该语句可能包含任何深度的嵌套语句,具体取决于规则和语句类型。某些规则类型采用一组标准。例如,您可以在 IP 地址规则中指定最多 10,000 个 IP 地址或 IP 地址范围。

除了带有 Web 请求检查标准的语句(如前面的列表中的语句)外,还Amazon WAF支持ANDOR、和的逻辑语句NOT,您可以使用这些语句在规则中组合语句。

例如,根据您发现的来自某个攻击者的最近请求,您可以创建一个规则,该规则含有包含以下嵌套AND语句的逻辑语句:

  • 请求来自 192.0.2.44。

  • 请求在 User-Agent 标头中包含值 BadBot

  • 请求表现为在查询字符串中包含类似 SQL 的代码。

在这种情况下,Web 请求需要匹配所有语句才能匹配顶级语句AND

规则不独立存在。Amazon WAF它们不是Amazon资源,也没有Amazon 资源名称 (ARN)。您可以在定义规则的规则组或 Web ACL 中按名称访问规则。您可以使用规则组的 JSON 格式或包含规则的 Web ACL 来管理规则并将其复制到其他 Web ACL。或者,您可以通过Amazon WAF控制台规则生成器对其进行管理,该规则生成器可用于 Web ACL 和规则组。