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

使用 Azure Monitoring Agent 的更改跟踪和清单概述

重要

本文介绍最新版本的更改跟踪支持,使用 Azure Monitoring Agent(预览版)作为单一代理进行数据收集。

注意

使用 Microsoft Defender for Endpoint (MDE) 的文件完整性监视 (FIM) 现已可用。 如果已使用 AMA 或 LA 配置 FIM,请按照以下指南从以下项进行迁移:

什么是更改跟踪和清单?

通过监视更改并为 Azure、本地和其他云环境中的服务器提供详细的清单日志,Azure 更改跟踪和清单服务可增强来宾操作的审核和治理。

  1. 更改跟踪

    a. 监视更改,包括对文件、注册表项、软件安装和 Windows 服务或 Linux 守护程序的修改。
    b. 提供有关更改内容、更改时间、更改者的详细日志,使你能够快速检测配置偏移或未经授权的更改。

  2. 库存

    a. 收集并维护链接 LA 工作区
    b 中已安装软件、操作系统详细信息和其他服务器配置的更新列表。 帮助创建系统资产的概述,这对合规性、审核和主动维护很有用。

支持矩阵

组件 适用于
操作系统 Windows
Linux
资源类型 Azure VM
已启用 Azure Arc 的 VM
虚拟机规模集
数据类型 Windows 注册表
Windows 服务
Linux 守护程序
文件 Windows
Linux

关键优势

  • 与统一监视代理兼容 - 与可增强安全性、可靠性并有利于使用多宿主体验来存储数据的 Azure Monitor 代理兼容。
  • 与跟踪工具兼容 - 与通过 Azure Policy 在客户端虚拟机上部署的更改跟踪 (CT) 扩展兼容。 可以切换到 Azure Monitor 代理 (AMA),然后 CT 扩展会将软件、文件和注册表推送到 AMA。
  • 多宿主体验 – 从一个中心工作区提供标准化管理。 可以从 Log Analytics (LA) 转换到 AMA,使所有 VM 指向单个工作区以收集和维护数据。
  • 规则管理 – 使用数据收集规则来配置或自定义数据收集的各个方面。 例如,可以更改文件收集频率。

限制

下表显示了用于更改跟踪和库存功能的每台计算机的跟踪项限制。

资源 限制 备注
文件 500
文件大小 5 MB
注册表 250
Windows 软件 250 不包括软件更新。
Linux 包 1,250
Windows 服务 250
Linux 守护程序 250

支持的操作系统

满足 Azure Monitor 代理要求的所有操作系统都支持更改跟踪和库存。 有关 Azure Monitor 代理目前支持的 Windows 和 Linux 操作系统版本的列表,请参阅支持的操作系统

若要了解 TLS 的客户端要求,请参阅为 Azure 自动化使用 TLS

启用更改跟踪和库存

可以通过以下方式启用“更改跟踪和清单”:

  • 对于未启用 Azure Arc 的计算机,请参阅策略>定义 >Select Category = ChangeTrackingAndInventory 中的为启用 Arc 的虚拟机启用更改跟踪和清单的计划。 若要大规模启用更改跟踪和库存,请使用基于 DINE 策略的解决方案。 有关详细信息,请参阅使用 Azure Monitoring Agent(预览版)启用更改跟踪和清单

  • 对于单个 Azure VM,通过 Azure 门户中的虚拟机页启用。 此方案适用于 Linux 和 Windows VM。

  • 对于多个 Azure VM,从 Azure 门户的“虚拟机”页中选择它们进行启用。

跟踪文件更改

若要跟踪 Windows 和 Linux 上文件中的更改,更改跟踪和库存功能会使用文件的 SHA256 哈希。 此功能使用哈希算法来检测自上次清点后是否进行了更改。

跟踪文件内容更改

“更改跟踪和清单”功能允许查看 Windows 或 Linux 文件的内容。 对于文件的每个更改,更改跟踪和库存功能将文件内容存储在 Azure 存储帐户中。 跟踪文件时,可以在更改前后查看其内容。 可以内联查看文件内容,也可以并排查看。 了解详细信息

