数据收集最佳做法
本部分将回顾使用 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 等)收集日志,请使用以下方法之一:
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。 |
后续步骤
有关详细信息,请参阅: