你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

上传时恶意软件扫描

Microsoft Defender for Storage 中的上传时恶意软件扫描会在上传或修改 blob 时自动扫描 blob,从而提供针对恶意内容的准实时检测。 此基于 SaaS 的云原生解决方案使用 Microsoft Defender 防病毒来执行全面的恶意软件扫描,确保存储帐户保持安全,而无需额外的基础结构或维护。

通过将上传时扫描集成到存储帐户中,你可以:

  • 阻止恶意上传:阻止恶意软件在上传时进入存储环境。
  • 简化安全管理:受益于自动扫描,而无需部署或管理代理。
  • 增强合规性:通过确保扫描所有上传的数据来扫描恶意软件来满足法规要求。

恶意软件上传是云存储的最大威胁,因为恶意文件可以通过云存储服务进入组织并在其中传播。 Microsoft Defender for Storage 提供了内置解决方案,通过全面的反恶意软件功能来缓解此风险。

显示恶意软件扫描如何保护数据免受恶意代码攻击的关系图。

上传时恶意软件扫描的常见用例

  • Web 应用程序:保护 Web 应用程序中用户生成的内容上传,例如税务应用、CV 上传网站和收据上传。

  • 内容分发:保护通过内容中心或 CDN(内容分发网络)大规模共享的图像和视频等资产,内容中心或 CDN 可能会成为常见的恶意软件分发点。

  • 合规性要求:通过扫描不受信任的内容(尤其是针对受监管行业)满足法规标准,例如 NIST、SWIFT 和 GDPR。

  • 第三方集成:确保扫描第三方数据(例如来自业务合作伙伴或承包商的内容),以防止安全风险。

  • 协作平台:通过扫描共享内容确保跨团队和组织的安全协作。

  • 数据管道:通过确保没有恶意软件通过多个数据源进入,维护 ETL(提取、转换、加载)过程中的数据完整性。

  • 机器学习训练数据:通过确保数据集干净安全来保护训练数据的质量,特别是当它们包含用户生成的内容时。

    显示用户生成的内容和来自外部来源的数据的动画 GIF。

注意

恶意软件扫描是一项准实时服务。 扫描时间可能因文件大小、文件类型、服务加载和存储帐户活动而异。

启用上传时恶意软件扫描

先决条件

  • 权限:订阅或存储帐户上的所有者或参与者角色,或具有必要权限的特定角色。
  • Defender for Storage:必须在订阅或单个存储帐户上启用。

若要跨订阅启用和配置恶意软件扫描,同时保持对各个存储帐户的详细控制,你可以使用以下方法之一:

启用恶意软件扫描后,将在与存储帐户相同的资源组中自动创建一个事件网格系统主题资源。 恶意软件扫描服务使用此资源侦听 Blob 上传触发器。

有关详细说明,请参阅部署 Microsoft Defender for Storage

上传时恶意软件扫描的成本控制

恶意软件扫描按扫描的每 GB 数据计费。 为了提供成本可预测性,恶意软件扫描支持为每个存储帐户设置一个月内扫描的 GB 量上限。

重要

Defender for Storage 中的恶意软件扫描功能在前 30 天试用期内不免费,将从第一天起根据 Defender for Cloud 定价页面上提供的定价方案收费。

上限机制为每个存储帐户设置每月扫描限制(以 GB 为度量单位)。 这可用作有效的成本控制措施。 如果存储帐户在单个日历月内达到预定义的扫描限制,则扫描操作将自动停止。 达到阈值后,将发生此停止,偏差最高为 20 GB。 在此之后,不会扫描文件来查找恶意软件。 上限会在每个月末的 UTC 午夜重置。 更新上限通常需要长达一小时才能生效。

默认情况下,如果未定义特定的上限机制,则建立 5 TB (5,000 GB) 的限制。

提示

可以在单个存储帐户或整个订阅中设置上限机制(订阅上的每个存储帐户将分配订阅级别上定义的限制)。

恶意软件扫描的工作原理

上传时恶意软件扫描流

上传时扫描由导致 BlobCreated 事件的任何操作触发,如作为事件网格源的 Azure Blob 存储文档中所指定。 这些操作包括:

  • 上传新 blob:新 blob 被添加到容器时
  • 覆盖现有 blob:现有 blob 被替换为新内容时
  • 完成对 blob 的更改:将更改提交到 blob 的操作,例如 PutBlockListFlushWithClose

注意

增量操作(例如 Azure Data Lake Storage Gen2 中的 AppendFile 和 Azure BlockBlob 中的 PutBlock)不会单独触发恶意软件扫描。 仅当通过提交操作(如 PutBlockListFlushWithClose)完成这些添加时,才会发生恶意软件扫描。 每次提交都可以启动新的扫描,如果由于增量更新多次扫描相同的数据,可能会增加成本。

扫描过程

  1. 事件检测:发生 BlobCreated 事件时,恶意软件扫描服务将检测更改。
  2. Blob 检索:服务安全地读取存储帐户所在的同一区域中的 blob 内容。
  3. 内存中扫描:使用包含最新恶意软件定义的 Microsoft Defender 防病毒在内存中扫描内容。
  4. 结果生成:生成扫描结果,并根据调查结果采取适当的操作。
  5. 内容处置:扫描的内容不会保留,并在扫描后立即删除。

上传时恶意软件扫描的吞吐量和容量

上传时恶意软件扫描具有特定的吞吐量和容量限制,可确保大规模操作的性能和效率。 这些限制有助于控制每分钟可处理的数据量,确保准实时保护与系统负载之间的平衡。

  • 扫描吞吐量速率限制: 对于每个存储帐户,上传时恶意软件扫描每分钟最多可处理 50 GB。 如果 Blob 上传速率暂时超过此阈值,则系统会将文件排队并尝试扫描这些文件。 但是,如果上传速率一直超过限制,则可能无法扫描某些 Blob。

与按需扫描共享的方面

下面的部分同时适用于按需和上传时恶意软件扫描。

有关这些主题的详细信息,请参阅恶意软件扫描简介页。

最佳做法和技巧

  • 为存储帐户(尤其是上传流量较高的帐户)设置成本控制上限,以有效地管理和优化费用。
  • 使用 Log Analytics 来跟踪扫描历史记录,以用于合规和审计目的。
  • 如果你的用例需要一个响应机制,请考虑使用事件网格和逻辑应用设置自动响应(例如隔离或删除操作)。 有关详细的设置指南,请参阅在恶意软件扫描中设置响应

提示

我们建议你通过我们的动手实验室探索 Defender for Storage 中的恶意软件扫描功能。 按照 Ninja 培训说明,获取有关设置、测试和响应配置的详细指南。