Oracle Fusion Cloud Applications 审计事件与 SIEM 平台集成

安全团队需要集中查看跨企业软件即服务 (SaaS) 平台的身份验证活动、特权操作、访问更改和敏感业务事务处理。

Oracle Fusion Cloud Applications 可生成丰富的审计事件,以支持安全监视、合规性报告、监管审查和安全调查。然而,面临的挑战不仅是从 Fusion Applications 中提取审计记录,而且还可以在不创建紧密耦合集成的情况下将审计记录可靠地交付到下游监视、归档和分析平台。

此架构演示了 Oracle Cloud Infrastructure Streaming 如何成为将 Fusion Applications 审计数据与 Splunk 等安全信息和事件管理 (SIEM) 平台集成的中心事件主干,同时还支持归档和其他下游使用者。单个 OCI Streaming 流可以同时支持多个独立使用者,包括 SIEM 集成、分析平台和 OCI Object Storage 归档管道。

功能架构

此架构使用 OCI Streaming 作为中心事件主干,将 Fusion Applications 审计事件与 Splunk SIEM 集成。

下图说明了此功能体系结构。


后面是 integration-fusion-cloud-audit-siem-platform.png 的说明
插图 integration-fusion-cloud-audit-siem-platform.png 的说明

集成融合 - 云 - 审计 -siem- 平台 -oracle.zip#GUID-0AAB6818-A850-45E9-93D8-B87C2D20FCD3

Fusion Applications 生成审计和安全事件,而 Oracle Integration 将提取、转换这些事件并将其发布到 OCI Streaming 中。这创建了一个分离的体系结构,其中 Fusion Applications 事件发布与下游归档和 SIEM 摄取职责分离。

OCI Streaming 中,该架构支持三个独立的路径。
  • 事件归档:将审计事件存储在 OCI 对象存储存储桶中,以进行保留、合规和后续调查。
  • 事件推送:使用 OCI Connector HubOCI Functions 向 Splunk 发送事件,在该函数中,该函数通过 HTTP 事件收集器 (HTTP Event Collector,HEC) 对有效负载进行解码、规范化和转发到 Splunk。
  • Event Pull(事件提取):支持消费者驱动的模式,兼容 Kafka 的消费者从 OCI Streaming 读取数据并使用 Splunk Sink Connector 将事件转发到 Splunk HEC。

总体而言,此设计允许 Fusion 审计事件一次发布到 OCI Streaming 中,用于多种目的,包括长期归档、近乎实时的 SIEM 转发以及可扩展的消费者驱动的 Splunk 摄取。这可改善关注点分离,支持独立扩展,并防止 Fusion Applications 提取过程与 Splunk 可用性或摄取行为紧密耦合。

此体系结构包含以下组件:

  • OCI 功能

    Oracle Cloud Infrastructure Functions 是一个完全托管、多租户、高度可扩展、按需提供的函数即服务 (FaaS) 平台。它由 Fn Project 开源引擎提供支持。使用 OCI Functions ,您可以部署代码,直接调用代码或触发代码以响应事件。OCI Functions 使用 Oracle Cloud Infrastructure Registry 中托管的 Docker 容器。

  • 适用于 SaaS 的 Oracle Integration

    Oracle Integration 是一个完全托管的预配置环境,允许您集成云和内部部署应用、自动执行业务流程以及开发可视化应用。它使用符合 SFTP 的文件服务器来存储和检索文件,并允许您使用数百个适配器和配方组合与 Oracle 和第三方应用程序连接,以与企业对企业贸易合作伙伴交换文档。

    Oracle Integration for SaaS 是 Oracle Integration 的简化版本,为您提供 Oracle Integration 的特性和优势,重点关注 SaaS。

  • Kafka 流

    Kafka Streams 是一个用于构建应用和微服务的客户端库,其中输入和输出数据存储在 Kafka 集群中。它将编写和部署标准 Java 和 Scala 应用程序在客户端的简单性与 Kafka 的服务器端集群技术的优势相结合。

  • OCI 对象存储

    OCI Object Storage 可访问任意内容类型的大量结构化和非结构化数据,包括数据库备份、分析数据以及图像和视频等丰富内容。您可以安全地直接从应用或云平台内存储数据。您可以扩展存储,而不会出现性能或服务可靠性下降的情况。

    将标准存储用于您需要快速、立即和频繁访问的“热”存储。将归档存储用于长期保留且很少或很少访问的“冷”存储。

  • OCI 流处理

    Oracle Cloud Infrastructure Streaming 提供了一个完全托管、可扩展且持久性的存储解决方案,可以摄取连续的大量数据流以供您实时访问和处理。您可以使用 OCI Streaming 摄取大量数据,例如应用日志、运营遥测、Web 点击流量数据;或者在发布 - 订阅信息传递模型中连续生成和处理数据的其它用例。

  • OCI 连接器中心

    Oracle Cloud Infrastructure Connector Hub 是一个消息总线平台,用于在 OCI 上的服务之间协调数据移动。您可以使用连接器将数据从源服务移动到目标服务。连接器还允许您在将数据传送到目标服务之前指定要对数据执行的任务(例如函数)。

    您可以使用 OCI Connector Hub 为安全信息和事件管理 (SIEM) 系统快速构建日志记录聚合框架。