屏幕截图显示如何查看 Windows 或 Linux 文件中的更改。

跟踪注册表项

“更改跟踪和清单”功能支持监视 Windows 注册表项的更改。 此监视操作可以确定第三方代码和恶意软件可以激活的扩展点。 下表列出了预配置(但未启用)的注册表项。 若要跟踪这些注册表项,必须将它们都启用。

注册表项 目的
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Group Policy\Scripts\Startup 监视启动时运行的脚本。
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Group Policy\Scripts\Shutdown 监视关闭时运行的脚本。
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run 监视用户登录 Windows 帐户之前加载的注册表项。 该注册表项用于在 64 位计算机上运行的 32 位应用程序。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components 监视应用程序设置的更改。
HKEY_LOCAL_MACHINE\Software\Classes\Directory\ShellEx\ContextMenuHandlers 监视上下文菜单处理程序,这些处理程序直接与 Windows 资源管理器挂钩,并且通常使用 Explorer.exe 在进程内运行。
HKEY_LOCAL_MACHINE\Software\Classes\Directory\Shellex\CopyHookHandlers 监视副本挂钩处理程序,这些处理程序直接与 Windows 资源管理器挂钩,并且通常使用 Explorer.exe 在进程内运行。
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers 监视图标覆盖处理程序注册。
HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers 监视在 64 位计算机上运行的 32 位应用程序的图标覆盖处理程序注册。
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects 监视 Internet Explorer 的新浏览器帮助程序对象插件。 用于访问当前页的文档对象模型 (DOM) 并控制导航。
HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects 监视 Internet Explorer 的新浏览器帮助程序对象插件。 对于在 64 位计算机上运行的 32 位应用程序,用于访问当前页的文档对象模型 (DOM) 并控制导航。
HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions 监视新的 Internet Explorer 扩展,如自定义工具菜单和自定义工具栏按钮。
HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Internet Explorer\Extensions 对于在 64 位计算机上运行的 32 位应用程序,监视新的 Internet Explorer 扩展,如自定义工具菜单和自定义工具栏按钮。
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Drivers32 监视与 wavemapper、wave1 和 wave2、msacm.imaadpcm、.msadpcm、.msgsm610 和 vidc 关联的 32 位驱动程序。 类似于 system.ini 文件中的 [drivers] 部分。
HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Drivers32 对于在 64 位计算机上运行的 32 位应用程序,监视与 wavemapper、wave1 和 wave2、msacm.imaadpcm、.msadpcm、.msgsm610 和 vidc 关联的 32 位驱动程序。 类似于 system.ini 文件中的 [drivers] 部分。
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\KnownDlls 监视已知或常用的系统 DLL 列表。 监视可以通过删除特洛伊木马版本的系统 DLL 来防止人们利用弱应用程序目录权限。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify 监视可从 winlogon.exe(适用于 Windows 的交互式登录支持模型)接收事件通知的包列表。

递归支持

