如何监视Office 365活动日志以提高安全性

如何监控Office 365活动日志以提高安全性。想要增强您的安全性Office 365?监控Office 365的活动日志至关重要,而Microsoft的统一Office 365审计日志门户提供了一个单一平台来实现这一点。

在本文中,我们将探讨Office365统一审计日志的概述。

然后,我们将了解使用Microsoft 365统一审计日志的许可证和权限要求。此外,本节包括检查您是否满足这些要求以及如果不满足时应采取的步骤。接下来,我们将研究如何检查统一审计日志记录是否已为您的组织启用。然后,我们将讨论通过Microsoft合规性门户或WindowsPowerShell启用它的步骤。

接下来,我们将探讨如何检查贵组织的统一审计日志记录是否已启用。然后,我们将讨论通过Microsoft合规门户或WindowsPowerShell启用它的步骤。

一旦审计日志记录启用后,我们将介绍如何搜索、查看和导出Office365审计日志到CSV。最后,我们将展示如何监控和分析365活动日志以提高组织的安全性。

Office 365统一审计日志记录概览。

微软365(M365)是一套基于的服务。M365中包含的一些服务有Azure Active DirectoryExchange OnlineSharePoint在线。

M365订阅中包含的服务取决于您的订阅。

现在,随着众多Office 365服务的出现,管理员面临着巨大的挑战,即监控各种服务的活动日志,以提高组织的安全性。好消息是,Microsoft Purview合规门户为Microsoft 365管理员提供了一个单一的位置来启用统一审计。

现在,您可能会想知道哪些Microsoft 365服务支持统一审计。要查看您监控的所有服务,请参阅支持审计的Microsoft 365服务页面上的列表。

Microsoft 365审计日志许可和权限。

微软提供两种版本的微软合规性审计,允许您启用、搜索和监控Microsoft 365统一审计日志。

因此,您可以根据您组织的微软合规性审计(标准版)(高级版)选择,这取决于您的组织的Microsoft 365订阅和许可

此外,需要运行审计日志报告的管理员必须被授予所需的权限。

要配置许可和用户权限要求,请按照以下步骤操作。

步骤1:确认您的组织满足订阅/用户许可要求

要访问Microsoft 365统一审核日志,您的组织必须至少拥有Microsoft 商业基础版/标准版订阅。这与Azure AD高级版P1许可证相同。

相反,要访问审计(高级)功能,您至少需要Microsoft 365企业版E5订阅。

按照以下步骤检查您分配的订阅。

1. 按照我们的文章中的步骤操作 – 如何使用PowerShell连接到Office 365 – 安装MSOnline PowerShell模块。然后,连接到Office 365。
2. 运行Get-MsolAccountSku命令以列出您的租户中可用的Microsoft 365许可证。

Get-MsolAccountSku

2. 接下来,运行以下命令以返回您的管理员分配给您的许可证。

Get-MsolUser | Where-Object { ($_.Licenses[0].AccountSkuId -eq "License_AccountSkuId") -and ($_.UserPrincipalName -eq "[email protected]" ) } | Select-Object UserPrincipalName, DisplayName -ExpandProperty Licenses

将License_AccountSkuId替换为上一条命令中的AccountSkuId(许可证名称)。同时,将[email protected]替换为您的Office 365用户主体名称(UPN)。

检查AccountSkuId属性中显示的最后一个命令的值。然后,将其与Microsoft 365许可要求进行比较。

最后,如果您的管理员分配给您的许可证被列出,请使用以下子部分的步骤检查Microsoft 365权限要求。

步骤2:确认您的帐户满足权限要求。

要查看和运行Office 365统一审计日志搜索,管理员或用户必须被分配仅查看审计日志审计日志角色在Exchange Online中。合规性管理组织管理角色组默认具有所需的权限。

此外,Office 365全局管理员组的成员默认被添加到组织管理角色组在Exchange Online中。

请按照以下步骤检查,如果一个账户具有所需的权限来启用和搜索审计日志。如果你是你的Office 365租户的全局管理员,请忽略以下步骤并继续到下一节。

1. 通过admin.exchange.microsoft.com打开Exchange Online管理中心的页面。接下来,展开角色并点击“管理角色”。
2. 在“管理角色”页面的搜索框中,输入“管理”以返回仅包含该词的角色。然后,点击合规性管理角色。

3. 在合规性管理角色弹出窗口中,点击“已分配”标签。在该标签下列出的所有用户都有权限查看搜索审计日志。

要向此角色添加用户,请点击“+ 添加”按钮 – 参见第二个截图。

4. 对组织管理角色重复步骤3。

