Office 365 模块编辑

此功能处于测试阶段,如有更改,恕不另行通知。设计和代码的成熟度低于正式的 GA 功能,并且按原样提供,不提供任何担保。测试版功能不受正式 GA 功能支持 SLA 的约束。

这是一个用于接收通过 Office 365 API 端点之一接收的 Office 365 日志的模块。它目前支持来自 Office 365 管理活动 API 公开的 Office 365 和 Azure AD 活动日志的用户、管理员、系统和策略操作和事件。

运行此模块需要ingest-geoipingest-user_agent Elasticsearch 插件。

阅读快速入门,了解如何配置和运行模块。

配置模块编辑

您可以通过在 modules.d/o365.yml 文件中指定变量设置或在命令行覆盖设置,进一步优化 o365 模块的行为。

您必须在模块中至少启用一个文件集。 默认情况下,文件集处于禁用状态。

变量设置编辑

每个文件集都有单独的变量设置,用于配置模块的行为。如果您没有指定变量设置,则 o365 模块将使用默认值。

对于高级用例,您还可以覆盖输入设置。请参阅覆盖输入设置

当您在命令行指定设置时,请记住在设置前加上模块名称,例如,使用 o365.audit.var.paths 而不是 audit.var.paths

audit 文件集设置编辑

audit 文件集使用 Office 365 管理活动 API 从 Office 365 和 Azure AD 活动日志中检索审计消息。这些日志与“安全与合规性中心”的“审计日志搜索”下提供的日志相同。

设置编辑

要使用此文件集,您需要启用审计日志搜索并在Azure AD 中注册应用程序

注册此应用程序后,请记下“应用程序(客户端)ID”和“目录(租户)ID”。然后在“证书和机密”部分中配置身份验证。

使用客户端机密身份验证的示例配置 o365.yml

  audit:
    enabled: true
    var.application_id: "<My Azure AD Application ID>"
    var.tenants:
      - id: "<My Tenant ID>"
        name: "mytenant.onmicrosoft.com"
    var.client_secret: "<My client secret>"

基于证书的身份验证在监控多个租户时特别有用。示例配置

  audit:
    enabled: true
    var.application_id: "<My Azure AD Application ID>"
    var.tenants:
      - id: "<Tenant A ID>"
        name: "tenantA.onmicrosoft.com"
      - id: "<Tenant B ID>"
        name: "tenantB.onmicrosoft.com"
    var.certificate: "/path/to/certificate.pem"
    var.key: "/path/to/private_key.pem"
    var.key_passphrase: "my_passphrase" # (optional) for encrypted keys

最后,您需要在“API 权限”部分添加权限并授予管理员同意。单击“添加权限”并选择“Office 365 管理 API”。所需的权限为

  • User.Read
  • ActivityFeed.Read
  • ActivityFeed.ReadDlp
  • ServiceHealth.Read
filebeat o365 azure permissions

添加所需的权限后,单击“授予管理员同意”按钮。请注意,所需的权限可能需要一段时间才能生效,因此您可能会在立即运行 Filebeat 时观察到一些权限错误。

备用端点编辑

此模块支持用于本地部署的自定义端点以及备用端点(GCC 高端点、美国国防部、欧盟等)。为了将模块指向备用端点,您需要相应地调整 authentication_endpointresource 变量。例如

    var.api:
      # default is https://login.microsoftonline.com/
      authentication_endpoint: https://login.microsoftonline.us/
      # default is https://manage.office.com
      resource: https://manage.office365.us
配置选项编辑
var.application_id
Azure 应用程序的应用程序 ID(也称为客户端 ID)。
var.tenants
一个或多个租户 ID 和名称对的列表。将 id 字段设置为租户 ID(也称为目录 ID)。将名称设置为租户的主机名,即您组织的 Office 365 域。
var.client_secret
用于对您的 Azure AD 应用程序进行身份验证的客户端机密 (api_key)。此选项不能与 var.certificate 选项同时指定。
var.certificate
用于客户端身份验证的证书文件的路径。此选项不能与 var.client_secret 选项同时指定。
var.key
用于客户端身份验证的私钥文件的路径。
var.key_passphrase
用于解密存储在已配置的 var.key 文件中的加密密钥的密码。仅当密钥已加密时才设置此选项。
var.content_type

要订阅的内容类型列表。默认情况下,它会订阅所有已知的内容类型

  • Audit.AzureActiveDirectory
  • Audit.Exchange
  • Audit.SharePoint
  • Audit.General
  • DLP.All
高级配置选项编辑

以下配置选项仅在出现问题时才建议使用。它们必须嵌套在单个 var.api 键下,如下所示

    var.api:
      authentication_endpoint: https://login.microsoftonline.com/
      resource: https://manage.office.com
      max_retention: 168h
      poll_interval: 3m
      max_requests_per_minute: 2000
      max_query_size: 24h
var.api.authentication_endpoint
用于对 Azure 应用进行授权的身份验证端点。默认情况下为 https://login.microsoftonline.com/,可以更改以访问备用端点。
var.api.resource
要从中检索信息的 API 资源。默认情况下为 https://manage.office.com,可以更改以访问备用端点。
var.api.max_retention
支持的最大数据保留期。默认值为 168h。Filebeat 在首次运行时将获取租户的所有保留数据。默认值为 7 天,这与 Microsoft 在删除日志之前保留日志的标准期限相匹配。仅当您的租户的保留期更长时才增加此值。
var.api.poll_interval
在轮询 API 服务器以获取新事件之前等待的时间间隔。默认值为 3m
var.api.max_requests_per_minute
每个租户每分钟要执行的最大请求数。默认值为 2000,因为这是每个租户的服务器端限制。
var.api.max_query_size
API 在单个查询中允许的最大时间窗口。默认为 24h,以匹配 Microsoft 记录的限制。

示例仪表板编辑

此模块附带一个示例仪表板

filebeat o365 audit

字段编辑

有关模块中每个字段的描述,请参阅导出字段部分。