Collecter les journaux Cohesity

Compatible avec:

Présentation

Cet analyseur extrait des champs des messages syslog du logiciel de sauvegarde Cohesity à l'aide de modèles grok. Il gère à la fois les messages syslog standards et les journaux au format JSON, en mappant les champs extraits sur l'UDM et en attribuant dynamiquement un event_type en fonction de la présence d'identifiants principal et cible.

Avant de commencer

  • Assurez-vous de disposer d'une instance Google SecOps.
  • Assurez-vous de disposer d'un accès privilégié à la gestion de Cohesity.

Configurer un flux dans Google SecOps pour ingérer les journaux Cohesity

  1. Accédez à Paramètres du SIEM > Flux.
  2. Cliquez sur Ajouter.
  3. Dans le champ Nom du flux, saisissez un nom pour le flux (par exemple, Journaux de cohésion).
  4. Sélectionnez Webhook comme type de source.
  5. Sélectionnez Cohésion comme Type de journal.
  6. Cliquez sur Suivant.
  7. Facultatif: spécifiez des valeurs pour les paramètres d'entrée suivants :
    • Délimiteur de fractionnement: délimiteur utilisé pour séparer les lignes de journal, par exemple \n.
    • Espace de noms des éléments: espace de noms des éléments.
    • Libellés d'ingestion: libellé appliqué aux événements de ce flux.
  8. Cliquez sur Suivant.
  9. Vérifiez la configuration du flux dans l'écran Finaliser, puis cliquez sur Envoyer.
  10. Cliquez sur Générer une clé secrète pour générer une clé secrète permettant d'authentifier ce flux.
  11. Copiez et stockez la clé secrète. Vous ne pourrez plus afficher cette clé secrète. Si nécessaire, vous pouvez générer une nouvelle clé secrète, mais cette action rend la clé secrète précédente obsolète.
  12. Dans l'onglet Détails, copiez l'URL du point de terminaison du flux dans le champ Informations sur le point de terminaison. Vous devez spécifier cette URL de point de terminaison dans votre application cliente.
  13. Cliquez sur OK.

Créer une clé API pour le flux webhook

  1. Accédez à Google Cloud Console > Identifiants.

    Accéder à "Identifiants"

  2. Cliquez sur Créer des identifiants, puis sélectionnez Clé API.

  3. Limitez l'accès de la clé API à l'API Chronicle.

Spécifier l'URL du point de terminaison

  1. Dans votre application cliente, spécifiez l'URL du point de terminaison HTTPS fournie dans le flux de webhook.
  2. Activez l'authentification en spécifiant la clé API et la clé secrète dans l'en-tête personnalisé au format suivant:

    X-goog-api-key = API_KEY
    X-Webhook-Access-Key = SECRET
    

    Recommandation: Spécifiez la clé API en tant qu'en-tête plutôt que dans l'URL.

  3. Si votre client webhook n'est pas compatible avec les en-têtes personnalisés, vous pouvez spécifier la clé API et la clé secrète à l'aide de paramètres de requête au format suivant:

    ENDPOINT_URL?key=API_KEY&secret=SECRET
    

    Remplacez les éléments suivants :

    • ENDPOINT_URL: URL du point de terminaison du flux.
    • API_KEY: clé API permettant de s'authentifier auprès de Google SecOps.
    • SECRET: clé secrète que vous avez générée pour authentifier le flux.

Configurer un webhook dans Cohesity pour Google SecOps

  1. Connectez-vous à la gestion du cluster Cohesity.
  2. Accédez à la section Jobs de protection.
  3. Sélectionnez la tâche de protection pour laquelle vous souhaitez configurer le webhook.
  4. Cliquez sur le menu Actions (trois points verticaux) à côté de la tâche de protection > Modifier.
  5. Sélectionnez l'onglet Alerting (Alertes).
  6. Cliquez sur + Ajouter un Webhook.
  7. Spécifiez les valeurs des paramètres suivants :
    • Nom: indiquez un nom descriptif pour le webhook (par exemple, Google SecOps).
    • URL: saisissez l'<ENDPOINT_URL> Google SecOps.
    • Méthode: sélectionnez POST.
    • Type de contenu: sélectionnez application/json.
    • Charge utile: ce champ dépend des données spécifiques que vous souhaitez envoyer.
    • Activer le webhook: cochez la case pour activer le webhook.
  8. Enregistrer la configuration:cliquez sur Enregistrer pour appliquer la configuration du webhook à la tâche de protection.

