Collecter les journaux de préemption

Compatible avec :

Ce document explique comment ingérer des journaux Preempt dans Google Security Operations à l'aide de l'agent Bindplane.

Preempt Security est une plate-forme de détection et de réponse aux menaces liées à l'identité. Elle génère des alertes de sécurité pour les menaces Active Directory, y compris les comportements d'authentification anormaux, l'élévation des privilèges et les mouvements latéraux. Il exporte les journaux au format CEF (Common Event Format) via syslog.

Avant de commencer

Assurez-vous de remplir les conditions suivantes :

  • Une instance Google SecOps
  • Windows Server 2016 ou version ultérieure, ou hôte Linux avec systemd
  • Connectivité réseau entre l'agent Bindplane et le serveur Preempt
  • Si vous exécutez l'agent derrière un proxy, assurez-vous que les ports de pare-feu sont ouverts conformément aux exigences de l'agent Bindplane.
  • Accès privilégié à la console de gestion Preempt avec des autorisations d'administrateur

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.
  4. Enregistrez le fichier de manière sécurisée sur le système sur lequel Bindplane sera installé.

Obtenir l'ID client Google SecOps

  1. Connectez-vous à la console Google SecOps.
  2. Accédez à Paramètres SIEM> Profil.
  3. Copiez et enregistrez le numéro client de la section Informations sur l'organisation.

Installer l'agent Bindplane

Installez l'agent Bindplane sur votre système d'exploitation Windows ou Linux en suivant les instructions ci-dessous.

