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

AWS::WAF::SizeConstraintSet SizeConstraint

注意

这是 AWS WAF Classic 文档。有关更多信息,请参阅开发人员指南中的 AWS WAF Classic

有关最新版本的 AWS WAF,请使用 AWS WAFV2 API 并参阅 AWS WAF 开发人员指南。对于最新版本,AWS WAF 具有一组用于区域和全球范围的终端节点。

指定对 Web 请求的某部分的大小的约束。AWS WAF 使用 SizeComparisonOperatorFieldToMatch 来构建“Size ComparisonOperator size in bytes of FieldToMatch”格式的表达式。如果该表达式的计算结果为 true,则将 SizeConstraint 视为匹配。

语法

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

JSON

{ "ComparisonOperator" : String, "FieldToMatch" : FieldToMatch, "Size" : Integer, "TextTransformation" : String }

属性

ComparisonOperator

您希望 AWS WAF 执行的比较类型。AWS WAF 将它与所提供的 SizeFieldToMatch 相结合来构建“Size ComparisonOperator size in bytes of FieldToMatch”格式的表达式。如果该表达式的计算结果为 true,则将 SizeConstraint 视为匹配。

EQ:用于测试 Size 是否与 FieldToMatch 的大小相同。

NE:用于测试 Size 是否与 FieldToMatch 的大小不同。

LE:用于测试 Size 是否小于或等于 FieldToMatch 的大小。

LT:用于测试 Size 是否严格小于 FieldToMatch 的大小。

GE:用于测试 Size 是否大于或等于 FieldToMatch 的大小。

GT:用于测试 Size 是否严格大于 FieldToMatch 的大小。

必需:是

类型:字符串

允许的值EQ | GE | GT | LE | LT | NE

Update requires: No interruption

FieldToMatch

指定在 Web 请求中的什么位置查找大小约束。

必需:是

类型FieldToMatch

Update requires: No interruption

Size

您希望 AWS WAF 与指定 FieldToMatch 的大小进行比较的大小,以字节为单位。AWS WAF 将它与 ComparisonOperatorFieldToMatch 相结合来构建“Size ComparisonOperator size in bytes of FieldToMatch”格式的表达式。如果该表达式的计算结果为 true,则将 SizeConstraint 视为匹配。

大小的有效值为 0 - 21474836480 字节 (0 - 20 GB)。

如果指定 URI 作为 Type 的值,则 URI 中的 / 计为一个字符。例如,URI /logo.jpg 的长度是 9 个字符。

必需:是

类型:整数

Update requires: No interruption

TextTransformation

文本转换消除了一些不寻常的格式,可防范攻击者在 Web 请求中使用它们以试图绕过 AWS WAF。如果您指定一个转换,AWS WAF 将在 FieldToMatch 上执行该转换,然后再检查该转换是否匹配。

您只能指定一个类型的 TextTransformation。

请注意,如果您为 Type 的值选择 BODY,则必须为 TextTransformation 选择 NONE,因为 CloudFront 只转发前 8192 个字节进行检查。

NONE

如果您不希望执行任何文本转换,请指定 NONE

CMD_LINE

如果您担心攻击者注入操作系统命令行命令并使用异常格式伪装部分或所有命令,使用此选项可执行以下转换:

  • 删除以下字符:\ " ' ^

  • 删除以下字符之前的空格:/ (

  • 将以下字符替换为空格:, ;

  • 将多个空格替换为一个空格

  • 将大写字母 (A-Z) 转换为小写字母 (a-z)

COMPRESS_WHITE_SPACE

使用此选项可将以下字符替换为空格字符(十进制 32):

  • \f,换页符,十进制 12

  • \t,制表符,十进制 9

  • \n,换行符,十进制 10

  • \r,回车符,十进制 13

  • \v,垂直制表符,十进制 11

  • 不间断空格,十进制 160

COMPRESS_WHITE_SPACE 还会将多个空格替换为一个空格。

HTML_ENTITY_DECODE

使用此选项可将 HTML 编码字符替换为未编码字符。HTML_ENTITY_DECODE 执行以下操作:

  • (ampersand)quot; 替换为 "

  • (ampersand)nbsp; 替换为不间断空格(十进制 160)

  • (ampersand)lt; 替换为“小于”符号

  • (ampersand)gt; 替换为 >

  • 将以十六进制格式表示的字符 (ampersand)#xhhhh; 替换为对应字符

  • 将以十进制格式表示的字符 (ampersand)#nnnn; 替换为对应字符

LOWERCASE

使用此选项可将大写字母 (A-Z) 转换为小写字母 (a-z)。

URL_DECODE

使用此选项可解码 URL 编码的值。

必需:是

类型:字符串

允许的值CMD_LINE | COMPRESS_WHITE_SPACE | HTML_ENTITY_DECODE | LOWERCASE | NONE | URL_DECODE

Update requires: No interruption