AWS::WAFv2::RuleGroup ByteMatchStatement - AWS CloudFormation
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

AWS::WAFv2::RuleGroup ByteMatchStatement

注意

这是 AWS WAF 的最新版本,名为 AWS WAFV2,于 2019 年 11 月发布。有关信息(包括如何从以前的发行版迁移 AWS WAF 资源),请参阅 AWS WAF 开发人员指南

一个规则语句,它定义 AWS WAF 要应用于 Web 请求的字符串匹配搜索。字节匹配语句提供要搜索的字节、您希望 AWS WAF 在请求中搜索的位置以及其它设置。要搜索的字节通常是与 ASCII 字符对应的字符串。在 AWS WAF 控制台和开发人员指南中,将其称为字符串匹配语句。

语法

要在 AWS CloudFormation 模板中声明此实体,请使用以下语法:

属性

FieldToMatch

您希望 AWS WAF 检查的 Web 请求部分。有关更多信息,请参阅 FieldToMatch。

必需:是

类型FieldToMatch

Update requires: No interruption

PositionalConstraint

您希望 AWS WAF 在 Web 请求的某个部分中搜索 SearchString 的区域。有效值包括:

CONTAINS

Web 请求的指定部分必须包含 SearchString 值,但位置无关紧要。

CONTAINS_WORD

Web 请求的指定部分必须包含 SearchString 值,并且 SearchString 必须仅包含字母数字字符或下划线(A-Z、a-z、0-9 或 _)。此外,SearchString 必须是一个词,这意味着满足以下两个条件:

  • SearchString 位于 Web 请求的指定部分的开头,或者前面是字母数字字符或下划线 (_) 以外的字符。示例包括标头值和 ;BadBot

  • SearchString 位于 Web 请求的指定部分的末尾,或者后跟字母数字字符或下划线 (_) 以外的字符,例如 BadBot;-BadBot;

EXACTLY

Web 请求的指定部分的值必须与 SearchString 的值完全匹配。

STARTS_WITH

SearchString 的值必须位于 Web 请求的指定部分的开头。

ENDS_WITH

SearchString 的值必须位于 Web 请求的指定部分的结尾。

必需:是

类型:字符串

允许的值CONTAINS | CONTAINS_WORD | ENDS_WITH | EXACTLY | STARTS_WITH

Update requires: No interruption

SearchString

您希望 AWS WAF 搜索的字符串值。AWS WAF 仅在您在 FieldToMatch 中指定进行检查的 Web 请求部分中进行搜索。值的最大长度为 50 个字节。对于字母字符 A-Z 和 a-z,该值区分大小写。

不要对该字符串进行编码。提供您希望 AWS WAF 搜索的值。AWS CloudFormation 自动对值进行 base64 编码。

例如,假设 Type 的值为 HEADER,并且 Data 的值为 User-Agent。如果要在 User-Agent 标头中搜索 BadBot 值,请在 SearchString 值中提供 BadBot 字符串。

您必须在 ByteMatchStatement 中指定 SearchStringSearchStringBase64

必需:否

类型:字符串

Update requires: No interruption

SearchStringBase64

要在 Web 请求组件中搜索的字符串,采用 base64 编码。如果您不希望对字符串进行编码,请在 SearchString 中指定未编码的值。

您必须在 ByteMatchStatement 中指定 SearchStringSearchStringBase64

必需:否

类型:字符串

Update requires: No interruption

TextTransformations

文本转换消除了一些异常格式,以防止攻击者在 Web 请求中使用这些格式以试图绕过检测。如果您在规则语句中指定一个或多个转换,AWS WAF 从最低优先级设置开始对 FieldToMatch 指定的内容执行所有转换,然后再检查内容是否匹配。

必需:是

类型TextTransformation 列表

Update requires: No interruption