Tableau de mappage UDM

Champ de journal Mappage UDM Logique
ClientIP principal.asset.ip Mappé directement à partir du champ ClientIP.
ClientIP principal.ip Mappé directement à partir du champ ClientIP.
description security_result.description Mappé directement à partir du champ description.
DomainName target.asset.hostname Mappé directement à partir du champ DomainName.
DomainName target.hostname Mappé directement à partir du champ DomainName.
EntityPath target.url Mappé directement à partir du champ EntityPath.
host principal.asset.hostname Mappé directement à partir du champ host.
host principal.hostname Mappé directement à partir du champ host. Copié à partir du champ ts après avoir été analysé en code temporel. Déterminé par la logique de l'analyseur en fonction de la présence de principal_mid_present, target_mid_present et principal_user_present. Valeurs possibles: NETWORK_CONNECTION, USER_UNCATEGORIZED, STATUS_UPDATE, GENERIC_EVENT. Coded en dur sur "Cohésion".
product_event_type metadata.product_event_type Mappé directement à partir du champ product_event_type. Code codé en dur sur "COHESITY".
pid principal.process.pid Mappé directement à partir du champ pid.
Protocol network.application_protocol Mappé directement à partir du champ Protocol, converti en majuscules.
RecordID additional.fields (clé: "RecordID", valeur: RecordID) Mappé directement à partir du champ RecordID, imbriqué sous additional.fields.
RequestType security_result.detection_fields (clé: "RequestType", valeur: RequestType) Mappé directement à partir du champ RequestType, imbriqué sous security_result.detection_fields.
Result security_result.summary Mappé directement à partir du champ Result.
sha_value additional.fields (clé: "SHA256", valeur: sha_value) Mappé directement à partir du champ sha_value, imbriqué sous additional.fields.
target_ip target.asset.ip Mappé directement à partir du champ target_ip.
target_ip target.ip Mappé directement à partir du champ target_ip.
target_port target.port Mappé directement à partir du champ target_port, converti en entier.
Timestamp metadata.collected_timestamp Mappé directement à partir du champ Timestamp après avoir été analysé en code temporel.
ts events.timestamp Mappé directement à partir du champ ts après avoir été analysé en code temporel.
UserID principal.user.userid Mappé directement à partir du champ UserID, converti en chaîne.
UserName principal.user.user_display_name Mappé directement à partir du champ UserName.
UserSID principal.user.windows_sid Mappé directement à partir du champ UserSID.

Modifications

2024-09-24

  • Suppression de "gsub" pour mettre en forme les journaux JSON.

2024-09-10

  • Ajout de "gsub" pour supprimer les caractères indésirables du journal.
  • Mappage de "prin_ip" sur "principal.ip".

2024-07-28

  • Mappage de "EntityId" et "RegisteredSource.EntityId" sur "principal.user.userid".
  • Mappage de "Description" et "EventMessage" sur "metadata.description".
  • Mappage de "IP" sur "principal.ip" et "principal.asset.ip".
  • "Utilisateur" a été mappé sur "principal.user.user_display_name".
  • "Action", "Domain", "ServiceContext", "AttributeMap.AttemptNum", "cluster_id", "cluster_name", "ClusterInfo.ClusterId", "ClusterInfo.ClusterName", "TaskId", "EntityName", "EntityType", "BackupJobId", "BackupJobName", "EnvironmentType", "RegisteredSource.EntityName", "RegisteredSource.EntityType", "AttributeMap.BridgeConstituent", "ReplicationTarget.ClusterName" et "ReplicationTarget.ClusterId" mappés sur "additional.fields".

2024-05-16

  • Analyseur nouvellement créé.

Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.