Collecter les journaux Forescout eyeSight

Compatible avec :

Ce document explique comment ingérer les journaux Forescout eyeSight (anciennement CounterACT) dans Google Security Operations à l'aide de l'agent Bindplane.

Forescout eyeSight est une plate-forme de contrôle des accès au réseau (NAC, Network Access Control) qui offre une visibilité, une classification et une évaluation de la conformité des appareils sans agent sur les appareils informatiques, IoT, OT et IoMT. Il détecte et profile chaque appareil connecté en temps réel, ce qui permet aux entreprises d'appliquer des règles d'accès et de réduire la surface d'attaque sans avoir besoin d'agents de point de terminaison.

Pour en savoir plus, consultez la documentation Forescout NAC.

Avant de commencer

Assurez-vous de remplir les conditions suivantes :

  • Une instance Google SecOps
  • Un hôte Windows 2016 ou version ultérieure, ou Linux avec systemd
  • 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 Forescout (compte administrateur)
  • Connectivité réseau entre l'appliance Forescout et l'hôte de l'agent Bindplane

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

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 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 /etc/bindplane-agent/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:
        udplog:
            listen_address: "0.0.0.0:514"
    
    exporters:
        chronicle/forescout_nac:
            compression: gzip
            creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
            customer_id: '<CUSTOMER_ID>'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: FORESCOUT_NAC
            raw_log_field: body
            ingestion_labels:
                env: production
    
    service:
        pipelines:
            logs/forescout_to_chronicle:
                receivers:
                    - udplog
                exporters:
                    - chronicle/forescout_nac
    

Paramètres de configuration

