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

为关键更改启用跟踪和警报

Azure 更改跟踪和清单提供有关混合环境配置状态以及对该环境的更改的警报。 它可以报告可能影响已部署的服务器的关键文件、服务、软件和注册表更改。

默认情况下,Azure 自动化清单服务不会监视文件或注册表设置。 该解决方案提供了建议用于监视的注册表项的列表。 若要查看此列表,请转到 Azure 门户中的 Azure 自动化帐户,然后选择“清单”>“编辑设置”。

Azure 门户中 Azure 自动化的清单视图的屏幕截图。

有关每个注册表项的详细信息,请参阅注册表项更改跟踪。 选择要评估的任何注册表项,然后启用它。 此设置将应用于当前工作区中启用的所有 VM。

你还可以使用该服务来跟踪关键文件更改。 例如,你可能想要跟踪 C:\windows\system32\drivers\etc\hosts 文件,因为操作系统使用它将主机名映射到 IP 地址。 对此文件进行更改可能会导致连接问题或将流量重定向到危险的网站。

若要为 hosts 文件启用文件内容跟踪,请按照启用文件内容跟踪中的步骤进行操作。

你还可以为正在跟踪的文件的更改添加警报。 例如,你可能希望为 hosts 文件的更改设置警报。 若要执行此操作,请在命令栏上选择“Log Analytics”,或为链接的 Log Analytics 工作区选择“日志搜索”。 在 Log Analytics 中,使用以下查询来搜索对 hosts 文件的更改:

ConfigurationChange | where FieldsChanged contains "FileContentChecksum" and FileSystemPath contains "hosts"

Azure 门户中的 Log Analytics 查询编辑器的屏幕截图

此查询将搜索其路径包含单词 hosts 的文件的内容更改。 还可以通过更改 path 参数来搜索特定文件。 (例如:FileSystemPath == "c:\\windows\\system32\\drivers\\etc\\hosts"。)

查询返回结果后,选择“新建警报规则”以打开警报规则编辑器。 还可以通过 Azure 门户中的 Azure Monitor 转到此编辑器。

在警报规则编辑器中,查看查询并根据需要更改警报逻辑。 在本例中,我们希望如果在环境中的任何计算机上检测到任何更改,便会引发警报。

Azure 门户中的 Log Analytics 警报规则编辑器的屏幕截图

在设置条件逻辑后,可以分配操作组,以便执行操作来响应警报。 在此示例中,当引发警报时,将发送电子邮件并创建 ITSM 票证。 你可以执行许多其他有用操作,例如触发 Azure 函数、Azure 自动化 runbook、webhook 或逻辑应用。

示例警报规则摘要的屏幕截图Azure 门户

在设置所有参数和逻辑以后,可以将警报应用到环境。

跟踪和警报示例

本部分介绍你可能想要使用的其他常见跟踪和警报方案。

驱动程序文件已更改

使用以下查询来检测是否已更改、添加或删除驱动程序文件。 这适用于跟踪对关键系统文件的更改。

ConfigurationChange | where ConfigChangeType == "Files" and FileSystemPath contains " c:\\windows\\system32\\drivers\\"

特定服务已停止

使用以下查询跟踪对系统关键型服务的更改。

ConfigurationChange | where SvcState == "Stopped" and SvcName contains "w3svc"

已安装新软件

对需要锁定软件配置的环境使用以下查询。

ConfigurationChange | where ConfigChangeType == "Software" and ChangeCategory == "Added"

计算机上已安装或未安装特定软件版本

使用以下查询来评估安全性。 此查询引用 ConfigurationData,后者包含清单日志,并提供上次报告的配置状态而不是更改。

ConfigurationData | where SoftwareName contains "Monitoring Agent" and CurrentVersion != "8.0.11081.0"

已通过注册表更改已知 DLL

使用以下查询来检测对已知注册表项的更改。

ConfigurationChange | where RegistryKey == "HKEY_LOCAL_MACHINE\\System\\CurrentControlSet\\Control\\Session Manager\\KnownDlls"

后续步骤

了解 Azure 自动化如何创建更新计划来管理服务器的更新。