Microsoft Defender 防病毒完全扫描注意事项和最佳做法

适用于:

平台

  • Windows

本文介绍使用 Microsoft Defender for Endpoint 运行完整防病毒扫描的注意事项和最佳做法。 本文概述了影响扫描性能的因素,并介绍了资源消耗增加导致保护效果提高的方案。

概述

Defender for Endpoint 中的实时保护是持续扫描计算机以帮助实时检测和阻止恶意软件感染的一项功能。 它使用启发式和基于行为的检测方法来监视设备上的活动,并在威胁发生时防范威胁。 对于计划扫描,建议将快速扫描与始终启用的实时保护和 云保护一起配置,因为此组合可对从系统和内核级恶意软件开始的恶意软件提供强大的覆盖范围。 此配置是默认配置。 通常,无需计划完全扫描,大多数用户从不需要手动运行完全扫描 (请参阅 比较快速扫描、完全扫描和自定义扫描) 。

但是,可能需要运行完全扫描来满足组织的特定要求。 完全扫描从快速扫描开始,然后继续对装载的所有固定和可移动网络驱动器进行顺序文件扫描。 完全扫描可以持续数小时到数天,具体取决于内容量、内容类型以及 Microsoft Defender 已分配用于执行扫描的资源 (请参阅 使用 Microsoft Defender 防病毒) 计划定期快速和完全扫描 。 扫描性能不仅仅是文件大小的函数,而且主要取决于内容的类型和复杂性。

保护效率和性能影响

保护和系统资源使用需要权衡。 设备性能高度依赖于你的环境。 在包含大量复杂内容的设备上运行完全扫描会延长完成时间,这是很自然的。 下表总结了我们已决定使用更多系统资源来提高保护效率的方案。

设置 默认值 详细信息
存档/容器 (例如 ISO) 扫描 Enabled Microsoft Defender 防病毒经过优化,可最大程度地减少单个对象的扫描时间。 容器可能包含许多对象,由于提取容器中的项会产生开销,因此扫描这些对象可能需要比预期更多的时间。
存档扫描的最大大小 Unlimited
映射的网络 (,例如 UNC、SMB、CIFS) Enabled 默认情况下,Microsoft Defender 防病毒扫描映射的网络驱动器。
OneDrive 同步 Enabled 默认情况下,Microsoft Defender 防病毒扫描通过 OneDrive 或文件夹同步进行同步的桌面、文档或下载。
客户端缓存/脱机文件 Enabled 默认情况下,Defender 会扫描客户端缓存。
扫描平均 CPU 负载因子 50 请参阅本文的 扫描和 CPU 限制 部分。

注意

  • 如果启用了实时保护,则会在访问和执行文件之前对其进行扫描。 无论文件位于何处,都会进行扫描 (请参阅 配置 Microsoft Defender 防病毒) 的扫描选项
  • 实际 CPU 使用率可能因 CPU 核心数、I/O 性能、内存压力等而异。 限制 CPU 使用率可能会导致完全扫描需要更长时间才能完成,因此客户应根据在其特定环境中获取的实际 CPU 使用率值微调此值。

完全扫描性能优化设置和开关

设备性能是影响安全事件处理速率和文件、网络和扫描活动速度的重要因素。 较高的事件处理速率等于 AV 扫描程序对性能的更高影响。 不同的防病毒软件配置可能会影响性能和保护。 可以配置一些设置和开关来调整 Microsoft Defender 防病毒的性能。

若要配置 Microsoft Defender 防病毒的扫描选项,可以使用各种工具 (请参阅 为 Microsoft Defender 防病毒) 配置扫描选项 。 下面是一些可用于配置 Microsoft Defender 防病毒完整扫描的可用设置和开关:

设置 默认值 PowerShell/WMI 参数和详细信息
存档/容器 (例如 ISO) 扫描 Enabled Microsoft Defender 防病毒经过优化,可最大程度地减少单个对象的扫描时间。 容器可能包含许多对象,由于提取容器中的项会产生开销,因此扫描这些对象可能需要比预期更多的时间。
存档文件 Scanned DisableArchiveScanning

