Note:

Consolidación de logs en distintos arrendamientos para la integración de SIEM mediante hubs de conector entre arrendamientos y OCI Stream

Introducción

Oracle Cloud Infrastructure (OCI) es una Infrastructure-as-a-Service (IaaS), Platform-as-a-Service (PaaS) y Software-as-a-Service (SaaS) en los que confían las empresas a gran escala. Ofrece una amplia gama de servicios gestionados que incluyen alojamiento, almacenamiento, redes, bases de datos y más.

La presentación proactiva de registros de eventos relacionados con la seguridad para clasificarlos en los recursos adecuados es crucial para detectar y prevenir incidentes de ciberseguridad. Muchas organizaciones utilizan las plataformas de gestión de eventos e información de seguridad (SIEM) para correlacionar y analizar logs y alertas de activos relevantes. La configuración adecuada de la captura y retención de logs clave durante una duración adecuada, junto con la supervisión y las alertas casi en tiempo real, permite a los equipos de operaciones de seguridad identificar problemas, centrarse en la información crítica basada en el ajuste del sistema y tomar las medidas adecuadas.

Un patrón de mejores prácticas para la ingestión de logs de OCI es el envío de logs al flujo de OCI, que es compatible con Apache kafka, lo que facilita que la plataforma SIEM de terceros consuma los logs como consumidor de Kafka: reduce el retraso, proporciona resiliencia y retención en caso de que haya un problema temporal que consuma datos en el SIEM.

Diagrama de arquitectura

Al gestionar varios arrendamientos, en lugar de integrar cada región de todos los arrendamientos con la plataforma SIEM de forma individual, puede consolidar logs de varios arrendamientos de origen (SourceTenant(s)) en una región concreta en un único flujo de OCI de arrendamiento (TargetTenant) mediante la creación de hubs de conector entre arrendamientos. A continuación, la plataforma SIEM puede ingerir logs de todos los arrendamientos de esa región a través del flujo TargetTenant.

Nota: El servicio OCI Connector Hub no soporta el hub de conector entre regiones a partir de ahora.

En la siguiente imagen se muestra una representación de alto nivel de la arquitectura de la solución.

Diagrama de arquitectura de solución

Sentencias Endorse, Admit y Define

Para acceder a los recursos y compartirlos, los administradores de ambos arrendamientos (SourceTenant(s) y TargetTenant) deben crear sentencias de política entre arrendamientos especiales que determinen de forma explícita los recursos que se pueden compartir y a los que se puede acceder. Estas sentencias especiales usan los verbos Endorse, Admit y Define.

Visión general de los verbos especiales utilizados en sentencias de arrendamiento combinado:

Las sentencias de aprobación y admisión funcionan juntas. Sin una sentencia correspondiente que especifique el acceso, una sentencia Endorse o Admit en particular no otorga acceso. Ambos arrendamientos deben aceptar el acceso.

Nota:

Objetivos

Requisitos

Tarea 1: Creación de un flujo en TargetTenant

El servicio OCI Streaming es una plataforma de transmisión de eventos en tiempo real, sin servidor y compatible con Apache Kafka para desarrolladores y científicos de datos. Proporciona una solución duradera, escalable y totalmente gestionada para la ingesta y el consumo de flujos de datos de gran volumen en tiempo real, como los logs. Podemos utilizar OCI Streaming para cualquier caso de uso en el que se produzcan y procesen datos de forma continua y secuencial en un modelo de mensajería de publicación y suscripción.

  1. Vaya a la consola de OCI, vaya a Analytics & AI, Messaging y Streaming.

  2. Haga clic en Crear flujo para crear un flujo.

  3. Introduzca la siguiente información y haga clic en Crear.

    • Nombre: introduzca el nombre del flujo. Para este tutorial, estamos utilizando TargetTenant-Stream.
    • Pool de flujos: seleccione el pool de flujos existente o cree uno nuevo con el punto final público.
    • Retención (en horas): introduzca el número de horas de retención de los mensajes en este flujo.
    • Número de particiones: introduzca el número de particiones para el flujo.
    • Ratio total de escrituras y Ratio total de lecturas: introduzca en función de la cantidad de datos que necesita procesar.

    Puede comenzar con los valores por defecto para la prueba. Para obtener más información, consulte Partición de un flujo.

Tarea 2: Escritura de políticas en SourceTenant(s)

Apruebe cualquier hub de conector en el compartimento especificado de SourceTenant(s) para acceder a cualquier flujo en TargetTenant.

Formato de Comando:

Define tenancy TargetTenant as <TargetTenant_OCID>

Endorse any-user to use stream-push in tenancy TargetTenant
    where all 
    { 
        request.principal.type='serviceconnector',
        request.principal.compartment.id= <connectorHub-Compartment_OCID> 
    }

Comando de muestra:

Define tenancy TargetTenant as ocid1.tenancy.oc1..aaaaaaaanneylhk3ibxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Endorse any-user to use stream-push in tenancy TargetTenant where all { request.principal.type='serviceconnector', request.principal.compartment.id = 'ocid1.compartment.oc1..aaaaaaaau7xlnyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' }

Tarea 3: Escritura de políticas en TargetTenant

Admita el hub de conector de SourceTenant para acceder al flujo en TargetTenant.

Formato de Comando:

Define tenancy SourceTenantA as <SourceTenant-A_OCID>

Admit any-user of tenancy SourceTenantA to use stream-push in tenancy
   Where all
   {
   
   request.principal.type='serviceconnector'
   
   }

Comando de muestra:

Define tenancy SourceTenantA as ocid1.tenancy.oc1..aaaaaaaakxcj24xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Admit any-user of tenancy SourceTenantA to use stream-push in tenancy Where all { request.principal.type = 'serviceconnector' }

Tarea 4: Creación de OCI Connector Hub mediante la CLI en SourceTenant(s)

Después de crear las políticas necesarias en SourceTenant(s) y TargetTenant, cree un OCI Connector Hub mediante la CLI en SourceTenant(s). En el siguiente ejemplo, el comando de la CLI especifica OCI Logging como origen y OCI Streaming como destino para crear el hub de conector entre arrendamientos.

Hub de conector entre arrendamientos para transferir logs de auditoría de OCI de SourceTenant(s) al flujo TargetTenant.

Formato de Comando:

oci sch service-connector create

--display-name <XTenancyConnectorHub-name>

--compartment-id <ConnectorHub-Compartment_OCID>

--source '{ "kind": "logging", "logSources":

[ { "compartmentId": "<SourceTenantA_OCID>",
"logGroupId": "_Audit_Include_Subcompartment" } ] }'

--target '{ "kind": "streaming", "streamId": "<TargetTenant-Stream_OCID>" }'

Comando de muestra:

oci sch service-connector create --display-name XTenancyConnectorHub --compartment-id ocid1.compartment.oc1..aaaaaaaau7xlnyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --source '{ "kind": "logging", "logSources": [ { "compartmentId": "ocid1.tenancy.oc1..aaaaaaaakxcj24xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","logGroupId": "_Audit_Include_Subcompartment" } ] }' --target '{ "kind": "streaming", "streamId": "ocid1.stream.oc1.iad.amaaaaaas4n35vixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" }'

Hub de conector entre arrendamientos para transferir logs de servicio/personalizados del flujo SourceTenant(S) al flujo TargetTenant. Cree un grupo de logs y active los logs necesarios antes de ejecutar el siguiente comando.

Formato de Comando:

oci sch service-connector create

--display-name <XTenancyConnectorHub-Name>

--compartment-id <ConnectorHub_Compartment_OCID>

--source '{ "kind": "logging", "logSources":

[ { "compartmentId": "<SourceTenantA-LogGroup-Compartment_OCID>",
"logGroupId": "<SourceTenantA-LogGroup_OCID>" } ] }'

--target '{ "kind": "streaming", "streamId": "<TargetTenant-Stream_OCID>" }'

Nota: Las sentencias de política de la tarea 2, la tarea 3 y el comando CLI de la tarea 4 tienen el formato de legibilidad. Antes de utilizar copias de estas sentencias, elimine nuevas líneas, separadores y espacios.

Pasos Siguientes

En este tutorial se ha demostrado cómo consolidar logs de varios arrendamientos mediante los hubs de conector entre arrendamientos y el flujo de OCI. Las plataformas SIEM de terceros se deben configurar para que consuman estos logs como consumidores de Kafka. Es esencial configurar paneles de control en plataformas SIEM para capturar métricas críticas y configurar alertas para que se disparen cuando se superen los umbrales predefinidos. Además, definir consultas específicas es crucial para detectar actividades maliciosas e identificar patrones dentro de sus arrendamientos de OCI. Estas acciones mejorarán su estrategia de seguridad y permitirán un control proactivo de su entorno en la nube.

Agradecimientos

Más recursos de aprendizaje

Explore otros laboratorios en docs.oracle.com/learn o acceda a más contenido de formación gratuita en el canal YouTube de Oracle Learning. Además, visita education.oracle.com/learning-explorer para convertirte en un Oracle Learning Explorer.

Para obtener documentación sobre el producto, visite Oracle Help Center.