Installation de fenêtres

  1. Ouvrez l'invite de commandes ou PowerShell en tant qu'administrateur.
  2. Exécutez la commande suivante :

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    
  3. Attendez la fin de l'installation.

  4. Vérifiez l'installation en exécutant la commande suivante :

    sc query observiq-otel-collector
    

    Le service doit être indiqué comme RUNNING (EN COURS D'EXÉCUTION).

Installation de Linux

  1. Ouvrez un terminal avec les droits root ou sudo.
  2. Exécutez la commande suivante :

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    
  3. Attendez la fin de l'installation.

  4. Vérifiez l'installation en exécutant la commande suivante :

    sudo systemctl status observiq-otel-collector
    

    Le service doit être indiqué comme actif (en cours d'exécution).

Ressources d'installation supplémentaires

Pour obtenir d'autres options d'installation et des conseils de dépannage, consultez le guide d'installation de l'agent Bindplane.

Configurer l'agent Bindplane pour ingérer les journaux syslog et les envoyer à Google SecOps

Localiser le fichier de configuration

  • Linux :

    sudo nano /opt/observiq-otel-collector/config.yaml
    
  • Windows :

    notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
    

Modifiez le fichier de configuration

  • Remplacez l'intégralité du contenu de config.yaml par la configuration suivante :

    receivers:
        tcplog:
            listen_address: "0.0.0.0:514"
    
    exporters:
        chronicle/preempt:
            compression: gzip
            creds_file_path: '<CREDS_FILE_PATH>'
            customer_id: '<CUSTOMER_ID>'
            endpoint: <REGION_ENDPOINT>
            log_type: PREEMPT
            raw_log_field: body
            ingestion_labels:
                env: production
    
    service:
        pipelines:
            logs/preempt_to_chronicle:
                receivers:
                    - tcplog
                exporters:
                    - chronicle/preempt
    

Paramètres de configuration

Remplacez les espaces réservés suivants :

  • Configuration du récepteur :

    • tcplog : reçoit syslog via TCP. Utilisez udplog si votre déploiement Preempt transfère les données via UDP.
    • 0.0.0.0:514 : écoute sur toutes les interfaces sur le port 514. Modifiez le port si nécessaire (par exemple, 1514 pour Linux non root).
  • Configuration de l'exportateur :

    • <CREDS_FILE_PATH> : chemin d'accès complet au fichier d'authentification de l'ingestion :
      • Linux : /etc/bindplane-agent/ingestion-auth.json
      • Windows : C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
    • <CUSTOMER_ID> : ID client obtenu à l'étape Obtenir l'ID client Google SecOps.
    • <REGION_ENDPOINT> : URL du point de terminaison régional :
      • États-Unis : malachiteingestion-pa.googleapis.com
      • Europe : europe-malachiteingestion-pa.googleapis.com
      • Asie : asia-southeast1-malachiteingestion-pa.googleapis.com
      • Pour obtenir la liste complète, consultez Points de terminaison régionaux.

Enregistrez le fichier de configuration.

  • Après avoir modifié le fichier, enregistrez-le :
    • Linux : appuyez sur Ctrl+O, puis sur Enter, puis sur Ctrl+X.
    • Windows : cliquez sur Fichier > Enregistrer.

Redémarrez l'agent Bindplane pour appliquer les modifications.

  • Pour redémarrer l'agent Bindplane sous Linux, exécutez la commande suivante :

    sudo systemctl restart observiq-otel-collector
    
    1. Vérifiez que le service est en cours d'exécution :

      sudo systemctl status observiq-otel-collector
      
    2. Recherchez les erreurs dans les journaux :

      sudo journalctl -u observiq-otel-collector -f
      
  • Pour redémarrer l'agent Bindplane dans Windows, choisissez l'une des options suivantes :

    • Invite de commande ou PowerShell en tant qu'administrateur :

      net stop observiq-otel-collector && net start observiq-otel-collector
      
    • Console Services :

      1. Appuyez sur Win+R, saisissez services.msc, puis appuyez sur Entrée.
      2. Localisez le collecteur observIQ OpenTelemetry.
      3. Effectuez un clic droit, puis sélectionnez Redémarrer.
      4. Vérifiez que le service est en cours d'exécution :

        sc query observiq-otel-collector
        
      5. Recherchez les erreurs dans les journaux :

        type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
        

Configurer le transfert syslog Preempt

  1. Connectez-vous à la console de gestion Preempt.
  2. Accédez à Paramètres > Intégration SIEM.
  3. Activez le transfert syslog.
  4. Fournissez les informations de configuration suivantes :
    • Protocole : sélectionnez TCP (doit correspondre à la configuration du récepteur de l'agent Bindplane).
    • Format : sélectionnez CEF.
    • Adresse du serveur Syslog : saisissez l'adresse IP de l'hôte de l'agent Bindplane (par exemple, 192.168.1.100).
    • Port : saisissez 514 (doit correspondre au port du récepteur de l'agent Bindplane).
  5. Sélectionnez les types d'événements à transférer :
    • Alertes
    • Non-respect des règles
    • Événements d'authentification anormaux
  6. Cliquez sur Enregistrer ou sur Appliquer.
  7. Vérifiez que les journaux sont envoyés en consultant les journaux de l'agent Bindplane.

Table de mappage UDM

Champ de journal Mappage UDM Logique
event_id, _target metadata.event_type Défini sur "SCAN_NETWORK" si _target n'est pas vide et que event_id == "SUSPICIOUS_DOMAIN_ACTIVITY" ; "USER_UNCATEGORIZED" si _target n'est pas vide et que event_id est dans ["UNUSUAL_ENDPOINT_ACCESS", "UNUSUAL_ACTIVITY", "UNUSUAL_ENDPOINT_USE"]; "NETWORK_UNCATEGORIZED" si event_id == "APPLIANCE_CONNECTIVITY_FAILURE" ; sinon "GENERIC_EVENT"
event_id metadata.product_event_type Valeur copiée directement
version metadata.product_version Valeur copiée directement
cs1 metadata.url_back_to_product Valeur de cs1 si cs1Label == "incidentLink"
network.ip_protocol Définissez sur "TCP" si event_id == "APPLIANCE_CONNECTIVITY_FAILURE"
dhost, host principal.hostname Valeur de dhost si dhost n'est pas vide et n'est pas une adresse IP, sinon valeur de host si host n'est pas vide et n'est pas une adresse IP
dhost, host principal.ip Valeur de dhost si dhost est une adresse IP, sinon valeur de host si host est une adresse IP
description, event_name, act, cs5, cs2, externalId, cn2 security_result.description Si la description n'est pas vide, la valeur provient de la description. Sinon, elle est concaténée à partir de event_name, act, status de cs5 si cs5Label == "status" ou cs2 si cs2Label == "status", IncidentID de externalId, CompromisedEntities de cn2.
cs1 security_result.rule_name Valeur de cs1 si cs1Label == "ruleName"
de gravité, security_result.severity Converti à partir d'un entier : HAUT si > 7, MOYEN si > 4, FAIBLE si > 2, INFORMATIF si > 0, ou UNKNOWN_SEVERITY (SÉVÉRITÉ INCONNUE) dans le cas contraire ; ou défini sur FAIBLE si cat == "Policy Log" et severity == "INFO"
de gravité, security_result.severity_details Valeur copiée directement
act, event_name security_result.summary Valeur provenant de l'action si elle n'est pas vide, sinon de event_name
destinationServiceName target.application Valeur de destinationServiceName si event_id == "APPLIANCE_CONNECTIVITY_FAILURE"
shost target.hostname Valeur copiée directement
src, dst target.ip Valeur de src ou dst si event_id == "APPLIANCE_CONNECTIVITY_FAILURE"
suser target.user.userid Valeur copiée directement
vendor metadata.vendor_name Valeur du fournisseur si elle n'est pas vide, sinon définie sur "PreemptSecurity"
produit metadata.product_name Valeur du produit si elle n'est pas vide, sinon définie sur "PBF"

Journal des modifications

Afficher le journal des modifications pour ce parseur

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