跳至主内容

Office 365传感器

Microsoft Office 365 平台包含 邮件 审计 传感器,这些传感器通过关于电子邮件流量和内容的数据,以及从Microsoft 365统一审计日志中检索的用户和管理员操作数据,增强了 XDR 的检测能力。

  • 邮件 传感器 访问诸如邮件项被访问、回复和转发的时间,以及用户在Exchange Online和SharePoint Online中搜索的内容和时间等事件。

  • 审计 传感器 访问在Microsoft 365服务和解决方案中执行的用户和管理员操作。这些操作被捕获、记录并保留在组织的统一审计日志中。

O365 先决条件

在将Office 365传感器平台与 GravityZone 集成之前,您必须配置 邮件 审计 传感器。

邮件传感器设置
  1. 注册 一个Microsoft Entra应用程序。

    应用程序注册的 概述 页面应显示。

  2. 为Microsoft Entra应用程序设置所需的权限:

    1. 点击 API权限 > 添加权限 .

      add_permision_cp_1416445_en.png
    2. 点击 Microsoft API > Microsoft Graph .

      microsoft-graph_cp_1416445_en.png
    3. 选择 应用程序权限 .

      app_permission_cp_1416445_en.png
    4. 选择权限 下,根据传感器集成配置需求勾选应用所需权限:

      1. 若需接收事件并直接从 GravityZone 对O365事件采取响应措施,需配置以下权限:

        • AuditLog.Read.All 。允许 XDR 传感器读取和查询审计日志活动。

        • Files.ReadWrite.All 。允许分析员直接从传感器生成的警报中删除恶意或冗余文件。

        • Mail.ReadWrite 。允许安全分析员对 XDR 事件涉及的邮件资源采取响应措施。

        • User.ReadWrite.All , User.EnableDisableAccount.All 。允许安全分析员禁用涉及 XDR 事件。

        • User.ReadWrite.All , User.RevokeSessions.All 。允许安全分析师强制重置涉及 XDR 事件的用户账户密码。

        • IdentityRiskyUser.ReadWrite.All ,用于将用户账户标记为已泄露

          重要提示

          IdentityRiskyUser.ReadWrite.All 仅当至少一名拥有Microsoft Entra应用程序的用户具有Microsoft Entra Premium P2许可证时可用。其他权限不需要Microsoft Entra Premium许可。

      2. 若您仅希望接收事件通知而不直接从 GravityZone 对O365事件采取响应措施,则以下权限已足够: AuditLog.Read.All , Mail.ReadUser.Read.All .

    5. 点击 添加权限 .

    注意

    有关添加访问Microsoft Graph权限的更多信息,请参阅 添加访问Microsoft Graph的权限 .

  3. 授予管理员同意 .

  4. 要从 GravityZone XDR 事件直接强制执行O365账户密码重置,必须为Microsoft Entra应用分配 用户管理员 角色。

    Microsoft Entra管理中心 中,导航至 角色与管理员 > 用户管理员 角色 > 添加分配 ,搜索用于 GravityZone O365邮件传感器集成的应用程序名称并分配该角色。

  5. 生成 客户端密钥值 .

注意

详细了解 邮件 传感器要求 此处 .

审核传感器设置
  1. 注册 一个Microsoft Entra应用程序。

  2. 为Microsoft Entra应用程序设置所需权限:

    1. 点击 API权限 > 添加权限 .

      add_permision_cp_1416445_en.png
    2. 点击 Microsoft API > Microsoft Graph .

      microsoft-graph_cp_1416445_en.png
    3. 选择 应用程序权限 .

      app_permission_cp_1416445_en.png
    4. 选择权限 下,根据传感器集成的配置需求,勾选应用应具备的权限:

      1. 若需接收事件并可直接从 GravityZone 对O365事件采取响应措施,请添加以下权限: User.ReadWrite.All , Files.ReadWrite.All , Sites.Read.AllIdentityRiskyUser.ReadWrite.All .

        重要说明

        IdentityRiskyUser.ReadWrite.All 仅当至少一名拥有Microsoft Entra应用程序的用户具备Microsoft Entra Premium P2许可证时方可使用。其他权限无需Microsoft Entra Premium许可。

      2. 若您仅希望接收事件通知,而不直接从 GravityZone 事件中针对O365事件采取响应措施,请添加 Sites.Read.All 权限。

    5. 点击 添加权限 .

    6. 点击 API权限 > 添加权限 .

      add_permision_cp_1416445_en.png
    7. 点击 Microsoft API > Office 365管理API .

    8. 选择 应用程序权限 .

    9. 选择权限 下,勾选该应用应具备的权限: ActivityFeed.Read , ActivityFeed.ReadDlpServiceHealth.Read .

    10. 点击 添加权限 .

  3. 授予管理员同意 .

  4. 生成 客户端密钥值 .

  5. 要从 GravityZone XDR 事件直接强制执行O365账户密码重置,必须为Microsoft Entra应用分配 用户管理员 角色。

    Microsoft Entra管理中心 中,导航至 角色和管理员 > 用户管理员 角色 > 添加分配 ,搜索用于 GravityZone O365审计传感器集成的应用程序名称并分配。

  6. 导航至 Microsoft合规性 > 审计 并开始记录用户和管理员活动。

  7. 启用 Audit.AzureActiveDirectory , Audit.Exchange , Audit.General , Audit.SharePointDLP.All 订阅,运行以下PowerShell脚本。请确保替换代码前四行的值:

    $ApplicationID = "application_id"           // @待办 替换为您的应用程序ID,例如:f5b17a13-6e4e-4c3e-81f4-51fb9a377182
    $ClientSecret = "client_secret"   // @待办 替换为您的客户端密钥,例如:UOJ7Q~YN5hkilURseLkfRN6~kTQp80Fndn9eJ
    $tenantdomain = "tenant_domain"   // @待办 替换为您的租户域名,例如:tenantname.onmicrosoft.com
    $TenantGUID = "tenant_guid"		  // @待办 替换为您的租户GUID,例如:ac593d47-7293-47ed-a8fc-c5824d38673a
    
    
    $body = @{grant_type="client_credentials";resource="https://manage.office.com";client_id=$ApplicationID;client_secret=$ClientSecret}
    $oauth = Invoke-RestMethod -Method Post -Uri "https://login.microsoftonline.com/$TenantGUID/oauth2/token?api-version=1.0" -Body $body
    $headerParams = @{'Authorization'="$($oauth.token_type) $($oauth.access_token)"}
    
    $p = @{
        "webhook"= $null
    }
    
    Invoke-WebRequest "https://manage.office.com/api/v1.0/$TenantGUID/activity/feed/subscriptions/start?contentType=Audit.AzureActiveDirectory" -Headers $headerParams -Method POST -Body $p -UseBasicParsing
    Invoke-WebRequest "https://manage.office.com/api/v1.0/$TenantGUID/activity/feed/subscriptions/start?contentType=Audit.Exchange" -Headers $headerParams -Method POST -Body $p -UseBasicParsing
    Invoke-WebRequest "https://manage.office.com/api/v1.0/$TenantGUID/activity/feed/subscriptions/start?contentType=Audit.SharePoint" -Headers $headerParams -Method POST -Body $p -UseBasicParsing
    Invoke-WebRequest "https://manage.office.com/api/v1.0/$TenantGUID/activity/feed/subscriptions/start?contentType=Audit.General" -Headers $headerParams -Method POST -Body $p -UseBasicParsing
    Invoke-WebRequest "https://manage.office.com/api/v1.0/$TenantGUID/activity/feed/subscriptions/start?contentType=DLP.All" -Headers $headerParams -Method POST -Body $p -UseBasicParsing

