Microsoft365云日志提取

作者:Megan Roddie 翻译:Doris Liu  转载请注明

Microsoft 365日志功能的优势之一是可以将所有日志集中到统一审计日志(UAL)中。该单一日志将包含 Azure AD、Exchange、SharePoint、OneDrive 等用户和管理员活动。我们将具体研究查询和导出UAL的三种方法:

  • Microsoft Purview 合规门户网站
  • PowerShell
  • Microsoft 365 管理应用程序接口

这三个方法选项各有利弊,因此,您想使用哪种方法完全取决于您的使用情况。

Microsoft Purview合规门户网站

通过 Microsoft Purview合规性门户网站访问日志最适合用于需要执行快速、有针对性搜索的情况。它有很好的内置搜索功能,但利用门户网站中的数据比较困难,而且导出功能有限制,使用起来不太理想。如果你选择了这种方式来导出日志,可以参考以下步骤:

1.登录 Purview 合规门户网站。

2.从左侧菜单中选择 "审计"。

3.指定日期范围,应用筛选器,然后选择搜索。

    在搜索选项下方,将显示以前和正在进行的搜索列表。搜索完成后,您将看到 "任务状态 "为 "已完成"。

4.点击相关搜索,在随后的页面左上方选择 "导出"。

    导出可能需要一些时间才能完成,尤其是在结果包含大量记录的情况下。您可能需要刷新页面以检查是否完成。结果准备就绪后,屏幕顶部会显示绿色状态信息,并带有下载链接。

遗憾的是这种方法的另一个缺点是 SOF-ELK Microsoft 365 解析器不支持 Purview 导出。为了与 SOF-ELK兼容,你应该使用接下来要讨论的PowerShell的方法。CSV导出中最重要的数据以JSON blob的形式存储在"AuditData"列中。因此,如果要在Excel或其他CSV查看器中查看日志,就需要转换该列。微软在其文档中提供了如何进行转换的分步说明。

https://learn.microsoft.com/en-us/purview/audit-log-export-records?view=o365-worldwide#step-2-format-the-exported-audit-log-using-the-power-query-editor

PowerShell

PowerShell 有一个名为Search-Unified AuditLog的Cmdlet,允许您通过PowerShell界面查询和导出UAL。这种方法最好在尝试导出少量UAL时使用,因为它将记录数限制为5000条。如果您需要5,000条以上的记录,并希望利用PowerShell,建议您看看下面"开源UAL收集工具"部分中提到的Microsoft Extractor Suite。

在尝试通过PowerShell导出UAL之前,需要安装Exchange Online PowerShell模块,该模块提供了与Microsoft 365交互的cmdlets。此外,还需要确保拥有通过PowerShell访问UAL所需的权限。至少需要通过Microsoft 365管理中心的角色组为用户分配 "仅查看审计日志"角色。具备这些先决条件后,就可以执行以下步骤导出日志。

1.连接至Microsoft 365

2.执行搜索,提取 AuditData 属性,并将输出导入 UTF8 编码的JSON文件

此时,您可以将 JSON 文件导入 SOF-ELK(通过将其复制到 Microsoft 365 Logstash 目录)或您选择的其他解析工具。

Microsoft 365 管理应用程序接口

导出 UAL 的最后一种方法是 Microsoft 365 应用程序管理接口。这种方法最适用于希望持续查询 UAL 以将日志摄取到 SIEM 等外部平台的环境,或超出 PowerShell Cmdlet 导出限制的大型环境。API 端点只会返回最近7天的结果,因此必须通过定制开发的应用程序或利用 API 的商业解决方案对其进行持续访问。使用 API 的高级步骤如下:

1.在Azure AD中注册并配置应用程序

2.为应用程序生成新密钥和X.509证书

3.授权Microsoft 365管理API访问权限

4.从Azure AD申请访问令牌

5.开始订阅所需日志

6.定期检索日志块

有关利用 API 的更深入指导,请参阅此处的 Microsoft 文档:Get started with Office 365 Management APIs | Microsoft Learn.如果您利用商业软件来收集这些日志,它们很可能有内置的集成和配置指南,用于将您的解决方案与API连接。

开源的UAL获取工具

Invictus IR 发布了一套脚本,用于使用PowerShell提取 Microsoft日志(包括 365 和 Azure)。这些脚本的主要优点之一是可以将提取分成若干块,以避免Search-UnifiedAuditLog PowerShell cmdlet 施加的记录限制。有关提取UAL 的脚本如下:

  • 获取所有 UAL 条目。仅支持按日期和用户名过滤。
  • 根据预定义的组获取所选组 UAL 条目。这些组试图弥补 Search-UnifiedAuditLog cmdlet 不支持按工作量过滤的缺陷。
  • 除日期和用户名外,还可根据 RecordType 过滤获取特定记录。
  • 根据日期和用户名过滤器显示 UAL 中的日志总数。

你可以通过以下Github链接免费访问这些脚本:

GitHub - invictus-ir/Microsoft-Extractor-Suite: A PowerShell module for acquisition of data from Microsoft 365 and Azure for Incident Response and Cyber Security purposes.

总结

本文讨论了访问和导出统一审计日志 (UAL) 的各种方法。如果您需要执行快速和有针对性的搜索,可以利用 Purview 合规性门户。如果想检索UAL的一小部分并导出为JSON格式,PowerShell提供了Search-UnifiedAuditLog cmdlet。对于大型组织或需要持续轮询UAL的组织,可以使用Microsoft 365应用程序管理接口。

作者:Megan Roddie 翻译:Doris Liu  转载请注明

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值