推荐

使用以下建议作为起点。

您的要求可能有所不同。

Oracle Integration

  • 使用 Oracle Integration 作为 Fusion Applications 审计提取、转换和发布到 OCI Streaming 的编排层。将集成与下游 SIEM 或归档系统松散耦合,因此对 Splunk、 Kafka ConnectOCI Object Storage 管道的更改不需要对 Fusion Applications 提取流进行更改。
  • 使用安排的集成进行增量审计提取。使用检查点或等效的状态跟踪机制实施增量提取模式。在每次成功运行后存储并推进检查点,例如上次成功的审计结束日期。这有助于防止审计收集中的差距,同时减少对已提取的审计记录的重复处理。
  • 外部化配置值,例如产品、业务对象类型、审计间隔、运行模式、流名称和 Fusion Applications API 端点。请勿在集成流中对这些值进行硬编码,以便您可以对人力资本管理 (Human Capital Management,HCM)、企业资源计划 (Enterprise Resource Planning,ERP)、供应链管理 (Supply Chain Management,SCM) 和其他 Fusion Applications 审计事件类型重复使用相同的集成模式。
  • Oracle Integration 中配置故障处理。单独捕获失败的 API 调用、转换错误和发布故障,以便可以重放失败的审计窗口,而无需手动重新处理整个审计历史记录。

OCI 流处理

OCI Streaming 作为体系结构的持久事件主干,可将 Fusion Applications 审计提取与下游使用者分离。OCI Streaming 提供了与 Kafka 兼容的接口,允许现有的 Kafka 生态系统组件(例如 Kafka Connect )直接使用事件,而无需使用自我管理的 Apache Kafka 集群。这使组织能够重用基于 Kafka 的现有集成,同时受益于完全托管的 OCI Streaming 服务。发布到流的审计事件可以由无服务器集成、兼容 Kafka 的使用者和归档管道独立使用,从而提供重放功能、使用者隔离、可扩展的事件分发,并支持将来的集成和长期保留。

  • 在创建流之前,请仔细选择流分区计数。考虑预期吞吐量、分区键策略以及使用者如何在创建流之前读取流。
  • 为审计事件选择适当的分区键策略。例如,在该逻辑组中需要排序时,请使用稳定键,例如源应用程序、产品、业务对象类型或租户标识符。避免对所有消息使用单个静态键,因为它可以将流量集中在一个分区上。
  • 根据操作重放要求设置流保留。OCI Streaming 保留和分区限制是创建时设计的注意事项。对于审计管道,大小保留可以满足预期的 SIEM 停机、维护窗口和重新处理需求。
  • 当需要在不同的审计域、环境或敏感级别之间进行隔离时,请使用单独的流或流池。

OCI 连接器中心

  • 当您需要管理流数据移动到下游 Oracle Cloud Infrastructure 目标(例如 OCI FunctionsOCI Object Storage )时,可使用 OCI Connector HubOCI Connector Hub 是一个集中位置,可用于定义、运行和监视 OCI 服务之间的数据移动。
  • 为不同的目的创建单独的连接器。例如,使用一个连接器(从 OCI StreamingOCI Functions )进行 SIEM 转发,使用另一个连接器(从 OCI StreamingOCI Object Storage )进行原始审计归档。
  • 监视 OCI Connector Hub 度量并为写入目标的连接器错误和消息配置预警。