注意

系统可能需要长达24小时进行同步并发送数据。

了解更多关于 审计 传感器要求 此处 .

设置Office 365传感器

要配置 邮件 审计 传感器,请按以下步骤操作:

  1. 配置 > 传感器管理 页面,点击 添加新传感器 以集成新的传感器平台。

  2. 选择 Office 365 传感器平台并点击 集成 .

  3. 检查要求 页面,确认已完成先决条件步骤。

  4. 为传感器集成命名。

  5. 填写您的Office 365凭据: 应用程序ID , 租户ID 客户端密钥 值。

  6. 点击 测试连接 以确保Office 365平台与 GravityZone 之间的链路正常工作。

    O365 sensor setup
  7. 点击 应用 保存传感器集成设置。

    新集成将出现在 传感器管理 网格中,状态显示为: 激活 .

故障排除

若集成未成功,可使用以下PowerShell命令启用下列订阅:

  • Audit.AzureActiveDirectory

  • Audit.Exchange

  • Audit.General

  • Audit.SharePoint

  • DLP.All

替换代码前四行中的值并运行脚本:

$ApplicationID = "application_id"           // @todo 替换为您的应用程序ID,例如:f5b17a13-6e4e-4c3e-81f4-51fb9a377182
$ClientSecret = "client_secret"   // @todo 替换为您的客户端密钥,例如:UOJ7Q~YN5hkilURseLkfRN6~kTQp80Fndn9eJ
$tenantdomain = "tenant_domain"   // @todo 替换为您的租户域名,例如:tenantname.onmicrosoft.com
$TenantGUID = "tenant_guid"		  // @todo 替换为您的租户GUID,例如:ac593d47-7293-47ed-a8fc-c5824d38673a


$body = @{grant_type="client_credentials";resource="https://manage.office.com";client_id=$ApplicationID;client_secret=$ClientSecret} 
$oauth = Invoke-RestMethod -Method Post -Uri "https://login.microsoftonline.com/$TenantGUID/oauth2/token?api-version=1.0" -Body $body
$headerParams = @{'Authorization'="$($oauth.token_type) $($oauth.access_token)"}

$p = @{
    "webhook"= $null
}

Invoke-WebRequest "https://manage.office.com/api/v1.0/$TenantGUID/activity/feed/subscriptions/start?contentType=Audit.AzureActiveDirectory" -Headers $headerParams -Method POST -Body $p -UseBasicParsing 
Invoke-WebRequest "https://manage.office.com/api/v1.0/$TenantGUID/activity/feed/subscriptions/start?contentType=Audit.Exchange" -Headers $headerParams -Method POST -Body $p -UseBasicParsing 
Invoke-WebRequest "https://manage.office.com/api/v1.0/$TenantGUID/activity/feed/subscriptions/start?contentType=Audit.SharePoint" -Headers $headerParams -Method POST -Body $p -UseBasicParsing 
Invoke-WebRequest "https://manage.office.com/api/v1.0/$TenantGUID/activity/feed/subscriptions/start?contentType=Audit.General" -Headers $headerParams -Method POST -Body $p -UseBasicParsing 
Invoke-WebRequest "https://manage.office.com/api/v1.0/$TenantGUID/activity/feed/subscriptions/start?contentType=DLP.All" -Headers $headerParams -Method POST -Body $p -UseBasicParsing