探索Microsoft 365统一审计日志中的搜索行为追踪

本文通过一系列实验,探究了在Microsoft 365环境中不同用户角色执行邮箱和OneDrive搜索时,统一审计日志(UAL)的实际记录情况,揭示了审计配置的关键性及电子发现操作的详细日志。

本文是周日趣味挑战的一部分,内容涉及审查 Microsoft 365 统一审计日志 (UAL)。作者最初想申请一个开发租户,但过程略显繁琐,因此一位朋友慷慨地提供了访问权限。

本周的挑战提出以下问题:在以下场景发生时,会留下哪些日志条目?

  • 用户搜索自己的邮箱
  • 用户搜索自己的 OneDrive
  • 管理员搜索自己的邮箱
  • 管理员搜索自己的 OneDrive
  • 管理员搜索他人的邮箱
  • 管理员搜索他人的 OneDrive

第一步是设置几个账户并生成一些数据(在确认分配许可证之后,作者承认最初确实忘了这一步)。操作很简单:登录账户,执行一些非常具体的搜索,然后等待结果出现在 UAL 中。 首先,确保 UAL 已启用。作者是在数据生成后才做的这件事。所以,所有的数据生成都得重来一遍!

1. 用户搜索自己的邮箱 假设: 应该会记录搜索查询,但不会告诉我具体内容。 数据生成: 为此测试,作者发送了一封包含术语“TESTKITCHENSEARCHEMAIL”的电子邮件。邮箱里本来也只有一封邮件,但还是让搜索词唯一为好。这返回了结果,但作者并未访问该邮件。搜索大约在澳大利亚东部夏令时间 7:05 AM 执行。 结果: 日志中没有任何迹象表明发生了搜索。 其他兴趣点: 由于 UAL 未启用,作者不得不重做所有测试,而且开启 UAL 的过程相当烦人。当作者进入用户账户进行搜索时,看到了之前所有的搜索记录,说明这些搜索记录存储在 Outlook.com 的某个地方。

2. 用户搜索自己的 OneDrive 假设: 应该会记录搜索查询,但不会告诉我具体内容。 数据生成: 为此,作者上传了几个文件,然后在地址栏中搜索了放入“test.txt”文件中的术语。搜索大约在 AEDT 时间 7:07 AM 执行。作者是通过访问 OneDrive.com(会重定向到 SharePoint)进行的,而不是通过 Outlook 门户。 结果: 日志中没有任何迹象表明发生了搜索。

3. 管理员搜索自己的邮箱 假设: 预计会显示运行了搜索,但不显示具体内容。 数据生成: 如前所述,但作者以全局管理员账户身份登录,大约在 AEDT 时间 7:09 AM 执行搜索。 结果: 无返回结果。

4. 管理员搜索自己的 OneDrive 假设: 预计会显示运行了搜索,但不显示具体内容。 数据生成: 如前所述,但作者以全局管理员账户身份登录,大约在 AEDT 时间 7:15 AM 执行搜索。奇怪的是,搜索精确字符串时没有找到文件。重新搜索“TESTKITCHEN”也找不到。真奇怪! 不过有这样一个有趣的链接,因为它找不到文件,但点击后也一无所获。看起来它是在整个 SharePoint 中搜索,而此租户中的匹配项只会在 OneDrive 中。 结果: 无返回结果。

5. 管理员搜索他人的邮箱 假设: 预计内容搜索会被记录,但通过委派访问进行的搜索不会被记录。 数据生成: 作者通过 Purview 中的电子数据展示门户运行了一次内容搜索(大约在 AEDT 时间 7:22 AM,截图是前一天第一次操作时的,所以搜索名称现在不同了),然后还添加了对用户账户的委派访问权限,以便在 Outlook Web Access 中查看。作者还特意发送了一封包含特定措辞“TESTEMAILDELEGATEDACCESS”的邮件以便搜索。 如预期般返回了一个结果。 添加邮箱委派是通过以下链接完成的:https://admin.cloud.microsoft/exchange。作者将管理员账户添加到了用户账户以获得完全访问权限。 然后,作者将邮箱作为共享文件夹添加到 OWA。 作者运行了两次搜索,因为第一次(在所有文件夹中)没找到;当点击进入收件箱后再运行搜索,它就将搜索位置列了出来。所以大约在 AEDT 时间 7:23 AM 可能有几次搜索。 结果: 电子数据展示操作被记录得很详细,包括“查看电子数据展示案例”、“查看 Purview 搜索”、“检索搜索的所有操作”、“启动内容搜索”等活动。 “启动内容搜索”显示了搜索文本,但我们还需要更多工作才能弄清楚他们搜索了哪些资源。 在 OWA 中进行的搜索完全没有被记录。作者访问了另一个邮箱中的一些邮件,这被记录了下来;证据显示 MailboxOwnerUPN 是目标邮箱。

6. 管理员搜索他人的 OneDrive 假设: 预计委派访问搜索会被记录。 数据生成: 作者没有再通过 Purview 的电子数据展示门户运行内容搜索,因为这应该和邮件搜索的记录方式相同。然后通过管理员门户添加了委派访问权限。 作者通过点击管理员门户中的这个链接获得了访问权限: 生成的链接让作者直接访问了用户的 OneDrive。 然后作者从搜索框运行了搜索。 不知何故,尽管“test2.txt”的内容中确实有这个词,却没有返回结果。奇怪。 结果: 再次没有返回任何结果!作者可以看到自己查看其他用户 OneDrive 的操作(虽然显示为 SharePoint 链接),记录为“ListViewed”或“Viewed Page”。不过,应用程序显示名称明确写着“OneDrive Web App (modern)”。

附录: 另一件有趣的事:如果进入用户设置(按账户 – 作者没找到在其他地方或针对委派邮箱执行此操作的方法),可以导出用户的搜索记录。 这提供了一个包含作者搜索记录的文件。

附录2: 由于某种原因,记录搜索发生是一个需要专门启用的事件。可以在此处查看启用方法。 为什么不默认就启用呢…

总体而言,这个测试非常有趣;主要是因为什么都没显示。作者本以为会得到一个“执行搜索查询”的活动,但这似乎并未发生。作者在案件调查中见过搜索记录,但大多不包含文本(或者只有一个星号)。 日志中真正观察到的与搜索相关的内容只有电子数据展示案例,这合乎情理,理应被记录。

作者想进一步研究 Entra,并且仍然不明白为什么我们不能直接使用 KQL 查询 UAL。某种程度上可以使用 CloudEvents 表,但实际上这并非完整记录。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计