AWS announces preview of AWS Interconnect - multicloud
AWS announces AWS Interconnect – multicloud (preview), providing simple, resilient, high-speed private connections to other cloud service providers. AWS Interconnect - multicloud is easy to configure and provides high-speed, resilient connectivity with dedicated bandwidth, enabling customers to interconnect AWS networking services such as AWS Transit Gateway, AWS Cloud WAN, and Amazon VPC to other cloud service providers with ease.
如何在不排除规则的情况下明确允许 AWS WAF 规则屏蔽的文件上传?
我希望允许用户使用特定的文件扩展名上传文件,无需屏蔽当前的 AWS WAF 配置规则。
概述
HTTP 文件上传内容通常是以下类型:
- 表单数据: 作为多部分表单数据的一部分,从网站表单发送到 API 的数据。
- 二进制数据: 除了文本负载之外的任何文件。二进制文件可以是 JPEG 文件、GZip 文件或 PDF 文件。
要了解 AWS WAF 屏蔽 POST 请求的原因,请查看屏蔽文件上传的常见规则。如果常见规则不会屏蔽上传,请查看允许被屏蔽文件的其他选项。
通常,以下规则会屏蔽文件上传:
- CrossSiteScripting_BODY
- SQLi_BODY
- SizeRestrictions_BODY
- 评估请求 BODY 的自定义规则
解决方法
确定屏蔽文件上传的规则
完成以下步骤,确定屏蔽文件上传的规则:
1. 打开 AWS WAF 控制台。
2. 查看抽样的 Web 请求。抽样请求既包含有关屏蔽请求的规则的信息,也包含有关HTTP请求组件的信息。
3. 在概述页面的规则组内部规则下,找到 HTTP 请求组件。这些组件看起来类似于以下示例:
规则组内部的规则
awswaf:managed:aws:core-rule-set:CrossSiteScripting_Body
请求
`POST /upload` `User-Agent: PostmanRuntime/7.30.0 Accept: */* Host: example.amazonaws.com Connection: keep-alive Content-Type: multipart/form-data; boundary=--------------------------421232031360350156757252 Content-Length: 4060737 `
4.查看 AWS WAF 综合日志中的 terminatingRuleMatchDetails。
**注意:**只有针对 SQLi_BODY 和 CrossSiteScripting_BODY 攻击时,才会填充 terminatingRuleMatchDetails 字段。
识别 POST 数据的内容类型
要确定内容类型,请查看 POST 数据中的 HTTP 标头内容类型。在前面的示例中,内容类型为 multipart/form-data。
表单数据内容
对于标题值中包含多部分/表单数据的表单数据的表单数据内容,请完成以下步骤:
1. 打开 AWS WAF 控制台。
2.在导航窗格中的 AWS WAF 下,选择 Web ACL。
注意:****区域的默认选择是美国东部(弗吉尼亚北部)。选择您创建网络 ACL 的 AWS 区域。如果您为 Amazon CloudFront 设置了网络 ACL,请选择全球。
3. 选择您的网络 ACL。
4. 在规则选项卡上,选择添加规则,然后选择添加我自己的规则和规则组。
5.在 Add rule(添加规则)屏幕的 Rule Type(规则类型)下,选择 Rule builder(规则生成器)。
对于 Name(名称),请输入名称以标识此规则。
对于 Type(类型),选择 Regular rule(常规规则)。
对于 If a request(如果请求),选择 Matches the statement(匹配语句)。
对于检查,选择正文。
对于内容类型,选择 JSON。
对于** JSON 匹配范围**,选择值。
对于 How AWS WAF should handle the request if the JSON in the request body is invalid(请求正文中的 JSON 无效时 AWS WAF 应如何处理请求),选择适合您的选项。
对于要检查的内容,选择完整 JSON 内容。
对于匹配类型,选择匹配正则表达式。
对于 Regular expression(正则表达式),粘贴以下示例 regex-pattern:
(?:.pdf|.doc|.docx|.ppt)
(可选)对于 Text transformation(文本转换),选择文本转换或 None(无)。有关详细信息,请参阅文本转换。
对于 Oversize Handling(超尺寸处理),选择适合您的配置的选项。有关详细信息,请参阅在 AWS WAF 中处理超尺寸 Web 请求组件。
对于 Action(操作),选择 Allow(允许)。有关更多信息,请参阅规则操作。
6. 选择添加规则。
7.对于 Set Rule Priority(设置规则优先级),选择您的规则并将其移至比阻止请求的规则更高的优先级。AWS WAF 根据设定的优先级对规则进行评估。有关更多信息,请参阅 Web ACL 中规则和规则组的处理顺序。
8. 选择保存。确保规则按预期运行。
二进制数据内容
对于标题值与 application/pdf 或 application/ppt 类似的二进制数据内容,请完成以下步骤:
1. 打开 AWS WAF 控制台。
2.在导航窗格中的 AWS WAF 下,选择 Web ACL。
注意:****区域的默认选择是美国东部(弗吉尼亚北部)。选择您创建网络 ACL 的 AWS 区域。如果您为 Amazon CloudFront 设置了网络 ACL,请选择全球。
3. 选择您的网络 ACL。
4. 在规则选项卡上,选择添加规则,然后选择添加我自己的规则和规则组。
5.在 Add rule screen(添加规则屏幕)的 Rule Type(规则类型)下,选择 Rule builder(规则生成器)。
对于 Name(名称),输入名称以标识规则。
对于 Type(类型),选择 Regular rule(常规规则)。
对于 If a request(如果请求),选择 Matches the statement(匹配语句)。
对于检查,选择单个标头。
对于标头字段名称,输入 Content-Type。
对于匹配类型,选择匹配正则表达式。
对于 Regular expression(正则表达式),粘贴以下示例 regex-pattern:
(?:pdf|jpeg)
(可选)对于 Text transformation(文本转换),选择文本转换或 None(无)。有关详细信息,请参阅文本转换。
对于 Action(操作),选择 Allow(允许)。有关更多信息,请参阅规则操作。
6. 选择添加规则。
7.对于 Set Rule Priority(设置规则优先级),选择您的规则并将其移至比阻止请求的规则更高的优先级。AWS WAF 根据设定的优先级对规则进行评估。有关更多信息,请参阅 Web ACL 中规则和规则组的处理顺序。
8. 选择保存。确保该规则按预期运行。
**注意:**要将规则限制为特定的上传 URI 路径,请在 Web ACL 规则中使用 AND 语句。
相关信息
如何开启 AWS WAF 日志记录并将日志发送到 CloudWatch、Amazon S3 或 Kinesis Data Firehose?
