Collecter les journaux BeyondTrust Remote Support

Version de l'analyseur : 33.0

Compatible avec :

Ce document explique comment ingérer les journaux BeyondTrust Remote Support (anciennement Bomgar) dans Google Security Operations à l'aide de Bindplane.

BeyondTrust Remote Support est une solution d'accès à distance qui génère des messages syslog pour l'activité des sessions, les événements de compte, les événements de connexion et les modifications de configuration. L'analyseur normalise les champs et les mappe au modèle de données unifié (UDM).

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 l'appliance BeyondTrust Remote Support
  • Si vous exécutez l'agent derrière un proxy, assurez-vous que les ports du pare-feu sont ouverts conformément aux exigences de l'agent BindPlane.
  • Accès administrateur à BeyondTrust Remote Support

Obtenir les identifiants Google SecOps pour l'agent Bindplane

Pour authentifier l'agent Bindplane auprès de Google SecOps, choisissez l'une des méthodes suivantes :

  • Nouveaux déploiements : utilisez l'API Chronicle (option 1).
  • Anciens déploiements : continuez à utiliser le fichier d'authentification d'ingestion (option 2) jusqu'à l'arrêt de l'API Ingestion le 20 juillet 2027.
  1. Connectez-vous à la consoleGoogle Cloud et sélectionnez le projet Google Cloud associé à votre instance Google SecOps.
  2. Accédez à IAM et administration > Comptes de service.
  3. Cliquez sur Créer un compte de service.
  4. Fournissez les informations de configuration suivantes :
    • Nom du compte de service : saisissez un nom pour le compte (par exemple, bindplane-ingest).
    • Description du compte de service : saisissez une description (par exemple, Bindplane agent log ingestion).
  5. Cliquez sur Créer et continuer.
  6. Dans la section Autoriser ce compte de service à accéder au projet, cliquez sur Sélectionner un rôle, puis sélectionnez Éditeur Chronicle.
  7. Cliquez sur Continue (Continuer), puis sur Done (OK).
  8. Cliquez sur le compte de service que vous avez créé, puis accédez à l'onglet Clés.
  9. Cliquez sur Ajouter une clé > Créer une clé.
  10. Sélectionnez JSON, puis cliquez sur Créer. Le fichier de clé est téléchargé sur votre ordinateur.
  11. Enregistrez le fichier de clé sous le nom ingestion-auth.json dans le répertoire du collecteur BindPlane (/opt/observiq-otel-collector/ingestion-auth.json sous Linux ou C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json sous Windows), ou mettez à jour creds_file_path dans config.yaml pour qu'il corresponde au chemin d'accès où vous l'enregistrez.
  12. Accédez à IAM et administration > Paramètres, puis copiez le numéro du projet. Vous en aurez besoin pour la configuration de l'exportateur.

Option 2 : Télécharger le fichier d'authentification d'ingestion (ancien)

  1. Connectez-vous à la console Google SecOps.
  2. Accédez à Paramètres 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 où l'agent 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 dans 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 Windows

  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 que l'installation se termine.

  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 des privilèges 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 que l'installation se termine.

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

    sudo systemctl status observiq-otel-collector
    

    Le service doit s'afficher comme actif (en cours d'exécution).

Ressources d'installation supplémentaires

Pour obtenir des options d'installation et de dépannage supplémentaires, 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 /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/bomgar:
        protocol: https
        # Region of your instance, for example us, europe, asia-southeast1
        location: <LOCATION>
        # Project number of the Google Cloud project linked to the instance
        project: '<PROJECT_NUMBER>'
        compression: gzip
        creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json'
        customer_id: '<customer_id>'
        endpoint: chronicle.googleapis.com
        log_type: BOMGAR
        raw_log_field: body
    
    service:
      pipelines:
        logs/bomgar_to_chronicle:
          receivers:
            - tcplog
          exporters:
            - chronicle/bomgar
    

Paramètres de configuration

Remplacez les espaces réservés suivants :

  • Configuration du récepteur :

    • listen_address : adresse IP et port d'écoute :
      • 0.0.0.0 pour écouter sur toutes les interfaces (recommandé)
      • Le port 514 est le port syslog standard (nécessite un accès racine sous Linux ; utilisez 1514 pour un accès non racine).
  • Configuration de l'exportateur :

    • creds_file_path : chemin d'accès complet au fichier de clé JSON du compte de service (option 1) :
      • Linux : /opt/observiq-otel-collector/ingestion-auth.json
      • Windows : C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
    • customer_id : ID client copié depuis la console Google SecOps
    • location : remplacez <LOCATION> par la région de votre instance Google SecOps (par exemple, us, europe ou asia-southeast1). L'exportateur ajoute cette valeur en préfixe à chronicle.googleapis.com. Pour obtenir la liste complète, consultez Points de terminaison régionaux.
    • project : remplacez <PROJECT_NUMBER> par le numéro de projet dans IAM et administration > Paramètres.
    • endpoint : laissez la valeur définie sur chronicle.googleapis.com.

Ancien exportateur d'API d'ingestion

  • Si vous utilisez le fichier d'authentification d'ingestion de l'option 2, remplacez le bloc exporters par le code suivant. Définissez creds_file_path sur le chemin d'accès au fichier d'authentification de l'ingestion. Si votre instance se trouve en dehors des États-Unis, remplacez malachiteingestion-pa.googleapis.com par votre point de terminaison régional (par exemple, europe-malachiteingestion-pa.googleapis.com).

    exporters:
      chronicle/bomgar:
        compression: gzip
        creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json'
        customer_id: '<customer_id>'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: BOMGAR
        raw_log_field: body
    

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 :

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

      ```bash
      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. Recherchez observIQ OpenTelemetry Collector.
      3. Effectuez un clic droit et 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 l'exportation syslog depuis BeyondTrust Remote Support

  1. Connectez-vous à votre BeyondTrust Remote Support.
  2. Accédez à Sécurité>Administration de l'appareil.
  3. Accédez à la section Syslog et définissez les valeurs suivantes :
    • Serveur Syslog distant : saisissez le nom d'hôte ou l'adresse IP du serveur hôte Syslog (Bindplane). Vous pouvez ajouter jusqu'à trois serveurs syslog.
    • Format du message : sélectionnez RFC 5424.
    • Port : saisissez le port du serveur hôte syslog (Bindplane).
  4. Cliquez sur Envoyer.

Table de mappage UDM

Champ du journal Mappage UDM Logique
message about Mappé : CEF → about
deviceNtDomain about.administrative_domain Renommé/Mappé
deviceExternalId about.asset.asset_id Mappé directement
device_product about.asset.asset_id Mappé directement
device_vendor about.asset.asset_id Mappé directement
fileHash about.file.full_path Mappage direct
filePath about.file.full_path Renommé/Mappé
_hash about.file.sha256 Renommé/Mappé
fileHash about.file.sha256 Renommé/Mappé
fsize about.file.size Renommé/Mappé
dvchost about.hostname Renommé/Mappé
ips about.ip Fusionné
message about.ip Mappé : CEF → ips
dvc_mac about.mac Mappé : slot → mac_address
dvcmac about.mac Fusionné
mac_address about.mac Fusionné
message about.mac Mappé : CEF → mac_address, CEF → dvcmac
deviceTranslatedAddress about.nat_ip Fusionné
message about.nat_ip Mappé : CEF → deviceTranslatedAddress
Emne about.process.command_line Mappé directement
Path about.process.command_line Mappé directement
Subject about.process.command_line Mappage direct
deviceProcessName about.process.command_line Renommé/Mappé
dvcpid about.process.pid Renommé/Mappé
message about.resource.attribute.permissions Mappé : CEF → permissions
permissions about.resource.attribute.permissions Fusionné
additional_cfp1 additional.fields Fusionné
additional_cfp2 additional.fields Fusionné
additional_cfp3 additional.fields Fusionné
additional_cfp4 additional.fields Fusionné
additional_cn1 additional.fields Fusionné
additional_cn2 additional.fields Fusionné
additional_cn3 additional.fields Fusionné
additional_cs1 additional.fields Fusionné
additional_cs2 additional.fields Fusionné
additional_cs3 additional.fields Fusionné
additional_cs4 additional.fields Fusionné
additional_cs5 additional.fields Fusionné
additional_cs6 additional.fields Fusionné
additional_cs7 additional.fields Fusionné
additional_devicePayloadId additional.fields Fusionné
additional_eventId additional.fields Fusionné
additional_flexString1 additional.fields Fusionné
additional_fname additional.fields Fusionné
cs2 additional.fields Mappé : arc_test → additional_cs2
cs5_label additional.fields Fusionné
message additional.fields Valeurs mappées (19 au total, par exemple CEF → additional_eventId, CEF → `additional_devicePayloa...
_extensions extensions Renommé/Mappé
_intermediary intermediary Fusionné
message intermediary Mappé : CEF → _intermediary
_metadata metadata Renommé/Mappé
meta_desc metadata.description Mappé directement
msg metadata.description Renommé/Mappé
Generated metadata.event_timestamp Analysé en tant que yyyy-MM-ddTHH:mm:ss
Received metadata.event_timestamp Analysé en tant que yyyy-MM-ddTHH:mm:ss
datetime metadata.event_timestamp Analysé en tant que RFC 3339
dtPostTime metadata.event_timestamp Analysé en tant que yyyy-dd-MM HH:mm:ss
rt metadata.event_timestamp Analysé en tant que yyyy-MM-ddTHH:mm:ssZ
when metadata.event_timestamp Analysé en tant que UNIX
_event_type metadata.event_type Mappage direct
event_name metadata.event_type Mappé : "LogSpyware","LogPredictiveMachineLearning" → SCAN_UNCATEGORIZED
message metadata.event_type Mapped: CEF → PROCESS_UNCATEGORIZED, CEF → SCAN_UNCATEGORIZED, CEF → `USER_RESOURC...
device_event_class_id metadata.product_event_type Mappage direct
eventName metadata.product_event_type Mappé directement
event_name metadata.product_event_type Mappé directement
sEventID metadata.product_event_type Mappé directement
externalId metadata.product_log_id Mappé directement
when metadata.product_log_id Mappé directement
device_product metadata.product_name Mappage direct
message metadata.product_name Mappé : CEF → BeyondTrust Remote Support
device_version metadata.product_version Mappage direct
device_vendor metadata.vendor_name Renommé/Mappé
message metadata.vendor_name Mappé : CEF → BeyondTrust Bomgar
app_protocol_output network.application_protocol Mappé directement
deviceDirection network.direction Mapped: 0 → INBOUND, 1 → OUTBOUND
message network.direction Mappé : CEF → INBOUND, CEF → OUTBOUND
requestMethod network.http.method Renommé/Mappé
requestClientApplication network.http.user_agent Renommé/Mappé
ip_protocol_out network.ip_protocol Mappé directement
in network.received_bytes Renommé/Mappé
out network.sent_bytes Renommé/Mappé
_principal principal Renommé/Mappé
sntdom principal.administrative_domain Renommé/Mappé
sourceServiceName principal.application Renommé/Mappé
Group_name principal.group.group_display_name Mappé directement
Gruppenavn principal.group.group_display_name Mappé directement
Device_name principal.hostname Mappé directement
Enhetsnavn principal.hostname Mappage direct
shost principal.hostname Renommé/Mappé
message principal.ip Mapped: CEF → principal_ip, CEF → shost
principal_ip principal.ip Fusionné
shost principal.ip Fusionné
mac principal.mac Fusionné
message principal.mac Mappé : CEF → mac
message principal.nat_ip Mappé : CEF → sourceTranslatedAddress
sourceTranslatedAddress principal.nat_ip Fusionné
sourceTranslatedPort principal.nat_port Renommé/Mappé
spt principal.port Renommé/Mappé
sproc principal.process.command_line Renommé/Mappé
spid principal.process.pid Renommé/Mappé
message principal.user.attribute.roles Mappé : CEF → principal_role
principal_role principal.user.attribute.roles Fusionné
suser principal.user.user_display_name Mappage direct
suid principal.user.userid Renommé/Mappé
_security_result security_result Fusionné
message security_result Mapped: CEF → security_result, CEF → _security_result
_action security_result.action Fusionné
act security_result.action Mapped: accept → _action, deny → _action
message security_result.action Mappé : CEF → _action
Action_Taken security_result.action_details Mappage direct
act security_result.action_details Mappage direct
cat security_result.category_details Fusionné
message security_result.category_details Mappé : CEF → cat
Scan_Type security_result.description Mappé directement
Type security_result.description Mappé directement
msg_data_2 security_result.description Mappage direct
infection_channel_label security_result.detection_fields Fusionné
message security_result.detection_fields Valeurs mappées (7 au total, par exemple CEF → operation_label, CEF → operasjon_label, CEF → `...
operasjon_label security_result.detection_fields Fusionné
operation_label security_result.detection_fields Fusionné
permission_label security_result.detection_fields Fusionné
spyware_Grayware_Type_label security_result.detection_fields Fusionné
threat_probability_label security_result.detection_fields Fusionné
tillatelse_label security_result.detection_fields Fusionné
mwProfile security_result.rule_name Mappage direct
message security_result.severity Mappé : CEF → LOW, CEF → MEDIUM, CEF → HIGH, CEF → CRITICAL
severity security_result.severity Mappé : "0", "1", "2", "3", "LOW" → LOW, "4", "5", "6", "MEDIUM", "SUBSTANTIAL", "INFO"…
Result security_result.summary Mappage direct
appcategory security_result.summary Mappage direct
reason security_result.summary Renommé/Mappé
Spyware security_result.threat_name Mappé directement
Unknown_Threat security_result.threat_name Mappé directement
Virus_Malware_Name security_result.threat_name Mappage direct
oldFilePath src.file.full_path Renommé/Mappé
oldFileSize src.file.size Renommé/Mappé
message src.resource.attribute.permissions Mappé : CEF → old_permissions
old_permissions src.resource.attribute.permissions Fusionné
_target target Renommé/Mappé
dntdom target.administrative_domain Renommé/Mappé
destinationServiceName target.application Renommé/Mappé
temp_dhost target.hostname Mappage direct
IPv6_Address target.ip Fusionné
dst_ip target.ip Fusionné
ipv6 target.ip Mappé : - → IPv6_Address
message target.ip Mapped: CEF → dst_ip, CEF → IPv6_Address
mac_address target.mac Fusionné
message target.mac Mappé : CEF → mac_address
destination_translated_address target.nat_ip Fusionné
message target.nat_ip Mappé : CEF → destination_translated_address
destinationTranslatedPort target.nat_port Renommé/Mappé
dpt target.port Renommé/Mappé
dproc target.process.command_line Renommé/Mappé
File_name target.process.file.full_path Mappé directement
Infected_Resource target.process.file.full_path Mappé directement
Object target.process.file.full_path Mappé directement
Objekt target.process.file.full_path Mappage direct
dpid target.process.pid Renommé/Mappé
message target.resource.attribute.labels Mappé : CEF → resource_Type_label
resource_Type_label target.resource.attribute.labels Fusionné
request target.url Mappage direct
message target.user.attribute.roles Mappé : CEF → target_role
target_role target.user.attribute.roles Fusionné
CustomerName target.user.user_display_name Mappé directement
temp_duser target.user.user_display_name Mappé directement
Bruker target.user.userid Mappé directement
User_value target.user.userid Mappé directement
temp_duid target.user.userid Mappé directement
N/A metadata.event_type Constante : PROCESS_UNCATEGORIZED
N/A metadata.product_name Constante : BeyondTrust Remote Support
N/A metadata.vendor_name Constante : BeyondTrust Bomgar
N/A network.direction Constante : INBOUND
N/A security_result.severity Constante : LOW
exc event.idm.read_only_udm.principal.process.pid Mappé à partir du journal des modifications
loggerHost event.idm.read_only_udm.principal.asset.hostname Mappé à partir du journal des modifications
loggerHost event.idm.read_only_udm.intermediary.hostname et event.idm.read_only_udm.intermediary.asset.hostname Mappé à partir du journal des modifications
product event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
sequenceId event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
site_id event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
segment event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
total_segment event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
who event.idm.read_only_udm.principal.user.userid Mappé à partir du journal des modifications

Journal des modifications

Afficher le journal des modifications de cet analyseur

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