Microsoft Sentinel 中的自定义数据引入和转换

Azure Monitor 的 Log Analytics 充当 Microsoft Sentinel 工作区背后的平台。 默认情况下,Microsoft Sentinel 中引入的所有日志都存储在 Log Analytics 中。 在 Microsoft Sentinel 中,可以访问存储的日志,并运行 Kusto 查询语言 (KQL) 查询来检测威胁并监视网络活动。

Log Analytics 的自定义数据引入过程提供对所引入数据的高级别控制。 它使用数据收集规则 (DCR) 来收集数据,甚至在数据存储到工作区之前对其进行操作。 这支持筛选和扩充标准表,并创建高度可自定义的表,用于存储生成独特日志格式的来源的数据。

Microsoft Sentinel 提供了两种工具来控制此过程:

  • 日志引入 API 支持将自定义格式的日志从任何数据源发送到 Log Analytics 工作区,并将这些日志存储在特定的标准表或你创建的自定义格式表中。 你将能够全面控制这些自定义表的创建,具体到指定列名和类型。 创建 DCR 以定义、配置数据流以及向这些数据流应用转换。

  • 数据收集转换使用 DCR 将基本 KQL 查询应用于传入的标准日志(以及某些类型的自定义日志),之后这些日志才存储到工作区中。 这些转换可以筛选掉不相关的数据、使用分析或外部数据扩充现有数据,或者屏蔽掉敏感或个人信息。

下面将更详细地介绍这两个工具。

用例和示例方案

Filtering

“引入-时间”转换使你能够筛选掉不相关的数据,甚至是在这些数据首次存储到工作区之前。

通过指定有关要包含哪些记录的条件,可以在记录(行)级别进行筛选,或通过删除特定字段的内容,在字段(列)级别进行筛选。 筛选掉不相关的数据可以:

  • 在降低存储要求时帮助降低成本
  • 提高性能,因为所需的查询时间调整会减少

“引入-时间”数据转换支持多工作区场景

标准化

引入-时间转换还让你可以在日志被引入到具有高级安全信息模型 (ASIM) 的内置表或客户规范化表时规范化日志。 使用引入-时间规范化可提高规范化查询的性能。

有关详细信息,请参阅引入-时间规范化

扩充和标记

使用“引入-时间”转换,还可通过向配置的 KQL 转换添加额外的列来扩充数据,从而改进分析。 额外列可能包括来自现有列的已分析或计算的数据,或从即时创建的数据结构获得的数据。

例如,可以添加更多信息,例如外部 HR 数据、展开的事件说明或基于用户、位置或活动类型的分类信息。

掩码

“引入-时间”转换还可用于屏蔽或删除个人信息。 例如,可以使用数据转换来屏蔽社保号码或信用卡号码中最后几位除外的所有数字,或可以用无意义的、标准文本或虚拟数据替换其他类型的个人数据。 在引入时屏蔽个人信息,以增强整个网络的安全性。

Microsoft Sentinel 中的数据引入流

下图显示了“引入-时间”数据转换过程将数据引入流输入 Microsoft Sentinel 时的位置。

Microsoft Sentinel 从多个源将数据收集到 Log Analytics 工作区中。

  • 通过在工作区 DCR 中使用硬编码工作流和“引入-时间”转换的某种组合来处理 Log Analytics 中来自内置数据连接器的数据。 此数据可以存储在标准表中,也可以存储在自定义表的特定集中。
  • 直接引入到日志引入 API 终结点中的数据由可能包含引入时间转换的标准 DCR 进行处理。 然后,此数据可以存储在任何类型的标准表或自定义表中。

Microsoft Sentinel 数据转换体系结构示意图。

Microsoft Sentinel 中的 DCR 支持

在 Log Analytics 中,数据收集规则 (DCR) 决定了不同输入流的数据流。 数据流包括:要转换的数据流(标准或自定义)、目标工作区、KQL 转换和输出表。 对于标准输入流,输出表与输入流相同。

Microsoft Sentinel 中的 DCR 支持包括:

  • 标准 DCR,当前仅支持使用日志引入 API 的基于 AMA 的连接器和工作流。

    每个连接器或日志源工作流都可以有其自己的专用标准 DCR,但多个连接器或源也可以共享一个通用标准 DCR。

  • 工作区转换 DCR,适用于当前不支持标准 DCR 的工作流。

    单个工作区转换 DCR 适用于工作区中标准 DCR 不支持的所有支持的工作流。 一个工作区只能有一个工作区转换 DCR,但该 DCR 包含用于每个输入流的单独转换。 此外,工作空间转换 DCR 仅支持特定的一组表

Microsoft Sentinel 对“引入-时间”转换的支持取决于使用的数据连接器的类型。 有关自定义日志、引入-时间转换和数据收集规则的更多详细信息,请参阅本文末尾处相关内容部分中链接的文章。

Microsoft Sentinel 数据连接器的 DCR 支持

下表描述了对 Microsoft Sentinel 数据连接器类型的 DCR 支持:

数据连接器类型 DCR 支持
通过日志引入 API直接引入 标准 DCR
AMA 标准日志,例如:
  • 通过 AMA 收集的 Windows 安全事件
  • Windows 转发事件
  • CEF 数据
  • Syslog 数据
  • 标准 DCR
    基于诊断设置的连接 工作区转换 DCR,基于特定数据连接器的支持的输出表
    内置的服务到服务数据连接器,例如:
  • Microsoft Office 365
  • Microsoft Entra ID
  • 工作区转换 DCR,基于特定数据连接器的支持的输出表

    自定义数据连接器的数据转换支持

    如果为 Microsoft Sentinel 创建了自定义数据连接器,可以使用 DCR 来配置工作区中 Log Analytics 分析和存储数据的方式。

    目前仅为自定义日志支持以下表:

    有关详细信息,请参阅支持引入时转换的表

    限制

    对于 Microsoft Sentinel 数据连接器,“引入-时间”数据转换当前存在以下已知问题:

    • 使用工作区转换 DCR 的数据转换仅按每个表而不是每个连接器获得支持。

      整个工作区只能有一个工作区转换 DCR。 在此 DCR 中,每个表都可以为其自己的转换使用单独的输入流。 无法使用工作区转换 DCR 将数据拆分到多个目的地(Log Analytics 工作区)。 基于 AMA 的数据连接器使用在关联的 DCR 中为输入和输出流以及转换定义的配置,并忽略工作区转换 DCR。

    • 仅通过 API 提供以下配置支持:

    • 应用数据转换配置可能最多需要 60 分钟。

    • KQL 语法:并非支持所有运算符。 有关详细信息,请参阅 Azure Monitor 文档中的 KQL 限制支持的 KQL 功能

    • 只能将日志从一个特定数据源发送到一个工作区。 要通过标准 DCR 将数据从单个数据源发送到多个工作区(目的地),请为每个工作区创建一个 DCR。

    有关详细信息,请参阅:

    有关“引入-时间”转换、自定义日志 API 和数据收集规则的更详细的信息,请参阅 Azure Monitor 文档中的以下文章: