Azure AD 审计:启用和配置审计日志

Azure AD 审计:启用和配置审计日志。在当今快速发展的数字化环境中,数据泄露和网络威胁不断增加,建立健壮的安全措施对组织至关重要。好在,Azure Active Directory(Azure AD)提供了一套全面的工具来加强安全性,其中一个关键方面就是审计。通过在 Azure AD 中启用和配置审计日志以及 Microsoft Graph 活动日志,企业可以深入了解用户活动、潜在漏洞和法规遵从情况。本文深入探讨了开始使用 Azure AD 审计的重要性,突出了这些日志如何有助于建立积极有效的安全姿态。

Azure AD 审计:启用和配置审计日志

当用户身份验证到Azure Active Directory以访问特定服务,例如Office 365或另一个SaaS应用程序时,会尝试进行Azure AD的身份验证工作流。第一部分是评估用户是否在指定的租户内,如果不在,则将用户路由到正确的目录租户。接下来,它确定组成员资格和密码。所有身份验证尝试,无论是否通过或失败,都将被记录。

然后有条件访问策略,我们评估以确定用户访问的设置类型或是否应阻止。在Azure Active Directory中,一些审计日志默认存储在本地Azure AD数据库中。Azure AD登录的日志条目如下所示。

注意: Azure AD登录活动还涉及另外两个属性,即设备信息条件访问策略。

日志条目

由于此日志条目表明一个特定的用户使用 Azure PowerShell 客户端登录到 Azure,并且没有应用任何我们应用的条件访问策略。需要考虑的最重要的事情是:

1. 如果成功认证,流量是否来自已知位置和设备?
2. 如果认证失败,失败的原因是什么?

系统记录这些事件,我们可以通过活动来检查。然而,请注意,默认情况下,我们将所有这些日志存储在 Azure AD 数据库中,并且这些日志的保留取决于我们为 Azure AD(P1 或 P2)拥有何种许可证。但是,我们还有选项来定义诊断,将日志导出到 Azure AD 之外,并导入到 日志分析工作区

注意:我们的组织需要 Azure AD P1 或 P2 许可证才能导出登录数据。

Azure AD 日志来源

在不断发展变化的数字安全领域,确保敏感数据的保护和维护强大的网络安全姿态已成为组织的首要目标。不同的日志来源记录了一些其他数据集:

  • 审计日志:这些日志记录了在 Azure AD 中进行的各种管理操作和更改,如用户和组管理、应用分配和策略修改,为管理您的目录提供了洞见。

  • 登录日志:它们跟踪认证活动,捕获用户、应用程序和服务主体的成功和失败的登录尝试的详细信息,有助于检测未经授权的访问或可疑行为。

  • 非交互式用户登录日志: 这些日志关注用户的非交互式(程序化)登录,通常出现在自动化流程或脚本中,提供了对服务帐户和自动化活动的可见性。

  • 服务主体登录日志: 它们专门跟踪服务主体的登录活动,这些是应用程序用于访问资源的身份。监控这些日志有助于识别异常行为或应用程序身份潜在的误用。

  • 托管标识登录日志:被Azure资源用于与Azure AD进行身份验证。这些日志记录了托管标识的登录活动,有助于理解资源级别的访问模式。

  • 配置日志:提供了关于本地目录和Azure AD之间的用户组同步活动的见解,有助于确保数据的一致性和准确性。

  • ADFS登录日志:Active Directory联合身份验证服务(ADFS)日志跟踪通过联合身份验证的登录尝试,提供有关用户在联合环境中访问资源的信息,并有助于监视外部访问模式。

审计日志的重要性每种日志类型在 Azure AD 环境中扮演着不同的角色,增强安全性、监控活动并保持合规性。如果我们将日志移动到具有Sentinel的 Log Analytics,我们还可以选择创建分析查询,在出现可疑行为时自动触发警报。

注意:您还可以选择将数据导出到Azure 存储账户Azure 事件中心。例如,我们定义多个导出流以将数据发送到各个工作区。首先,我们需要了解我们记录的不同事件 ID也可阅读 Get-AzureADAuditSignInLogs – 查找过去 30 天的登录日志 PowerShell

监控Azure AD的最佳实践

Log Analytics和Azure Sentinel使用 Kusto 查询来分析数据。Kusto是一种只读查询语言,作为门户的一部分具有出乎意料的良好可视化效果。我们创建了一些不同的规则。我们使用搜索规则来探索(但不是定期运行);第二种是按预定义时间表运行的分析规则。

我们通常使用的搜索规则的一个例子是一个简单的规则,用于确定我们登录的位置。

SigninLogs
| summarize count() by Location

另一个很好的例子是显示对Azure AD的 登录尝试失败,其中错误代码是 5012650020