OCI 功能

  • 使用 OCI Functions 主要在 OCI Streaming 和下游 SIEM 平台之间进行转换、规范化、扩充和协议调整。如果您希望在 OCI Streaming 和 Splunk HEC 之间建立无服务器处理层,请使用 OCI Functions 进行基于推送的 SIEM 集成。
  • 使 OCI Functions 保持逻辑集中和无状态。该函数执行解码、验证、规范化、扩充和转发,并且不会在函数内存储持久状态。使用流偏移、 OCI Object Storage 归档或外部元数据存储来满足重放和恢复要求。
  • OCI Vault 或安全密钥管理机制中存储 Splunk HEC 令牌和其他敏感配置。不在函数源代码、部署文件或日志中硬编码身份证明。
  • 启用函数日志并包括相关字段,例如流名称、分区、偏移、源产品、事件类型和传送状态。这有助于排除 Fusion ApplicationsOracle IntegrationOCI StreamingOCI Connector Hub 、函数和 Splunk 中的故障。

Kafka 连接

  • 当您的组织已经运行 Kafka 基础设施并具有 Kafka 运营专业知识或现有 Kafka Connect 平台时,请使用 Kafka Connect
  • 在生产环境中,将 Kafka Connect 作为托管服务而不是非托管 shell 进程运行。配置重新启动策略、集中式日志记录、监视和预警。
  • 对 Splunk HEC 使用安全传输层安全 (Transport Layer Security,TLS) 配置。不要禁用生产环境中的 SSL 证书验证。
  • 根据事件量、Splunk 摄取限制、重试行为以及停机后的预期恢复时间,调整 Kafka Connect 任务和 worker 基础设施的大小。将专用 OCI Compute 实例用于大容量审计管道。

Splunk 和 SIEM 集成

  • 在摄取到 Splunk 之前对审计事件进行规范化。包括一致的字段,例如源系统、产品、业务对象、事件类型、用户、时间戳、操作、对象标识符和原始有效负载参考。这样可以更轻松地在仪表盘或检测中搜索、关联和使用事件。
  • 将专用 Splunk 源、sourcetype 和索引值用于 Fusion Applications 审计事件。
  • Splunk HEC 故障的计划。实施重试处理、超时处理和清除错误日志记录。对于高保证审计管道,请在 OCI StreamingOCI Object Storage 中保留原始事件,以便可以重放失败的 SIEM 传送。
  • 避免向 SIEM 发送不必要的敏感字段。根据组织的隐私、合规性和数据最小化策略的要求,应用现场级筛选、屏蔽或标记化。

OCI Object Storage 归档

  • 使用 OCI Object Storage 作为原始审计事件的长期记录系统。
  • 为审计归档存储桶定义生命周期策略。对象生命周期管理可以根据生命周期规则将对象移至其他存储层或删除支持的资源。使用此功能可根据法规、法医和成本要求调整保留率。
  • 按日期、源、产品和环境对归档的对象进行分区。
  • 审计档案通常包含敏感的用户、角色和业务对象活动,因此限制对安全运营、合规性和授权调查团队的访问。

OCI 身份与访问管理 ( OCI IAM) 和访问控制

  • 对每个组件使用最小特权 OCI IAM 策略。使用动态组作为将计算实例和其他资源分组为主角色的一种方式,以便它们可以进行 OCI API 调用。对函数、基于计算的 Kafka Connect 员工以及 OCI Connector Hub 访问(如果适用)使用动态组和策略。
  • 使用单独的凭证进行 Fusion Applications API 访问、 OCI Streaming 访问和 Splunk HEC 访问。定期轮换凭证,避免在开发、测试和生产环境中共享一个凭证。

