跳至主内容

Office 365传感器

Microsoft Office 365 平台包含 邮件 审计 传感器,可增强 扩展检测与响应 通过从Microsoft 365统一审核日志中获取的电子邮件流量与内容数据、用户及管理员操作数据来增强检测能力。

  • 邮件 传感器 可捕获以下事件:邮件项被访问、回复和转发的时刻,以及用户在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.SharePoint ,以及 DLP.All 订阅,请运行以下PowerShell脚本。请确保替换代码前四行中的值:

    $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

注意

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

了解更多关于 审计 传感器要求 的信息 .

设置Office 365传感器

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

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

  2. 选择您希望部署传感器的公司。

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

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

  5. 为您的传感器集成命名。

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

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

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

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

故障排除

如果集成不成功,您可以使用以下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