检查您组织的审计日志记录的当前状态。

在使用Microsoft合规门户来监控Office 365活动日志以提高您组织服务的安全性之前,您必须启用审计监控。在拥有Microsoft 365和Office 365企业订阅的组织中,这是默认启用的。

然而,在某些Microsoft 365订阅中,Microsoft可能不会默认启用审计。因此,在继续之前确认您的O365租户中审计是否已启用是一个好主意。

请按照以下步骤检查当前的审计状态。

1. 按照我们连接到Exchange Online使用PowerShell的文章中的步骤,连接到您的Exchange Online租户。
2. 一旦连接到Exchange Online,

Get-AdminAuditLogConfig | Format-List UnifiedAuditLogIngestionEnabled

下面的截图显示了您需要安装Exchange Online PowerShell模块的所有命令。然后,连接并运行Get-AdminAuditLogConfig来确定,您的企业是否启用了审计。

如果Get-AdminAuditLogConfig 命令返回UnifiedAuditLogIngestionEnabled属性为True,这表明统一审计已为您的组织开启。如果返回值为False,则意味着审计未开启。

因此,从我的Get-AdminAuditLogConfig 命令结果来看,审计未开启,因为值为False。如果您的情形也是如此,请继续下一节以启用审计。

启用Office 365统一审计日志

微软提供了两种方法来启用Office 365审计日志,以监控用户活动日志,从而提高组织的安全性。具体来说,可以通过合规门户或PowerShell来实现。

使用合规门户启用审计

1. 打开- compliance.microsoft.com
2. 导航到解决方案部分,然后点击审计。或者,直接通过点击compliance.microsoft.com/auditlogsearch打开审计部分。

3. 最后,启用Microsoft 365统一审计日志,点击“开始记录用户和管理员活动”。

请注意,更改可能需要长达60分钟才能生效。

使用Windows PowerShell启用审计

如果您仍然拥有连接到Exchange Online PowerShell模块的PowerShell控制台,请运行以下命令以启用统一M365审计。您必须在运行第二个命令之前运行第一个命令。

如果您在没有先运行Enable-OrganizationCustomization命令的情况下运行Set-AdminAuditLogConfig命令,可能会收到错误消息。

Enable-OrganizationCustomization
Set-AdminAuditLogConfig -UnifiedAuditLogIngestionEnabled $true

请注意,Enable-OrganizationCustomization命令需要一段时间才能完成。此外,在启用统一审计日志记录后,可能需要长达60分钟才能生效。

然后,重新运行Get-AdminAuditLogConfig命令以确认审计登录状态。

Get-AdminAuditLogConfig | Format-List UnifiedAuditLogIngestionEnabled

如果您通过合规性门户或WindowsPowerShell成功启用了审计,则最后一个命令应返回UnifiedAuditLogIngestionEnabled为True。请参见下面的屏幕截图。

最后,您可以通过运行以下命令为您的Microsoft 365组织关闭统一审计登录。

Set-AdminAuditLogConfig -UnifiedAuditLogIngestionEnabled $false

搜索和监控Office 365审计活动日志以提升安全性

让我们探讨如何搜索相关的用户和管理员活动。

在本节中,我们将向您展示如何运行审计日志搜索并将结果导出到CSV。此外,我们还将解释如何分析导出的Office 365活动日志以提高安全性。

步骤1(2个选项中的第1个):

在合规门户中运行Office 365审计日志搜索

1. 打开Microsoft合规审计页面compliance.microsoft.com/auditlogsearch。然后,按照下面截图中的编号设置搜索条件:

(1) 日期和时间范围(UTC):审计搜索工具默认选择过去7天。

但是,您可以选择从开始日期算起最多90天的数据范围。请注意,选择超过90天将返回错误消息。

(2) 关键词搜索:如果您需要Office 365统一审计工具查找关于某个单词或短语的日志,请在此字段中输入。

(3) 活动:一个包含长列表的复选框的下拉菜单。

(4) 记录类型:搜索特定的记录类型,如Azure Active Directory。

(5) 工作负载:要通过工作负载过滤搜索条件,请点击下拉菜单并从您希望查看审计日志的Office 365服务中勾选。

(6) 用户:要筛选审计日志中的特定用户,请使用搜索条件输入他们的姓名。如果在用户字段中留空,合规门户搜索工具将返回您在Microsoft 365服务中所有用户的审计日志。

(7) 文件、文件夹或站点:通过输入其名称的部分或全部来搜索与包含特定关键字的文件或文件夹相关的活动。还允许指定文件或文件夹的URL。

(8) 搜索名称:为搜索命名,然后点击搜索。最后,要查看报告的状态,请点击刷新