DisableArchiveScanning启用将从防病毒扫描中排除以下存档类型:
- ZIP
- Ace
- Arc
- Arj
- BZip2
- Cab
- CF
- CPIO
- CPT
- GZip
- Hap
- ISO
- Lharc
- PSF
- Quantum
- Rar
- Stuffit
- Zoo
- ZCompress
- Compress
- VC4
- RPM
- BGA
- BH
- Universal Disk Format
- 7z

有关详细信息,请参阅 DisableArchiveScanning
存档文件夹中要扫描的子文件夹的级别 0 0 表示无限制。
用于扫描的存档的最大大小 0 0 表示无限制。
映射的网络驱动器 Scanned DisableScanningMappedNetworkDrivesForFullScan

请参阅 DisableScanningMappedNetworkDrivesForFullScan
网络文件 Scanned DisableScanningNetworkFiles
扫描期间的最大 CPU 负载百分比 50 ScanAvgCPULoadFactor

请参阅本文的 扫描和 CPU 限制 部分。
对空闲扫描禁用 CPU 限制 Unthrottled DisableCpuThrottleOnIdleScans

请参阅本文的 扫描和 CPU 限制 部分。
扫描前的签名检查 Disabled CheckForSignaturesBeforeRunningScan

Microsoft Defender 防病毒定期检查签名更新,并自动执行计划扫描。 默认情况下,扫描从现有定义开始。 此设置仅适用于计划的扫描。
完全扫描期间的可移动驱动器 Scanned DisableRemovableDriveScanning

指示在完全扫描期间是否扫描可移动驱动器(如闪存驱动器)。
电子邮件 Scanned DisableEmailScanning

指示 Windows Defender 是否根据其特定格式分析邮箱和邮件文件,以便分析邮件正文和附件。
Script Scanned DisableScriptScanning

指定是否禁用脚本文件的扫描。

最佳做法和注意事项

以下是 Microsoft 的建议:

完整扫描

  • 在启用或安装 Microsoft Defender 防病毒后运行一次完全扫描对于扫描系统以检测现有威胁非常有用。

  • 建议根据设备类型和角色配置扫描策略,例如 SQL Server 集合、IIS 服务器集合、受限工作站集合、标准工作站集合。

  • 避免在文件服务器角色中使用域控制器。 这可降低文件共享上的防病毒扫描活动,并最大程度地降低性能开销。

  • Microsoft Defender 防病毒具有文件哈希计算功能,可计算之前未计算的每个可执行文件的文件哈希。 这具有性能成本,尤其是在从网络共享复制大型文件时。 请参阅 配置文件哈希计算 ,详细了解对指示器的影响。

  • CPU 限制可能会影响完整扫描性能。 建议将 CPU 限制设置保留为默认值。

注意

  • 根据设计,Microsoft Defender 防病毒会检查内部内容类型,因为文件扩展名通常具有误导性,并且很容易被攻击者欺骗。
  • 扫描性能在很大程度上取决于要扫描的实际内容类型。 通常,更复杂的文件类型需要更多的时间和周期,而更不寻常的内容类型需要更多时间 (例如 JavaScript 文件) 。
  • Microsoft Defender 防病毒的性能分析器工具可帮助确定在防病毒扫描期间可能导致单个终结点性能问题的文件、文件扩展名和进程。 如果运行的是 Microsoft Defender 防病毒并遇到性能问题,则可以使用性能分析器来优化性能 (请参阅 Microsoft Defender 防病毒) 的性能分析器
  • Microsoft Defender 防病毒的受信任映像标识符可帮助提高设备的性能。 请参阅 为 Microsoft Defender 配置受信任的映像标识符

扫描和 CPU 限制