更改跟踪和库存功能支持递归,这样你就可以指定通配符来简化跨目录的跟踪。 递归还提供了环境变量,使你能够跨具有多个或动态驱动器名称的环境跟踪文件。 以下列表包括配置递归时应了解的常用信息:

  • 跟踪多个文件需要使用通配符。

  • 只能在文件路径的最后一段中使用通配符,例如 c:\folder\file* 或 /etc/*.conf。

  • 如果环境变量具有无效路径,验证会成功,但在执行过程中路径会失败。

  • 设置路径时应避免使用通用路径名,因为此类型的设置可能会导致遍历太多文件夹。

更改跟踪和库存数据收集

下表显示更改跟踪和库存功能支持的更改类型的数据收集频率。 默认情况下,所有数据类型每 10 小时填充一次清单日志。 此外,如果为任何数据类型注册了更改,则会为此实例生成清单和更改日志。

更改类型 频率
Windows 注册表 50 分钟
Windows 文件 30 到 40 分钟
Linux 文件 15 分钟
Windows 服务 10 分钟到 30 分钟
默认值:30 分钟
Windows 软件 30 分钟
Linux 软件 5 分钟
Linux 守护程序 5 分钟

下表显示了用于更改跟踪和库存功能的每台计算机的跟踪项限制。

资源 限制
文件 500
注册表 250
Windows 软件(不包括修补程序) 250
Linux 包 1250
Windows 服务 250
Linux 守护程序 500

Windows 服务数据

先决条件

若要启用 Windows 服务数据的跟踪,必须升级 CT 扩展并使用大于或等于 2.11.0.0 的扩展

- az vm extension set --publisher Microsoft.Azure.ChangeTrackingAndInventory --version 2.11.0 --ids /subscriptions/<subscriptionids>/resourceGroups/<resourcegroupname>/providers/Microsoft.Compute/virtualMachines/<vmname> --name ChangeTracking-Windows --enable-auto-upgrade true

配置频率

Windows 服务的默认收集频率为 30 分钟。 若要配置频率,

  • 在编辑设置下,使用 Windows 服务选项卡上的滑块。

频率滑块的屏幕截图。

当前限制

使用 Azure Monitoring 代理更改跟踪和清单当前不支持以下项或存在以下限制:

  • Windows 注册表跟踪递归
  • 网络文件系统
  • 不同的安装方法
  • *Windows 上存储的 .exe 文件
  • 未在当前实现中使用“最大文件大小”列和值
  • 如果要跟踪文件更改,则仅限 5 MB 或更小的文件。
  • 如果文件大小 > 1.25MB,则会因校验和计算中的内存约束而导致 FileContentChecksum 不正确。
  • 如果尝试在 30 分钟收集周期内收集超过 2,500 个文件,则“更改跟踪和清单”功能的性能可能会下降。
  • 如果网络流量较高,更改记录可能需要最多六个小时才能显示。
  • 如果在计算机或服务器关闭的情况下修改配置,则可能会发布属于以前配置的更改。
  • 收集 Windows Server 2016 Core RS3 计算机上的修补程序更新。
  • 即使未发生任何更改,Linux 守护程序也可能会显示已更改的状态。 发生此问题的原因在于写入 Azure Monitor ConfigurationChange 表中的 SvcRunLevels 数据的方式。
  • 更改跟踪扩展不支持任何 Linux 操作系统或发行版的任何强化标准。

支持有关配置状态的警报

更改跟踪和库存的主要功能是就混合环境的配置状态更改发出警报。 提供了许多有用的操作以用于响应警报。 例如,对 Azure 功能、自动化 runbook、webhook 等的操作。 在计算机的 c:\windows\system32\drivers\etc\hosts 文件发生更改时发出警报,这是对“更改跟踪和清单”数据警报的一个不错的应用。 还有更多的警报方案,包括下表中定义的查询方案。

查询 说明
ConfigurationChange
| where ConfigChangeType == "Files" and FileSystemPath contains " c:\windows\system32\drivers\"
用于跟踪对系统关键文件的更改。
ConfigurationChange
| where FieldsChanged contains "FileContentChecksum" and FileSystemPath == "c:\windows\system32\drivers\etc\hosts"
用于跟踪对关键配置文件的修改。
ConfigurationChange
| where ConfigChangeType == "WindowsServices" and SvcName contains "w3svc" and SvcState == "Stopped"
用于跟踪对系统关键服务的更改。
ConfigurationChange
| where ConfigChangeType == "Daemons" and SvcName contains "ssh" and SvcState!= "Running"
用于跟踪对系统关键服务的更改。
ConfigurationChange
| where ConfigChangeType == "Software" and ChangeCategory == "Added"
用于需锁定软件配置的环境。
ConfigurationData
| where SoftwareName contains "Monitoring Agent" and CurrentVersion!= "8.0.11081.0"
用于查看哪些计算机安装了过时的或不符合标准的软件版本。 该查询会报告最新报告的配置状态,而不报告更改。
ConfigurationChange
| where RegistryKey == @"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\QualityCompat"
用于跟踪对重要的防病毒密钥的更改。
ConfigurationChange
| where RegistryKey contains @"HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\SharedAccess\\Parameters\\FirewallPolicy"
用于跟踪对防火墙设置的更改。

后续步骤