Collecter les journaux FireEye NX

Compatible avec :

Ce document explique comment ingérer des journaux Trellix Network Security (anciennement FireEye NX) dans Google Security Operations à l'aide de Bindplane.

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'application derrière un proxy, assurez-vous que les ports de pare-feu sont ouverts conformément aux exigences de l'agent Bindplane.
  • Un accès privilégié à la console de gestion Trellix Network Security (NX)

Obtenir le fichier d'authentification d'ingestion Google SecOps

  1. Connectez-vous à la console Google SecOps.
  2. Accédez à SIEM Settings > Collection Agents (Paramètres 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 où 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 l'ID client de la section Organization Details (Informations sur l'organisation) et enregistrez-le.

Installer l'agent Bindplane

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

Installation sous 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
    

Installation sous Linux

  1. Ouvrez un terminal avec des 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
    

Ressources d'installation supplémentaires

Pour obtenir d'autres 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 /etc/bindplane-agent/ répertoire sous Linux ou dans le répertoire d'installation sous Windows.
    • Ouvrez le fichier à l'aide d'un éditeur de texte (par exemple, nano, vi ou le Bloc-notes).
  2. Modifiez le fichier config.yaml comme suit :

    receivers:
    udplog:
       # Replace the port and IP address as required
       listen_address: "0.0.0.0:514"
    
    exporters:
    chronicle/fireeye_nx:
       compression: gzip
       # Adjust the path to the credentials file you downloaded in Step 1
       creds_file_path: '/path/to/ingestion-authentication-file.json'
       # Replace with your actual customer ID from Step 2
       customer_id: <CUSTOMER_ID>
       # Replace with your regional endpoint
       endpoint: <ENDPOINT>
       log_type: 'FIREEYE_NX'
       raw_log_field: body
       ingestion_labels:
    
    service:
    pipelines:
       logs/source0__chronicle_w_labels-0:
          receivers:
          - udplog
          exporters:
          - chronicle/fireeye_nx
    
    • Remplacez le port et l'adresse IP selon les besoins de votre infrastructure.
    • Remplacez <CUSTOMER_ID> par l'ID client réel.
    • Remplacez la valeur <ENDPOINT> par votre point de terminaison régional :
      • États-Unis : malachiteingestion-pa.googleapis.com
      • Europe (Francfort): europe-west3-malachiteingestion-pa.googleapis.com
      • Europe (Londres): europe-west2-malachiteingestion-pa.googleapis.com
      • Europe (Zurich): europe-west6-malachiteingestion-pa.googleapis.com
      • Europe (Turin): europe-west12-malachiteingestion-pa.googleapis.com
      • Asie (Tokyo): asia-northeast1-malachiteingestion-pa.googleapis.com
      • Moyen-Orient (Tel Aviv) : me-west1-malachiteingestion-pa.googleapis.com
      • Australie (Sydney): australia-southeast1-malachiteingestion-pa.googleapis.com
    • Remplacez /path/to/ingestion-authentication-file.json par le chemin d'accès où le fichier d'authentification a été enregistré dans la section Obtenir le fichier d'authentification d'ingestion Google SecOps.