CPU 使用率限制(也称为 CPU 限制)设置用于设置 Microsoft Defender 按需扫描的最大 CPU 使用率。 默认情况下,CPU 限制设置处于启用状态,仅适用于计划的扫描,还可以选择性地应用于自定义扫描。 建议微调此设置, (查看 ScanAverageCPULoadFactorSet-MpPreference (Defender) ) 中的设置,具体取决于在特定环境中获取的实际 CPU 使用率值。

Microsoft Defender 防病毒的 CPU 负载系数不是硬性限制,而是扫描引擎不超过此最大值的指导。 对于此扫描策略设置,可以将值指定为扫描期间的最大 CPU 使用率百分比。 值 0 或 100 表示没有限制。 例如,如果此值减少到 20,则意味着扫描引擎的目标是在扫描期间将系统的平均 CPU 负载保持在 20% 以下,并且完成时间更长。

  • 如果将百分比值设置为 0 或 100,则会禁用 CPU 限制,并且 Windows Defender 在计划和自定义扫描期间最多可以使用 100% 的 CPU。 不建议这样做,因为它可能会导致应用无响应,甚至过热,因此请非常谨慎地继续操作。

  • 更改值既有优点也有缺点。 值越高意味着扫描执行速度更快;但是,这可能会在扫描过程中减慢系统速度,而较低的值意味着扫描需要更长的时间才能完成,但在扫描期间,系统可以使用更多 CPU 资源。 例如,如果在服务器上运行关键工作负载,则应将此设置设置为一个不会干扰工作负载运行的值。

  • 手动扫描将忽略 CPU 限制设置,并在没有任何 CPU 限制的情况下运行。 但是,有一个扫描策略设置 (请参阅 ThrottleForScheduledScanOnlySet-MpPreference (Defender) 中的设置) 如果禁用,则手动扫描遵循与计划扫描相同的 CPU 限制。

  • 空闲扫描上的 CPU 限制控制在设备空闲时是否对计划扫描限制 CPU。 默认情况下,此设置处于禁用状态,以确保 CPU 在设备空闲时不会限制计划扫描,而不管 CPU 限制设置为什么。 有关详细信息,请参阅 DisableCpuThrottleOnIdleScansSet-MpPreference (Defender) 中的 设置。

    注意

    请参阅 任务空闲条件 - Win32 应用中的空闲状态条件。

扫描和排除

Microsoft Defender 防病毒具有以下功能,可帮助提高扫描性能和效率:

  • 容器/存档可能需要很长时间才能进行扫描,因为某些优化 (例如,在这些情况下无法进行并行扫描) 。 建议尽可能提取这些容器的内容,以便完全扫描并行处理项。

  • 扫描排除项,如果符合性要求允许,则可以将容器排除在扫描之外。

  • Microsoft Defender 防病毒的性能分析器工具可用于确定有助于优化性能的排除项。 请参阅 Microsoft Defender 防病毒的性能分析器

Microsoft Defender 防病毒对具有高度信誉的内容进行了内置优化, (例如,由受信任的源) 签名。 遇到此类内容时,它只需从扫描内容转向验证签名,以确保文件不被篡改。

防病毒排除建议

从扫描中排除某些位置可以缩短扫描时间。 有两种类型的排除项:进程排除和文件/文件夹排除。 只有文件/文件夹排除项适用于完全扫描。 应仔细开发扫描排除项,以缩短扫描时间,同时将风险降到最低。

  • 如果合规性要求不允许,请不要排除压缩文件。

  • 不要排除恶意软件常用的“用户配置文件”临时文件夹或“系统临时”文件夹:

    • C:\Users<UserProfileName>\AppData\Local\Temp\
    • C:\Users<UserProfileName>\AppData\LocalLow\Temp\
    • C:\Users<UserProfileName>\AppData\Roaming\Temp\
    • %Windir%\Prefetch
    • %Windir%\System32\Spool
    • C:\Windows\System32\CatRoot2
    • %Windir%\Temp
  • 将环境变量用作排除列表中的通配符仅限于系统变量。 添加 Microsoft Defender 防病毒文件夹和进程排除项时,不要使用用户范围的环境变量。