了解有关本尼·查尔尼(Benny Czarny)所著《颠覆性的网络安全》一书的更多信息

了解更多
我们利用人工智能进行网站翻译,虽然我们力求准确,但不一定总是 100%精确。感谢您的理解。

文件上传保护 - 预防网络攻击的 10 项最佳做法

作者: 产品副总裁 George Prichici

文件上传对用户的工作效率以及许多业务服务和应用程序都至关重要。例如,文件上传是内容管理系统、医疗保健门户网站、保险网站和消息应用程序的重要功能。随着企业向远程和远距离工作空间迁移,采取措施确保文件上传的安全性变得越来越重要,因为文件上传不受限制会为恶意行为者提供攻击载体。

文件上传有哪些风险?

允许在网站上上传文件有三种风险:

1.对基础设施的攻击:

  • 覆盖现有文件 - 如果上传的文件与服务器上现有文件的名称和扩展名相同,则可能会覆盖现有文件。如果被覆盖的文件是关键文件(如替换 htaccess 文件),新文件有可能被用于发起服务器端攻击。这可能导致网站无法继续运行,也可能破坏安全设置,允许攻击者上传更多恶意文件,并向您索取赎金。

  • 恶意内容--如果上传的文件包含利用服务器端文件处理漏洞的漏洞或恶意软件,该文件就可能被用来控制服务器,造成严重的业务后果和声誉损失。

2.对用户的攻击:

  • 恶意内容 - 如果上传的文件包含漏洞利用程序、恶意软件、恶意脚本或宏,则该文件可用于控制受感染用户的机器。

3.服务中断:

  • 如果上传的是超大文件,可能会导致服务器资源消耗过大,从而中断为用户提供的服务。

    如何防止文件上传攻击

    为避免这类文件上传攻击,我们推荐以下十种最佳做法:

    1. 仅允许特定文件类型。通过限制允许的文件类型列表,您可以防止可执行文件、脚本及其他潜在恶意内容被上传到您的应用程序中。

    2. 验证文件类型。除了限制文件类型外,还必须确保没有文件伪装成允许的文件类型。例如,如果攻击者将一个 .exe 文件重命名为 .docx,而您的解决方案完全依赖文件扩展名进行判断,那么该文件就会以 Word 文档的身份绕过您的检查,尽管它实际上并非如此。因此,在允许上传文件之前,必须对其文件类型进行验证。

    3. 扫描恶意软件。为将风险降至最低,应扫描所有文件以检测恶意软件。我们建议使用多个反恶意软件引擎(结合签名、启发式分析和机器学习检测方法)对文件进行多重扫描,以获得最高的检测率,并将恶意软件爆发带来的风险暴露期缩短到最短。

    4. 清除可能存在的嵌入式威胁。Microsoft Office、PDF 和图像文件等文件中,隐藏的脚本和宏中可能存在威胁,而反恶意软件引擎并不总能检测到这些威胁。为了消除风险并确保文件中不含有任何隐藏威胁,最佳做法是使用一种称为“内容无害化与重建”(CDR)的方法,清除任何可能存在的嵌入式对象。

    5. 验证用户身份。为了提高安全性,要求用户在上传文件前进行身份验证是一种良好的做法。不过,这并不能保证用户的计算机本身没有遭到入侵。

    6. 设置名称的最大长度及文件的最大大小。请务必设置名称的最大长度(如有可能,请限制允许使用的字符)和文件的最大大小,以防止服务可能中断。

    7. 对上传的文件名进行随机化处理。随机更改上传的文件名,以防止攻击者尝试使用其上传的文件名访问该文件。使用 Deep CDR™ 技术时,您可以将经过处理的文件配置为一个随机标识符(例如分析数据 ID)。

    8. 将上传的文件存储在 Web 根目录之外。 文件上传的目标目录 应位于网站公共目录之外,以防止攻击者通过指定的路径 URL 执行该文件。

    9. 检查文件中的漏洞。请务必在上传软件和固件文件之前,先检查其中是否存在漏洞。

    10. 使用简明的错误信息。在显示 文件上传错误时, 请勿包含目录路径、服务器配置设置或其他信息,以免被攻击者利用这些信息进一步入侵您的系统。

    博客:13 项经过验证的应用程序安全最佳实践

    文件上传安全OPSWAT

    OPSWAT 通过MetaDefender ——一款先进的威胁防护平台,提供多种文件上传安全解决方案,该平台利用多重反恶意软件引擎、内容无害化与重建(Deep CDR™ 技术)以及漏洞评估功能,帮助防范恶意文件上传攻击。 MetaDefender 可通过 API 或任何支持ICAP 的网络设备(如Web应用防火墙、负载均衡器和应用交付控制器)进行部署。

    想进一步了解如何阻止恶意文件上传吗?请阅读我们的白皮书《如何使用OPSWAT API阻止恶意文件上传》。

      通过OPSWAT 了解最新信息!

      立即注册,获取最新的公司动态、故事、活动信息等。