Redémarrer l'agent Bindplane pour appliquer les modifications

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

    sudo systemctl restart bindplane-agent
    
  2. 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 le transfert Syslog sur Trellix Network Security

  1. Connectez-vous à la console Trellix Network Security avec un compte administrateur.
  2. Accédez à Settings > Notifications (Paramètres > Notifications).
  3. Cliquez sur l'onglet rsyslog.
  4. Cochez la case Event type (Type d'événement) pour activer les notifications rsyslog.
  5. Dans le panneau Settings (Paramètres), fournissez les informations de configuration suivantes :
    • Default format (Format par défaut) : sélectionnez CEF.
  6. Dans la section Rsyslog Server Listing (Liste des serveurs Rsyslog) :
    • Saisissez un nom descriptif pour la nouvelle entrée (par exemple, Google SecOps BindPlane).
    • Cliquez sur le bouton Add Rsyslog Server (Ajouter un serveur Rsyslog).
  7. Pour le serveur que vous venez d'ajouter, fournissez les informations de configuration suivantes :
    • Enabled (Activé) : cochez la case pour activer le serveur.
    • IP Address (Adresse IP) : saisissez l'adresse IP de l'agent Bindplane.
    • Port : saisissez le numéro de port de l'agent Bindplane (par exemple, 514).
    • Protocol (Protocole) : sélectionnez UDP ou TCP, selon la configuration de votre agent Bindplane.
    • Event Types (Types d'événements) : sélectionnez les types d'événements à transférer (ou sélectionnez all (tout) pour une journalisation complète).
  8. Cliquez sur le bouton Update (Mettre à jour) pour enregistrer la configuration.

Table de mappage UDM

Champ du journal Mappage UDM Logique
alert.dst.ip target.ip, target.asset.ip Mappage direct à partir du champ alert.dst.ip
alert.dst.mac target.mac, target.asset.mac Mappage direct à partir du champ alert.dst.mac
alert.dst.port target.port Mappage direct à partir du champ alert.dst.port
alert.explanation.cnc-services.cnc-service.address target.ip, target.asset.ip Mappage direct à partir du champ alert.explanation.cnc-services.cnc-service.address
alert.explanation.cnc-services.cnc-service.port target.port Mappage direct à partir du champ alert.explanation.cnc-services.cnc-service.port
alert.explanation.cnc-services.cnc-service.url target.url Mappage direct à partir du champ alert.explanation.cnc-services.cnc-service.url
alert.explanation.malware-detected.malware.0.name security_result.threat_name Mappage direct à partir du champ alert.explanation.malware-detected.malware.0.name en cas de détection de plusieurs logiciels malveillants dans un tableau
alert.explanation.malware-detected.malware.md5sum target.file.md5 Mappage direct à partir du champ alert.explanation.malware-detected.malware.md5sum
alert.explanation.malware-detected.malware.name security_result.threat_name Mappage direct à partir du champ alert.explanation.malware-detected.malware.name
alert.explanation.malware-detected.malware.sha1 target.file.sha1 Mappage direct à partir du champ alert.explanation.malware-detected.malware.sha1
alert.explanation.malware-detected.malware.sha256 target.file.sha256 Mappage direct à partir du champ alert.explanation.malware-detected.malware.sha256
alert.explanation.malware-detected.malware.url target.url Mappage direct à partir du champ alert.explanation.malware-detected.malware.url
alert.name read_only_udm.metadata.product_event_type Mappage direct à partir du champ alert.name
alert.occurred read_only_udm.metadata.event_timestamp Mappage direct à partir du champ alert.occurred
alert.src.domain principal.hostname Mappage direct à partir du champ alert.src.domain
alert.src.host principal.hostname Mappage direct à partir du champ alert.src.host
alert.src.ip principal.ip, principal.asset.ip Mappage direct à partir du champ alert.src.ip
alert.src.mac principal.mac, principal.asset.mac Mappage direct à partir du champ alert.src.mac
alert.src.port principal.port Mappage direct à partir du champ alert.src.port
alert.src.smtp-mail-from network.email.from Mappage direct à partir du champ alert.src.smtp-mail-from
alert.smtp-message.id network.email.mail_id Mappage direct à partir du champ alert.smtp-message.id
alert.smtp-message.subject network.email.subject Mappage direct à partir du champ alert.smtp-message.subject
client_ip principal.ip Mappage direct à partir du champ client_ip
client_src_port principal.port Mappage direct à partir du champ client_src_port
compression additional.fields.value.string_value Mappage direct à partir du champ compression
etag additional.fields.value.string_value Mappage direct à partir du champ etag
host principal.hostname Mappage direct à partir du champ host
log_id read_only_udm.metadata.product_log_id Mappage direct à partir du champ log_id
method network.http.method Mappage direct à partir du champ method
persistent_session_id network.session_id Mappage direct à partir du champ persistent_session_id
pool additional.fields.value.string_value Mappage direct à partir du champ pool
pool_name additional.fields.value.string_value Mappage direct à partir du champ pool_name
request_id additional.fields.value.string_value Mappage direct à partir du champ request_id
request_state additional.fields.value.string_value Mappage direct à partir du champ request_state
response_code network.http.response_code Mappage direct à partir du champ response_code
rewritten_uri_query additional.fields.value.string_value Mappage direct à partir du champ rewritten_uri_query
server_ip target.ip Mappage direct à partir du champ server_ip
server_name target.hostname Mappage direct à partir du champ server_name
server_src_port target.port Mappage direct à partir du champ server_src_port
service_engine additional.fields.value.string_value Mappage direct à partir du champ service_engine
ssl_cipher network.tls.cipher Mappage direct à partir du champ ssl_cipher
ssl_version network.tls.version_protocol Mappage direct à partir du champ ssl_version
uri_path network.http.referral_url Mappage direct à partir du champ uri_path
uri_query additional.fields.value.string_value Mappage direct à partir du champ uri_query
user_id principal.user.userid Mappage direct à partir du champ user_id
virtualservice additional.fields.value.string_value Mappage direct à partir du champ virtualservice
vs_name additional.fields.value.string_value Mappage direct à partir du champ vs_name
read_only_udm.metadata.event_type Défini sur SCAN_UNCATEGORIZED si les adresses IP principale et cible sont présentes, STATUS_UPDATE si l'adresse IP ou le nom d'hôte principal est présent, USER_UNCATEGORIZED si l'ID utilisateur principal est présent, EMAIL_TRANSACTION si alert.src.smtp-mail-from et alert.dst.smtp-to sont tous deux présents, et GENERIC_EVENT dans les autres cas.
read_only_udm.metadata.ingested_timestamp Défini sur l'horodatage actuel si alert.attack-time n'est pas présent.
read_only_udm.metadata.log_type Défini sur FIREEYE_NX.
read_only_udm.metadata.vendor_name Défini sur FireEye.
read_only_udm.network.application_protocol Défini sur HTTP si le message contient "http" (sans tenir compte de la casse).
read_only_udm.security_result.action Défini sur ALLOW si _source.action est "notified" (sans tenir compte de la casse), BLOCK si _source.action est "blocked" (sans tenir compte de la casse) et UNKNOWN_ACTION dans les autres cas.
read_only_udm.security_result.category Défini sur NETWORK_SUSPICIOUS si sec_category contient "DOMAIN.MATCH" (sans tenir compte de la casse), NETWORK_MALICIOUS si sec_category contient "INFECTION.MATCH" ou "WEB.INFECTION" (sans tenir compte de la casse), SOFTWARE_MALICIOUS si sec_category contient "MALWARE.OBJECT" (sans tenir compte de la casse), NETWORK_COMMAND_AND_CONTROL si sec_category contient "MALWARE.CALLBACK" (sans tenir compte de la casse) et UNKNOWN_CATEGORY dans les autres cas.
read_only_udm.security_result.severity Défini sur MEDIUM si _source.severity ou temp_severity est "majr" (sans tenir compte de la casse), LOW si _source.severity ou temp_severity est "minr" (sans tenir compte de la casse) et non défini dans les autres cas.
read_only_udm.security_result.summary Défini sur la valeur de security_result.threat_name.
is_alert Défini sur true.
is_significant Défini sur true.

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