本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
规则
网络 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 和规则组。