如何上传被 AWS WAF 阻止的文件?

上次更新时间:2021 年 2 月 22 日

我需要上传 (POST) 一个扩展名被 AWS WAF 阻止的文件。如何上传被 AWS WAF 阻止的文件?

简短描述

要了解 AWS WAF 为什么阻止 POST 请求,请请考虑以下内容:

  • AWS WAF BODY 筛选器仅检查 POST 请求的负载数据的前 8192 个字节中是否有恶意脚本。
  • SQLinjection 和跨站点脚本 (XSS) 规则对元数据中包含随机字符的文件非常敏感。这些随机字符可能触发 Web 访问控制列表 (Web ACL) 规则,因为它们与实际的 XSS 或 SQLinjection 相似。

AWS WAF 不支持筛选特定文件类型。您必须使用其他方法来消除因上传文件或图像而导致的误报。

解决方法

注意:规则将按照在 Web ACL 中列出的顺序进行处理。对于以下建议,请务必根据需要对规则优先级进行重新排序。

为您的使用情形选择最佳方法:

  • 使用字符串匹配规则语句 (AWS WAF) 或字符串匹配条件 (AWS WAF Classic) 应用选择性排除。将与文件的主体相关联的特定短语添加到您的安全列表。如果 URI 有特定路径,请将该路径添加到您的安全列表。
  • 使用单独的域进行文件上传。请务必考虑这对于您的使用情形来说是否经济高效。
  • 扫描(清理)嵌入式代码和数据的文件和图像。在上传文件之前,您可以在客户端执行此操作。如果您需要创建排除规则,也可以在上传文件后在后端执行此操作。
  • 在上传文件之前先压缩文件。
    警告:请确认未压缩恶意文件。
  • 如果上传是从一系列已知 IP 地址进行的,请将这些 IP 地址添加到您的安全列表。
  • 使用 Base64 编码。所有图像数据都经过编码,这意味着 AWS WAF 无法在图像上触发 XSS。
    警告:一定要避免对恶意图像进行编码。
  • 实施图像优化技术,例如删除区块或位随机化。

这篇文章对您有帮助吗?


您是否需要账单或技术支持?