Remplacez les espaces réservés suivants :

  • Configuration du récepteur :

    • listen_address : adresse IP et port à écouter. Utilisez 0.0.0.0 pour écouter sur toutes les interfaces. Le port 514 est standard pour syslog (nécessite des droits racine sur Linux ; utilisez 1514 pour les non-racines).
  • Configuration de l'exportateur :

    • creds_file_path : chemin d'accès complet au fichier d'authentification de l'ingestion Google SecOps.
      • Linux : /etc/bindplane-agent/ingestion-auth.json
      • Windows : C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
    • <CUSTOMER_ID> : ID client Google SecOps.
    • 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 commandes 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 observIQ OpenTelemetry Collector.
    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 Forescout eyeSight

  1. Connectez-vous à la console Forescout avec un compte administrateur.
  2. Accédez à Outils > Options.
  3. Dans l'arborescence des options, développez Modules > Syslog (ou Plug-in Syslog selon la version).
  4. Cliquez sur Ajouter pour créer une cible syslog.
  5. Fournissez les informations de configuration suivantes :
    • Nom : saisissez un nom descriptif (par exemple, SecOps-Bindplane).
    • Adresse du serveur : saisissez l'adresse IP de l'hôte de l'agent Bindplane (par exemple, 192.168.1.100).
    • Port : saisissez 514 (ou le port configuré dans l'agent Bindplane).
    • Protocole : sélectionnez UDP.
    • Format : sélectionnez CEF (Common Event Format) ou Syslog (RFC 3164) en fonction de vos besoins d'analyse.
    • Installation : sélectionnez LOCAL0 (ou l'installation correspondant à la règle syslog de votre organisation).
    • Gravité : sélectionnez Informationnel ou le niveau de gravité minimal souhaité.
  6. Dans la section Types d'événements, sélectionnez les catégories de journaux à transférer :
    • Modifications des propriétés de l'hôte : classification des appareils et mises à jour des propriétés.
    • Non-respect des règles : cas de non-respect des règles de conformité et actions coercitives du NAC.
    • Événements d'accès au réseau : événements de connexion et de déconnexion des points de terminaison.
    • Événements d'authentification : événements d'authentification 802.1X et des utilisateurs.
    • Résultats de l'action : résultats des actions de correction et de réponse.
  7. Cliquez sur OK pour enregistrer la configuration de la cible syslog.
  8. Cliquez sur Appliquer pour activer les modifications.
  9. Vérifiez que les messages syslog sont reçus en consultant les journaux de l'agent Bindplane.

Table de mappage UDM

Champ de journal Mappage UDM Logique
about about Fusionné
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 Mappé directement
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é
dvcmac about.mac Fusionné
mac_address about.mac Fusionné
deviceTranslatedAddress about.nat_ip Fusionné
Emne about.process.command_line Mappé directement
Path about.process.command_line Mappé directement
Subject about.process.command_line Mappé directement
deviceProcessName about.process.command_line Renommé/Mappé
dvcpid about.process.pid Renommé/Mappé
permissions about.resource.attribute.permissions Fusionné
Assigned_hosts_label additional.fields Fusionné
Available_memory_label additional.fields Fusionné
Available_swap_label additional.fields Fusionné
Connected_clients_label additional.fields Fusionné
EM_connection_status_label additional.fields Fusionné
Engine_status_label additional.fields Fusionné
Installed_Plugins_label additional.fields Fusionné
Used_memory_label additional.fields Fusionné
Used_swap_label additional.fields 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é
application_status_label additional.fields Fusionné
cpu_usage_label additional.fields Fusionné
cs5_label additional.fields Fusionné
type_label additional.fields Fusionné
intermediary intermediary Fusionné
iporhost intermediary.asset.hostname Mappé directement
middle_ip intermediary.asset.ip Fusionné
iporhost intermediary.hostname Mappé directement
middle_ip intermediary.ip Fusionné
pid intermediary.process.pid Mappé directement
desc metadata.description Mappé directement
event_type metadata.description Mappé directement
msg metadata.description Renommé/Mappé
device_event_class_id metadata.product_event_type Mappé directement
engineName metadata.product_event_type Mappé directement
event_name metadata.product_event_type Mappé directement
eventtype metadata.product_event_type Mappé directement
externalId metadata.product_log_id Mappé directement
device_product metadata.product_name Mappé directement
product metadata.product_name Mappé directement
device_version metadata.product_version Mappé directement
device_vendor metadata.vendor_name Renommé/Mappé
vendor_name metadata.vendor_name Mappé directement
app_protocol_output network.application_protocol Mappé directement
mail_from network.email.from Mappé directement
mail_subject network.email.subject Fusionné
mail_to network.email.to Fusionné
requestMethod network.http.method Renommé/Mappé
requestClientApplication network.http.user_agent Renommé/Mappé
ip_protocol_out network.ip_protocol Mappé directement
protocol network.ip_protocol Mappé directement
protocol1 network.ip_protocol Mappé directement
in network.received_bytes Renommé/Mappé
out network.sent_bytes Renommé/Mappé
session_id network.session_id Mappé directement
sntdom principal.administrative_domain Renommé/Mappé
sourceServiceName principal.application Renommé/Mappé
Host principal.asset.hostname Mappé directement
Hostname principal.asset.hostname Mappé directement
Source principal.asset.hostname Mappé directement
Source_1 principal.asset.hostname Mappé directement
host_ip principal.asset.ip Fusionné
source_ip principal.asset.ip Fusionné
src_ip principal.asset.ip Fusionné
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 Mappé directement
Host principal.hostname Mappé directement
Hostname principal.hostname Mappé directement
Source principal.hostname Mappé directement
Source_1 principal.hostname Mappé directement
shost principal.hostname Renommé/Mappé
host_ip principal.ip Fusionné
principal_ip principal.ip Fusionné
shost principal.ip Fusionné
source_ip principal.ip Fusionné
src_ip principal.ip Fusionné
MAC principal.mac Fusionné
mac principal.mac Fusionné
mac_addr principal.mac Fusionné
src_mac principal.mac Fusionné
sourceTranslatedAddress principal.nat_ip Fusionné
sourceTranslatedPort principal.nat_port Renommé/Mappé
source_port principal.port Renommé/Mappé
spt principal.port Renommé/Mappé
src_port principal.port Mappé directement
command principal.process.command_line Mappé directement
sproc principal.process.command_line Renommé/Mappé
spid principal.process.pid Renommé/Mappé
resource principal.resource.name Mappé directement
principal_role principal.user.attribute.roles Fusionné
suser principal.user.user_display_name Mappé directement
User principal.user.userid Mappé directement
suid principal.user.userid Renommé/Mappé
user_id principal.user.userid Mappé directement
user_name principal.user.userid Mappé directement
username principal.user.userid Mappé directement
sec_result security_result Fusionné
security_result security_result Fusionné
res_label security_result.about.resource.attribute.labels Fusionné
_action security_result.action Fusionné
sec_action security_result.action Fusionné
security_result_action security_result.action Fusionné
Action_Taken security_result.action_details Mappé directement
act security_result.action_details Mappé directement
cat security_result.category_details Fusionné
Category security_result.description Mappé directement
Reason security_result.description Mappé directement
Scan_Type security_result.description Mappé directement
Type security_result.description Mappé directement
act security_result.description Mappé directement
description security_result.description Mappé directement
details security_result.description Mappé directement
et_lower security_result.description Mappé directement
event_type security_result.description Mappé directement
kv_data security_result.description Mappé directement
msg_data_2 security_result.description Mappé directement
policy_details security_result.description Mappé directement
rnmsg security_result.description Mappé directement
infection_channel_label security_result.detection_fields Fusionné
operasjon_label security_result.detection_fields Fusionné
operation_label security_result.detection_fields Fusionné
permission_label security_result.detection_fields Fusionné
protocol_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é
Rule security_result.rule_id Mappé directement
alart_id security_result.rule_id Mappé directement
device_event_class_id security_result.rule_id Mappé directement
Match security_result.rule_name Mappé directement
mwProfile security_result.rule_name Mappé directement
severity security_result.severity_details Mappé directement
Result security_result.summary Mappé directement
appcategory security_result.summary Mappé directement
event_name security_result.summary Mappé directement
event_type security_result.summary Mappé directement
log_description security_result.summary Mappé directement
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 Mappé directement
threat security_result.threat_name Mappé directement
oldFilePath src.file.full_path Renommé/Mappé
oldFileSize src.file.size Renommé/Mappé
old_permissions src.resource.attribute.permissions Fusionné
dntdom target.administrative_domain Renommé/Mappé
destinationServiceName target.application Renommé/Mappé
Destination target.asset.hostname Mappé directement
Target target.asset.hostname Mappé directement
Target_1 target.asset.hostname Mappé directement
computer_name target.asset.hostname Mappé directement
Destination target.asset.ip Fusionné
dest_ip target.asset.ip Fusionné
destination_ip target.asset.ip Fusionné
target_ip target.asset.ip Fusionné
Destination target.hostname Mappé directement
Target target.hostname Mappé directement
Target_1 target.hostname Mappé directement
computer_name target.hostname Mappé directement
temp_dhost target.hostname Mappé directement
Destination target.ip Fusionné
IPv6_Address target.ip Fusionné
dest_ip target.ip Fusionné
destination_ip target.ip Fusionné
dst_ip target.ip Fusionné
target_ip target.ip Fusionné
dest_mac target.mac Fusionné
mac_address target.mac Fusionné
destination_translated_address target.nat_ip Fusionné
destinationTranslatedPort target.nat_port Renommé/Mappé
dest_port target.port Mappé directement
dpt target.port Renommé/Mappé
port 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 Mappé directement
dpid target.process.pid Renommé/Mappé
resource_Type_label target.resource.attribute.labels Fusionné
request target.url Mappé directement
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
username target.user.userid Mappé directement
N/A about Constante : about
N/A about.ip Constante : ips
N/A about.mac Constante : mac_address
N/A about.nat_ip Constante : deviceTranslatedAddress
N/A about.resource.attribute.permissions Constante : permissions
N/A additional.fields Constante : additional_eventId
N/A extensions.auth.type Constante : MACHINE
N/A intermediary Constante : intermediary
N/A intermediary.asset.ip Constante : middle_ip
N/A intermediary.ip Constante : middle_ip
N/A metadata.event_type Constante : USER_LOGIN
N/A metadata.product_name Constante : FORESCOUT NAC
N/A metadata.vendor_name Constante : FORESCOUT
N/A network.direction Constante : INBOUND
N/A network.email.subject Constante : mail_subject
N/A network.email.to Constante : mail_to
N/A principal.asset.ip Constante : source_ip
N/A principal.ip Constante : principal_ip
N/A principal.mac Constante : mac
N/A principal.nat_ip Constante : sourceTranslatedAddress
N/A principal.user.attribute.roles Constante : principal_role
N/A security_result Constante : security_result
N/A security_result.about.resource.attribute.labels Constante : res_label
N/A security_result.action Constante : _action
N/A security_result.alert_state Constante : ALERTING
N/A security_result.category_details Constante : cat
N/A security_result.detection_fields Constante : operation_label
N/A security_result.rule_name Constante : Virtual Firewall blocking
N/A security_result.severity Constante : LOW
N/A src.resource.attribute.permissions Constante : old_permissions
N/A target.asset.ip Constante : target_ip
N/A target.ip Constante : dst_ip
N/A target.mac Constante : mac_address
N/A target.nat_ip Constante : destination_translated_address
N/A target.resource.attribute.labels Constante : resource_Type_label
N/A target.user.attribute.roles Constante : target_role

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