步骤1(选项2之2):

使用PowerShell运行Office 365审计日志搜索

使用 PowerShell 来执行 Office 365 审计日志搜索。如果您已经使用了合规门户,则无需使用 PowerShell

1. 使用 PowerShell 连接到 Exchange Online,按顺序运行以下命令:

Install-Module -Name ExchangeOnlineManagement
Import-Module -Name ExchangeOnlineManagement
Connect-ExchangeOnline -UserPrincipalName username@DomainNAme.com #change "[email protected]" to your M365 UPN

2. 连接到 Exchange Online 后,运行 Search-UnifiedAuditLog 以搜索 Microsoft 365 统一审计日志。

此 cmdlet 的唯一必需参数是 StartDateEndDate 参数。然而,该 cmdlet 还有其他参数。

以下命令搜索过去 30 天内的所有审计日志。

$EndDate = Get-date
$StartDate = (Get-date).AddDays(-30)
Search-UnifiedAuditLog -StartDate $StartDate -EndDate $EndDate

该命令返回您使用 StartDateEndDate 参数指定的日期范围内的审计日志数据。请注意,开始日期必须早于结束日期。

步骤 2:查看和导出 Office 365 审核活动日志

将报告从合规性门户或通过 PowerShell 导出为CSV格式。

点击报告以从合规性门户导出,然后点击导出按钮。

在我们2023年5月撰写本文时,新搜索审核报告未产生任何结果。我怀疑是因为存在一个漏洞。

因此,我们使用了经典搜索。最后,要下载审核日志,点击“导出”,然后选择“下载所有结果”

另外,如果你更喜欢使用 PowerShell 导出你的 Microsoft 365 统一审核日志的结果,请使用以下脚本

该脚本包括“步骤1(2选1):使用 PowerShell 运行 Office 365 审核日志搜索”中的一些命令。

Install-Module -Name ExchangeOnlineManagement
Import-Module -Name ExchangeOnlineManagement
Connect-ExchangeOnline -UserPrincipalName "[email protected]" #change "[email protected]" to your M365 UPN
$StartDate = (Get-date).AddDays(-30)
$EndDate = Get-date
# Run the Search-UnifiedAuditLog cmdlet and store the results in a variable
$auditLogResults = Search-UnifiedAuditLog -StartDate $StartDate -EndDate $EndDate

# Convert the AuditData property of each NoteProperty object into a PowerShell object and select the desired properties
$table = $auditLogResults.AuditData | ForEach-Object {
    $auditData = ConvertFrom-Json $_
    [PSCustomObject] @{
        CreationTime = $auditData.CreationTime
        RecordType = $auditData.RecordType
        "Op Performed By" = $auditData.UserDisplayName
        "Op UserType" = $auditData.UserType
        "Op UserKey" = $auditData.UserKey
        "Op ClientIP" = $auditData.ClientIP
        Operation = $auditData.Operation
        ResultStatus = $auditData.ResultStatus
        ModifiedProperties = ($auditData.ModifiedProperties | Out-String).Trim()
    }
}

# Display the resulting table
$table | Format-Table
# Export the resulting table to a CSV file
$table | Export-Csv -Path "D:\report\auditLogResults.csv" -NoTypeInformation

# 运行 SearchUnifiedAuditLog cmdlet 并将结果存储一个变量

# 将每个 NoteProperty 对象的 AuditData 属性转换为 PowerShell 对象并选择所需的属性

# 显示结果表

# 将结果表导出到一个 CSV 文件

该脚本在 PowerShell 控制台上显示结果并将其导出到 CSV 文件。

第三步:分析 365 活动日志并将其用于提高安全性

一些组织监视 Office 365 活动日志以提高安全性,而其他组织则出于合规目的这样做导出 M365 审计日志后,下一步是对其进行分析。

我们包含了使用上述 PowerShell 脚本导出的样本报告。

  • 在使用报告改进安全性时,寻找可能导致安全漏洞的模式和潜在操作。相反,如果您需要审计日志以满足合规性目的,请搜索合规性违规的实例。
  • 另请阅读 使用条件访问策略增强 Office 365 安全性
  • 如何监控 Office 365 活动日志以改进安全性结论
  • 总之,通过监控 Office 365 活动日志,您可以增强组织的安全性。在本指南中,我们涵盖了以下内容:
  • Office 365 统一审计日志的概述,包括它支持的 Microsoft 365 服务。

Microsoft 365 审计日志的许可和权限,这些是监控 Office 365 活动日志所必需的。

Source:
https://infrasos.com/how-to-monitor-office-365-activity-logs-for-improved-security/