Office 365 模块

编辑

此功能处于测试阶段,可能会发生更改。其设计和代码不如正式 GA 功能成熟,按“原样”提供,不提供任何担保。测试功能不受正式 GA 功能的支持 SLA 约束。

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

需要 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 High 端点、美国国防部、欧盟等)。为了将模块指向备用端点,您需要相应地调整 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

字段

编辑

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