Collecter les journaux CyberArk EPM

Compatible avec:

Ce code d'analyseur transforme les données de journal CyberArk EPM en modèle de données unifié (UDM). Il itère sur chaque événement du journal, met en correspondance les champs pertinents avec leurs champs UDM correspondants, gère des structures de données spécifiques telles que "exposedUsers" et enrichit la sortie avec des informations statiques sur les fournisseurs et les produits.

Avant de commencer

  • Assurez-vous de disposer d'une instance Google Security Operations.
  • Assurez-vous d'utiliser Windows 2016 ou une version ultérieure, ou un hôte Linux avec systemd.
  • Si vous exécutez l'application derrière un proxy, assurez-vous que les ports du pare-feu sont ouverts.
  • Assurez-vous d'avoir un accès privilégié à la console de gestion du serveur EPM.

Obtenir le fichier d'authentification d'ingestion Google SecOps

  1. Connectez-vous à la console Google SecOps.
  2. Accédez à Paramètres du SIEM > Agents de collecte.
  3. Téléchargez le fichier d'authentification d'ingestion.

Obtenir le numéro client Google SecOps

  1. Connectez-vous à la console Google SecOps.
  2. Accédez à Paramètres du SIEM > Profil.
  3. Copiez et sauvegardez l'ID client dans la section Détails de l'organisation.

Installer l'agent BindPlane

  1. Pour l'installation sous Windows, exécutez le script suivant:
    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
  2. Pour l'installation Linux, exécutez le script suivant:
    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
  3. Pour en savoir plus sur les options d'installation, consultez ce guide d'installation.

Configurer l'agent BindPlane pour ingérer Syslog et l'envoyer à Google SecOps

  1. Accédez à la machine sur laquelle BindPlane est installé.
  2. Modifiez le fichier config.yaml comme suit :

    receivers:
        tcplog:
            # Replace the below port <54525> and IP <0.0.0.0> with your specific values
            listen_address: "0.0.0.0:54525" 
    
    exporters:
        chronicle/chronicle_w_labels:
            compression: gzip
            # Adjust the creds location below according the placement of the credentials file you downloaded
            creds: '{ json file for creds }'
            # Replace <customer_id> below with your actual ID that you copied
            customer_id: <customer_id>
            endpoint: malachiteingestion-pa.googleapis.com
            # You can apply ingestion labels below as preferred
            ingestion_labels:
            log_type: SYSLOG
            namespace: Cyberark_EPM
            raw_log_field: body
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - tcplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. Redémarrez l'agent BindPlane pour appliquer les modifications:

    sudo systemctl restart bindplane
    

Configurer le transfert d'événements tiers dans EPM

  1. Connectez-vous à la console de gestion du serveur EPM.
  2. Accédez à Paramètres avancés > Configuration du serveur.
  3. Dans la section Écouteurs d'événements, recherchez le paramètre Écouteurs tiers.
  4. Définissez la valeur sur Activé pour activer les écouteurs tiers.
  5. Configurez l'écouteur Syslog en fournissant les informations suivantes :
    • Adresse IP du serveur syslog: saisissez l'adresse IP du serveur syslog (Bindplane).
    • Port Syslog: spécifiez le numéro de port du serveur Syslog (Bindplane).
    • Protocole: choisissez le protocole configuré sur le serveur syslog (TCP ou UDP).
    • Format: sélectionnez Syslog comme format des journaux.
  6. Cliquez sur Enregistrer.

Tableau de mappage UDM

Champ de journal Mappage UDM Logique
agentId principal.asset.asset_id Concatenate "agentId:" avec la valeur du champ agentId.
computerName principal.hostname Mappe directement le champ computerName.
displayName metadata.description Mappe directement le champ displayName.
eventType metadata.product_event_type Mappe directement le champ eventType.
exposedUsers.[].accountName target.user.attribute.labels Crée un libellé avec la clé "accountName_[index]" et la valeur issue de exposedUsers.[index].accountName.
exposedUsers.[].domain target.user.attribute.labels Crée un libellé avec la clé "domain_[index]" et la valeur de exposedUsers.[index].domain.
exposedUsers.[].username target.user.attribute.labels Crée un libellé avec la clé "username_[index]" et la valeur issue de exposedUsers.[index].username.
filePath target.file.full_path Mappe directement le champ filePath.
hash target.file.sha1 Mappe directement le champ de hachage.
operatingSystemType principal.platform Mappe "Windows" sur "WINDOWS" si le champ "operatingSystemType" est défini sur "Windows".
policyName security_result.rule_name Mappe directement le champ policyName.
processCommandLine target.process.command_line Mappe directement le champ processCommandLine.
diffuseur additional.fields Crée un champ avec la clé "Éditeur" et la valeur string_value à partir du champ "Éditeur".
sourceProcessCommandLine target.process.parent_process.command_line Mappe directement le champ sourceProcessCommandLine.
sourceProcessHash target.process.parent_process.file.sha1 Mappe directement le champ sourceProcessHash.
sourceProcessSigner additional.fields Crée un champ avec la clé "sourceProcessSigner" et la valeur string_value à partir du champ sourceProcessSigner.
threatProtectionAction security_result.action_details Mappe directement le champ threatProtectionAction.
metadata.event_timestamp Définit le code temporel de l'événement sur la valeur "create_time" de l'entrée de journal.
metadata.event_type Code dur "STATUS_UPDATE".
metadata.log_type Code codé en dur sur "CYBERARK_EPM".
metadata.product_name Code codé en dur sur "EPM".
metadata.vendor_name Code codé en dur sur "CYBERARK".
security_result.alert_state Code en dur sur "ALERTING".
userName principal.user.userid Mappe directement le champ userName.

Modifications

2023-08-22

  • Analyseur nouvellement créé