SigninLogs
| where ResultType in ("50126", "50020")
| extend OS = DeviceDetail.operatingSystem, Browser = DeviceDetail.browser
| extend StatusCode = tostring(Status.errorCode), StatusDetails = tostring(Status.additionalDetails)
| extend State = tostring(LocationDetails.state), City = tostring(LocationDetails.city)
| summarize StartTime = min(TimeGenerated), EndTime = max(TimeGenerated), IPAddresses = makeset(IPAddress), DistinctIPCount = dcount(IPAddress),
makeset(OS), makeset(Browser), makeset(City), AttemptCount = count()
by UserDisplayName, UserPrincipalName, AppDisplayName, ResultType, ResultDescription, StatusCode, StatusDetails, Location, State
| extend timestamp = StartTime, AccountCustomEntity = UserPrincipalName
| Sort by AttemptCount

这里,不同的例子是查看失败的MFA身份验证尝试的用户。

SigninLogs
| where TimeGenerated >= ago(31d)
| where ResultType == "50074"

另一个例子是查看外部来宾用户和对 条件访问策略 进行的更改。

AuditLogs
| where Category == "UserManagement"
| where OperationName == "Invite external user" or OperationName == "Redeem external user invite"
AuditLogs | where Category == "Policy" |
 project ActivityDateTime, ActivityDisplayName , TargetResources[0].displayName, InitiatedBy.user.userPrincipalName

请注意,这些并不是我们通过Kusto执行的唯一查询。

使用 Microsoft Graph 活动日志的新 Azure AD 审计日志

微软引入了新的 Azure AD 审计日志。我们使用日志分析工作区将这些日志存储到日志分析工作区。2023年3月14日引入了 Azure Active Directory 诊断设置中的新 Microsoft Graph 活动日志引入了一个名为MicrosoftGraphActivityLogs的新日志,以及其他列出的日志文件。

特别是,这些日志文件提供了有关API请求发送到租户中的Microsoft Graph资源的详细信息。EnrichedOffice365AuditLogs是另一个非常有助于故障排除的令人兴奋的日志文件。幸运的是,Azure Active Directory(Azure AD)诊断设置允许我们配置日志和指标以便监视和分析Azure AD中的活动租户

当我们创建诊断设置时,我们会指定要收集的数据类型,例如审计日志、登录日志或目录日志,以及要发送数据的位置,例如存储账户、事件中心或日志分析工作区。 Microsoft Graph 活动日志全面记录了针对 Azure AD 租户内资源的 Microsoft Graph API 请求。因此,这些日志提供了有关 请求的性质的详细信息,包括发起请求的用户或 应用程序、我们访问的资源以及采取的具体操作。

新 Azure AD 审计日志概述

Microsoft Graph活动日志使管理员和开发人员能够监控和分析其租户内Microsoft Graph的使用模式。此外,我们还帮助识别潜在问题或异常,跟踪应用程序和用户的性能,并优化资源的使用。

Microsoft引入了新的Azure AD日志,如下所示。我们将此数据发送到我们选择的Log Analytics工作区。我们的组织需要Azure AD P1或P2许可证来导出登录数据:

  1. NetworkAccessTrafficLogs
  2. RiskyServicePrincipals
  3. ServicePrincipalRiskEvents
  4. EnrichedOffice365AuditLogs
  5. MicrosoftGraphActivityLogs

Microsoft Graph活动日志

总体上,MicrosoftGraphActivityLogs充当着管理和监控Microsoft强大的诊断工具Graph使用情况。我们在下面的列表和截图中展示了解决方案MicrosoftGraphActivityLogs的类别和

  • 类别
    • 审计类别:记录管理员更改,合规性
    • 安全类别:监视登录和访问,帮助威胁检测。
  • 解决方案
    • 日志管理解决方案:优化安全实践,赋予主动响应能力。

请参考官方的Microsoft文档,了解Microsoft Graph活动日志的列和属性的完整列表。

Azure Active Directory(Azure AD)中的Microsoft Graph活动日志

使用诊断设置配置的资源的平台日志和指标的流式导出。最多可以创建五个诊断设置,将日志和指标发送到各自的目标。

  • 在Azure门户中导航到Azure AD 选项卡
  • 从左侧菜单中选择诊断设置 
  • 诊断设置显示新的Microsoft Graph活动日志

诊断设置用于Microsoft Graph活动日志

点击添加诊断设置截图上方的链接来配置Microsoft Graph活动日志。Microsoft Graph活动日志与其他Azure AD诊断工具结合使用,以确保我们的Azure AD环境的安全和可靠性。

Azure AD审计:启用和配置审计日志结论

总之,对于寻求提高安全性和合规性的组织来说,通过启用和配置审计日志以及Microsoft Graph活动日志来采用Azure AD审计是至关重要的。这些日志为跟踪用户活动、检测威胁和满足法规标准提供了宝贵洞察。通过利用这些日志,组织可以主动提高其安全策略,尽管持续监控和了解Azure AD功能仍然对于持续有效性至关重要。

Source:
https://infrasos.com/azure-ad-auditing-enabling-and-configuring-audit-logs/