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

数据收集最佳做法

本部分将回顾使用 Microsoft Sentinel 数据连接器收集数据的最佳做法。 有关详细信息,请参阅连接数据源Microsoft Sentinel 数据连接器参考Microsoft Sentinel 解决方案目录

设置数据连接器的优先级

了解如何在 Microsoft Sentinel 部署过程中确定数据连接器的优先级

在引入前筛选日志

建议在将数据引入 Microsoft Sentinel 之前,筛选收集的日志,甚至是日志内容。 例如,建议筛选出与安全操作无关或对其不重要的日志,或者从日志消息中删除不需要的细节。 在处理具有许多无关的细节的 Syslog 日志、CEF 日志或基于 Windows 的日志时,筛选消息内容可能有助于降低成本。

使用以下方法之一筛选日志:

  • Azure Monitor 代理。 在 Windows 和 Linux 上受支持,用于引入 Windows 安全事件。 通过将代理配置为只收集指定事件,筛选收集的日志。

  • Logstash。 支持筛选消息内容,包括对日志消息进行更改。 有关详细信息,请参阅使用 Logstash 进行连接

重要

使用 Logstash 筛选消息内容将导致日志被引入为自定义日志,使得任何免费层日志成为付费层日志。

自定义日志还需要处理成分析规则威胁搜寻以及工作簿,因为它们不会自动添加。 对于机器学习功能,自定义日志目前也不受支持。

其他数据引入要求

由于各种挑战,用于数据收集的标准配置可能不适用于你的组织。 下表描述了常见的挑战或要求,以及可能的解决方案和注意事项。

注意

以下部分中列出的许多解决方案都需要自定义数据连接器。 有关详细信息,请参阅用于创建 Microsoft Sentinel 自定义连接器的资源

本地 Windows 日志收集

挑战/要求 可能的解决方案 注意事项
需要日志筛选 使用 Logstash

使用 Azure Functions

使用 LogicApps

使用自定义代码(.NET、Python)
尽管筛选可节省成本,并且只引入所需数据,但不支持某些 Microsoft Sentinel 功能(如 UEBA实体页机器学习融合)。

配置日志筛选时,请在资源(例如威胁搜寻查询和分析规则)中进行更新
无法安装代理 使用 Azure Monitor 代理支持的 Windows 事件转发 使用 Windows 事件转发减少了来自 Windows 事件收集器的每秒负载均衡事件数,从 10,000 个事件降低到 500-1000 个事件。
服务器无法连接到 Internet 使用 Log Analytics 网关 为你的代理配置代理,这需要额外的防火墙规则才能使网关正常工作。
引入时需要标记和扩充 使用 Logstash 注入 ResourceID

使用 ARM 模板将 ResourceID 注入到本地计算机中

将资源 ID 引入到不同工作区
Log Analytics 不支持用于自定义表的 RBAC

Microsoft Sentinel 不支持行级 RBAC

提示:建议对 Microsoft Sentinel 采用跨工作区设计和功能。
需要拆分操作和安全日志 使用 Microsoft Monitor 代理或 Azure Monitor 代理多宿主功能 多宿主功能需要更多代理的部署开销。
需要自定义日志 从特定文件夹路径收集文件

使用 API 引入

使用 PowerShell

使用 Logstash
筛选日志时可能会遇到问题。

不支持自定义方法。

自定义连接器可能需要开发人员技能。

本地 Linux 日志收集

挑战/要求 可能的解决方案 注意事项
需要日志筛选 使用 Syslog-NG

使用 Rsyslog

使用代理的 FluentD 配置

使用 Azure Monitor 代理/Microsoft Monitoring Agent

使用 Logstash
代理可能不支持某些 Linux 发行版。

使用 Syslog 或 FluentD 需要开发人员知识。

有关详细信息,请参阅连接到 Windows 服务器以收集安全事件用于创建 Microsoft Sentinel 自定义连接器的资源
无法安装代理 使用 Syslog 转发器,例如 (syslog-ng 或 rsyslog。
服务器无法连接到 Internet 使用 Log Analytics 网关 为你的代理配置代理,这需要额外的防火墙规则才能使网关正常工作。
引入时需要标记和扩充 将 Logstash 用于扩充,或使用自定义方法,如 API 或事件中心。 筛选可能还需额外的工作量。
需要拆分操作和安全日志 使用具有多宿主配置的 Azure Monitor 代理
需要自定义日志 使用 Microsoft Monitoring (Log Analytics) Agent 创建自定义收集器。

Endpoint 解决方案

如果需要从 Endpoint 解决方案(例如 EDR、其他安全事件、Sysmon 等)收集日志,请使用以下方法之一:

  • Microsoft Defender XDR 连接器从 Microsoft Defender for Endpoint 收集日志。 此选项会产生额外的数据引入成本。
  • Windows 事件转发。

注意

负载均衡减少了每秒可处理到工作区的事件。

Office 数据

如果需要收集 Microsoft Office 数据(不包括标准连接器数据),请使用以下解决方案之一:

挑战/要求 可能的解决方案 注意事项
从 Teams、消息跟踪、钓鱼数据等收集原始数据 使用内置 Office 365 连接器功能,然后为其他原始数据创建自定义连接器。 将事件映射到相应的 recordID 可能有难度。
需要 RBAC 来拆分国家/地区、部门等 通过将标记添加到数据,并针对所需的每个拆分部分创建专用工作区,来自定义数据收集。 自定义数据收集具有额外的引入成本。
单个工作区内需要多个租户 使用 Azure LightHouse 和统一的事件视图自定义数据收集。 自定义数据收集具有额外的引入成本。

有关详细信息,请参阅跨工作区和租户扩展 Microsoft Sentinel

云平台数据

挑战/要求 可能的解决方案 注意事项
筛选来自其他平台的日志 使用 Logstash

使用 Azure Monitor 代理/Microsoft Monitoring (Log Analytics) Agent
自定义收集具有额外的引入成本。

与只收集安全事件相比,你可能会遇到收集所有 Windows 事件的挑战。
无法使用代理 使用 Windows 事件转发 可能需要跨资源对工作进行负载均衡。
服务器位于气隙网络中 使用 Log Analytics 网关 为你的代理配置代理,这需要防火墙规则才能使网关正常工作。
引入时的 RBAC、标记和扩充 通过 Logstash 或 Log Analytics API 创建自定义集合。 自定义表不支持 RBAC

任何表都不支持行级 RBAC。

后续步骤

有关详细信息,请参阅: