Remarques :

Consolider les journaux dans les locations pour l'intégration SIEM à l'aide des hub de connecteurs inter-location et du flux OCI

Introduction

Oracle Cloud Infrastructure (OCI) est une infrastructure en tant que service (IaaS), une plate-forme en tant que service (PaaS) et un logiciel en tant que service (SaaS) approuvés par les grandes entreprises. Il offre une gamme complète de services gérés englobant l'hébergement, le stockage, la mise en réseau, les bases de données et au-delà.

La présentation proactive des journaux des événements liés à la sécurité pour le tri aux ressources appropriées est cruciale pour détecter et prévenir les incidents de cybersécurité. De nombreuses entreprises utilisent les plates-formes SIEM (Security Information and Event Management) pour corréler et analyser les journaux et les alertes à partir des ressources pertinentes. La configuration appropriée de la capture et de la conservation des journaux clés pour une durée appropriée, ainsi que la surveillance et les alertes en temps quasi réel, permettent aux équipes des opérations de sécurité d'identifier les problèmes, de se concentrer sur les informations critiques en fonction du réglage du système et de prendre les mesures appropriées.

L'un des meilleurs modèles d'ingestion de journaux OCI consiste à envoyer des journaux au flux OCI, compatible avec Apache kafka, afin de faciliter l'utilisation des journaux par la plate-forme SIEM tierce en tant que consommateur Kafka, ce qui réduit les retards, fournit résilience et rétention en cas de problème temporaire lors de l'utilisation des données côté SIEM.

Diagramme d'architecture

Lorsque vous gérez plusieurs locations, au lieu d'intégrer chaque région de toutes les locations à la plate-forme SIEM individuellement, vous pouvez consolider les journaux de plusieurs locations source (SourceTenant(s)) dans une région donnée en un seul flux OCI de location (TargetTenant) en créant des hubs de connecteur inter-locations. La plate-forme SIEM peut ensuite ingérer des journaux de toutes les locations de cette région via le flux TargetTenant.

Remarque : à l'heure actuelle, le service OCI Connector Hub ne prend pas en charge le hub de connecteur inter-région.

La représentation de haut niveau de l'architecture de la solution est illustrée dans l'image suivante.

Diagramme d'architecture de solution

Instructions d'approbation, d'admission et de définition

Pour accéder aux ressources et les partager, les administrateurs des deux locations (SourceTenant(s) et TargetTenant) doivent créer des instructions de stratégie inter-locations spéciales qui indiquent de façon explicite les ressources accessibles et pouvant être partagées. Ces instructions spéciales utilisent les verbes Endorse, Admit et Define.

Présentation des verbes spéciaux utilisés dans les instructions colocatives :

Les instructions d'approbation et d'admission sont utilisées conjointement. Sans instruction correspondante définissant l'accès, une instruction d'approbation ou d'admission particulière n'accorde aucun accès. Les deux locations doivent s'accorder sur l'accès.

Remarque :

Objectifs

Prérequis

Tâche 1 : créer un flux dans TargetTenant

Le service OCI Streaming est une plate-forme de diffusion d'événements en temps réel, sans serveur et compatible avec Apache Kafka pour les développeurs et les data scientists. Elle offre une solution évolutive et durable entièrement gérée permettant d'inclure et d'utiliser des flux de données volumineux en temps réel tels que les journaux. Nous pouvons utiliser OCI Streaming pour tout cas d'emploi dans lequel des données sont produites et traitées de manière continue et séquentielle selon un modèle d'échange de messages de publication-abonnement.

  1. Accédez à la console OCI, puis à Analytics et IA, à Messagerie et à Diffusion en continu.

  2. Cliquez sur Créer un flux de données pour en créer un.

  3. Entrez les informations ci-après et cliquez sur Créer.

    • Nom : entrez le nom du flux de données. Pour ce tutoriel, nous utilisons TargetTenant-Stream.
    • Pool de flux de données : sélectionnez un pool de flux de données existant ou créez-en un avec une adresse publique.
    • Conservation (en heures) : saisissez le nombre d'heures de conservation des messages dans ce flux de données.
    • Nombre de partitions : entrez le nombre de partitions pour le flux.
    • Taux d'écriture total et Taux de lecture total : entrez en fonction de la quantité de données à traiter.

    Vous pouvez commencer par les valeurs par défaut pour le test. Pour plus d'informations, reportez-vous à la section Partitioning a Stream.

Tâche 2 : écrire des stratégies dans SourceTenant(s)

Endossez n'importe quel hub de connecteur dans le compartiment indiqué de SourceTenant(s) pour accéder à n'importe quel flux dans TargetTenant.

Format de commande:

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> 
    }

Commande Sample :

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' }

Tâche 3 : écrire des stratégies dans TargetTenant

Admettez le hub de connecteur de SourceTenant(s) pour accéder au flux dans TargetTenant.

Format de commande:

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'
   
   }

Commande Sample :

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' }

Tâche 4 : création d'OCI Connector Hub à l'aide de l'interface de ligne de commande dans les SourceTenant(s)

Une fois les stratégies requises créées dans les fichiers SourceTenant et TargetTenant, créez un hub de connecteur OCI à l'aide de l'interface de ligne de commande dans les fichiers SourceTenant. L'exemple de commande d'interface de ligne de commande suivant indique OCI Logging en tant que source et OCI Streaming en tant que cible pour la création du hub de connecteur inter-locations.

Hub de connecteur inter-locations pour propager les journaux OCI Audit de SourceTenant(s) vers le flux TargetTenant.

Format de commande:

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>" }'

Commande Sample :

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 connecteur inter-locations pour propager les journaux de service/personnalisés de SourceTenant(S) vers le flux TargetTenant. Créez un groupe de journaux et activez les journaux requis avant d'exécuter la commande suivante.

Format de commande:

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>" }'

Remarque : les instructions de stratégie de la tâche 2 et de la tâche 3 et la commande CLI de la tâche 4 sont formatées pour plus de lisibilité. Avant d'utiliser des copies de ces instructions, supprimez les nouvelles lignes, les nouveaux onglets et les nouveaux espaces.

Etapes suivantes

Ce tutoriel a montré comment consolider les journaux de plusieurs locations à l'aide des hubs de connecteur inter-locations et du flux OCI. Les plates-formes SIEM tierces doivent être configurées pour utiliser ces journaux en tant que consommateurs Kafka. Il est essentiel de configurer des tableaux de bord dans les plates-formes SIEM pour capturer les mesures critiques et configurer des alertes pour qu'elles se déclenchent lorsque les seuils prédéfinis sont dépassés. En outre, la définition de requêtes spécifiques est cruciale pour détecter les activités malveillantes et identifier les modèles dans vos locations OCI. Ces actions amélioreront votre état de sécurité et permettront une surveillance proactive de votre environnement cloud.

Remerciements

Ressources de formation supplémentaires

Explorez d'autres ateliers sur docs.oracle.com/learn ou accédez à d'autres contenus de formation gratuits sur le canal Oracle Learning YouTube. De plus, visitez le site education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.

Pour obtenir la documentation produit, consultez le site Oracle Help Center.