Collecter les journaux Microsoft LAPS

Compatible avec :

Ce document explique comment ingérer les journaux Microsoft LAPS (Local Administrator Password Solution) dans Google Security Operations à l'aide de Bindplane. Le parseur extrait d'abord les données au format JSON du champ message, puis analyse le champ EventData dans le JSON extrait. Il mappe ensuite les champs extraits au schéma UDM (Unified Data Model), catégorise le type d'événement en fonction de EventId et fusionne enfin toutes les données traitées dans l'événement de sortie.

Avant de commencer

Assurez-vous de remplir les conditions préalables suivantes :

  • Instance Google SecOps
  • si vous exécutez le programme derrière un proxy, les ports du pare-feu sont ouverts.
  • Accès privilégié à un serveur Microsoft Windows avec LAPS

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

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
    

Ressources d'installation supplémentaires

Pour plus d'options d'installation, consultez le guide d'installation.

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

  1. Accédez au fichier de configuration :
    • Recherchez le fichier config.yaml. Il se trouve généralement dans le répertoire d'installation sous Windows.
    • Ouvrez le fichier à l'aide d'un éditeur de texte (Bloc-notes, par exemple).
  2. Modifiez le fichier config.yaml comme suit :

    receivers:
      windowseventlog/laps_operational:
        channel: Microsoft-Windows-LAPS/Operational
        max_reads: 100
        poll_interval: 5s
        raw: true
        start_at: end
    
    processors:
      batch:
    
    exporters:
      chronicle/laps:
            # Adjust the path to the credentials file you downloaded in Step 1
            creds: '/path/to/ingestion-authentication-file.json'
            # Replace with your actual customer ID from Step 2
            customer_id: <customer_id>
            endpoint: malachiteingestion-pa.googleapis.com
            # Add optional ingestion labels for better organization
            log_type: 'WINDOWS_LAPS'
            override_log_type: false
            raw_log_field: body
    
    service:
      pipelines:
        logs/laps:
          receivers:
          - windowseventlog/laps_operational
          processors: [batch]
          exporters: [chronicle/laps]
    
  3. Remplacez <customer_id> par le numéro client réel.

  4. Mettez à jour /path/to/ingestion-authentication-file.json en indiquant le chemin d'accès où le fichier d'authentification a été enregistré dans la section Obtenir le fichier d'authentification pour l'ingestion Google SecOps.

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

  • Pour redémarrer l'agent Bindplane sous Windows, vous pouvez utiliser la console Services ou saisir la commande suivante :

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Configurer Microsoft Windows LAPS

  1. Saisissez eventvwr.msc dans une invite de commande avec élévation de privilèges, puis appuyez sur ENTRÉE pour ouvrir la Visionneuse d'événements.
  2. Accédez à Journaux des applications et services > Microsoft > Windows > LAPS.
  3. Développez LAPS.
  4. Effectuez un clic droit sur LAPS, puis cliquez sur Propriétés.
  5. Cochez la case Activer la journalisation.
  6. Cliquez sur OK lorsque vous êtes invité à confirmer que le journal est activé.
  7. Cliquez sur OK.

Table de mappage UDM

Champ de journal Mappage UDM Logique
Version read_only_udm.additional.fields.key La valeur est extraite du champ Channel du journal brut et attribuée au champ key.
Version read_only_udm.additional.fields.value.string_value La valeur est extraite du champ Channel du journal brut et attribuée au champ string_value.
Ordinateur read_only_udm.principal.hostname La valeur est extraite du champ Computer du journal brut.
Ordinateur read_only_udm.principal.asset.hostname La valeur est extraite du champ Computer du journal brut.
EventData.%1 read_only_udm.additional.fields.value.string_value La valeur est extraite du champ EventData.%1 du journal brut et attribuée au champ string_value.
EventId read_only_udm.metadata.product_event_type La valeur est extraite du champ EventId du journal brut.
EventId read_only_udm.security_result.rule_name La valeur est extraite du champ EventId du journal brut et ajoutée à EventID:.
EventRecordID read_only_udm.metadata.product_log_id La valeur est extraite du champ EventRecordID du journal brut.
Mots clés read_only_udm.additional.fields.key La valeur est extraite du champ Keywords du journal brut et attribuée au champ key.
Mots clés read_only_udm.additional.fields.value.string_value La valeur est extraite du champ Keywords du journal brut et attribuée au champ string_value.
Niveau read_only_udm.security_result.severity La valeur est extraite du champ Level du journal brut et mappée sur : INFORMATIONAL pour INFO, Informational, Information, Normal, NOTICE ; ERROR pour ERROR, Error ; CRITICAL pour Critical.
Code opération read_only_udm.additional.fields.key La valeur est extraite du champ Opcode du journal brut et attribuée au champ key.
Code opération read_only_udm.additional.fields.value.string_value La valeur est extraite du champ Opcode du journal brut et attribuée au champ string_value.
ProcessID read_only_udm.principal.process.pid La valeur est extraite du champ ProcessID du journal brut.
ProviderName read_only_udm.metadata.product_name La valeur est extraite du champ ProviderName du journal brut.
Tâche read_only_udm.additional.fields.key La valeur est extraite du champ Task du journal brut et attribuée au champ key.
Tâche read_only_udm.additional.fields.value.string_value La valeur est extraite du champ Task du journal brut et attribuée au champ string_value.
ThreadID read_only_udm.additional.fields.key La valeur est extraite du champ ThreadID du journal brut et attribuée au champ key.
ThreadID read_only_udm.additional.fields.value.string_value La valeur est extraite du champ ThreadID du journal brut et attribuée au champ string_value.
TimeCreated read_only_udm.metadata.event_timestamp La valeur est extraite du champ TimeCreated du journal brut et analysée en tant que code temporel UNIX_MS.
TimeCreated events.timestamp La valeur est extraite du champ TimeCreated du journal brut et analysée en tant que code temporel UNIX_MS.
Version read_only_udm.additional.fields.key La valeur est extraite du champ Version du journal brut et attribuée au champ key.
Version read_only_udm.additional.fields.value.string_value La valeur est extraite du champ Version du journal brut et attribuée au champ string_value.
read_only_udm.additional.fields.key La valeur EventData_P1 a été attribuée.
read_only_udm.metadata.event_type STATUS_UNCATEGORIZED est attribué de manière conditionnelle si EventId est 7 ou 2, sinon GENERIC_EVENT.
read_only_udm.metadata.vendor_name La valeur Microsoft a été attribuée.

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