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

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

规则

网络 ACL 和安全组都允许 (因此可到达您的实例) 的发起 ping 的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支持以下逻辑语句AND,OR,以及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 和规则组。