监视和操作

  • 在整个管道中创建端到端健康检查: Fusion Applications API 提取、Oracle Integration 计划运行状态、流发布速率、流使用者滞后、服务连接器交付、功能执行、 Kafka Connect 连接器状态、Splunk HEC 响应和 OCI Object Storage 归档。
  • 使用 OCI LoggingOCI Monitoring 实现运营可见性。OCI Logging 提供了可搜索的日志和日志组,可用于组织日志和应用 OCI IAM 策略。对失败的 Oracle Integration 运行、 OCI Connector Hub 错误、 OCI Functions 错误、 Kafka Connect 故障以及事件卷的突然删除使用预警。
  • 跟踪技术和业务级指标。

数据治理和合规性

  • 在将 Fusion Applications 审计事件传送到下游之前对其进行分类。事件可以包括用户活动、特权操作、角色更改、个人身份信息 (Personally Identifiable Information,PII) 更新和业务对象更改,因此只有当下游使用者的授权与数据敏感性匹配时才会批准下游使用者。
  • 分别为 OCI Streaming 、Splunk 和 OCI Object Storage 定义保留。OCI Streaming 保留用于短期重放,Splunk 保留用于检测和调查, OCI Object Storage 保留用于合规性和长期审计证据。

注意事项

部署此参考体系结构时,请考虑以下几点。

选择集成模式

使用以下要求选择集成模式:

要求 推荐模式
无服务器 OCI 原生集成 推送模型
现有的 Kafka 生态系统 拉式模型
最低运营开销 推送模型
现有 Kafka 运营团队 拉式模型
最快的实施 推送模型
企业 Kafka 标准化 拉式模型

性能

  • 根据预期的 Fusion Applications 审计事件卷、峰值提取窗口和下游使用者吞吐量调整 OCI Streaming 分区大小。
  • 需要在逻辑组内进行排序时,请使用稳定的分区键,例如 Fusion Applications 产品、业务对象或租户标识符。
  • 优化 Oracle Integration 计划和批处理大小,以避免 Fusion Applications API 调用过多,同时仍符合审计延迟要求。
  • 监视 OCI FunctionsKafka Connect 和 SIEM 摄取的消费者滞后,提前检测下游瓶颈。
  • Oracle IntegrationOCI Functions 中保持转换逻辑轻量级。尽可能使用下游分析或 SIEM 工具进行复杂扩充。

安全

  • Oracle IntegrationOCI StreamingOCI Connector HubOCI FunctionsOCI Object StorageKafka Connect Worker 使用最少权限的 OCI IAM 策略。
  • OCI Vault 或批准的密钥管理服务中存储 Splunk HEC 令牌、 Fusion Applications 凭证和其他密钥。不对集成、函数、连接器配置或日志中的密钥进行硬编码。
  • 限制对原始审计归档文件的访问,因为 Fusion Applications 审计事件可以包含敏感的用户活动、角色更改和业务对象更改。
  • 使用 Oracle Cloud Guard 、安全区域、网络安全组 (NSG) 和日志记录策略来检测配置错误并强制实施安全优秀实践。

可用性

  • 通过将事件保留在 OCI Streaming 中足够长的时间来覆盖 SIEM 停机、维护窗口和下游故障,进行重放。
  • 将原始审计事件归档到 OCI Object Storage ,以便在 Splunk、 Kafka ConnectOCI Functions 失败时可以重新处理事件。
  • Fusion Applications API 调用、流发布、函数传送和 Splunk HEC 摄取配置重试、超时和死信处理模式。
  • 在高可用性 OCI 服务中部署生产资源并使用区域子网(如果适用)。

成本

  • 根据实际的合规性和运营要求,选择流保留、分区计数、 OCI 对象存储保留和 Splunk 摄取卷。
  • 避免向 Splunk 发送不必要的审计字段或重复事件。
  • 使用 OCI Object Storage 生命周期策略可将较早的审计归档文件移至成本较低的存储层,或者在所需的保留期后将其删除。
  • 监视 OCI Functions 执行时间、流处理吞吐量、 Kafka Connect 计算使用情况以及 OCI Object Storage 的增长。
  • 隔离开发、测试和生产管道,以便非生产环境在适当的情况下使用更小的流大小、更短的保留期和更低成本的基础设施。
  • 将长期审计记录归档到 OCI Object Storage ,并使用生命周期策略来降低 SIEM 保留成本。

确认

  • 作者Rekha Mathew, Ranveer Tiwari, Roland Koenn
  • 贡献者Sreya Dutta