Collecter les journaux Trend Micro DDI

Compatible avec :

Ce document explique comment ingérer les journaux Trend Micro Deep Discovery Inspector (DDI) dans Google Security Operations à l'aide de l'agent Bindplane.

Trend Micro Deep Discovery Inspector est un dispositif réseau qui surveille tous les ports et protocoles réseau pour détecter les menaces avancées. Il génère des messages syslog au format CEF pour les résultats d'analyse de Virtual Analyzer, les détections de produits intégrés, les événements de pré-analyse ICAP, les événements système et les événements d'alerte. L'analyseur extrait les champs des journaux au format CEF 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 Trend Micro DDI
  • 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é à une instance de Trend Micro Deep Discovery Inspector

Obtenir le fichier d'authentification d'ingestion Google SecOps

  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 sur lequel Bindplane sera installé.

Obtenir l'ID client Google SecOps

  1. Connectez-vous à la console Google SecOps.
  2. Accédez à Paramètres du 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 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 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 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).

Autres ressources d'installation

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

Paramètres de configuration

Remplacez les espaces réservés suivants :

  • Configuration du récepteur :

    • listen_address : adresse IP et port à écouter :
      • 0.0.0.0 pour écouter sur toutes les interfaces (recommandé)
      • Le port 514 est le port syslog standard (nécessite la racine sur Linux ; utilisez 1514 pour les utilisateurs non racine).
  • 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 copié depuis la console 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 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 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 syslog dans Trend Micro Deep Discovery Inspector

  1. Connectez-vous à l'interface utilisateur Web de Trend Micro Deep Discovery Inspector.
  2. Accédez à Administration> Produits/Services intégrés> Syslog.
  3. Cliquez sur Ajouter pour ajouter un serveur Syslog.
  4. Fournissez les informations de configuration suivantes :
    • Activez le profil Syslog.
    • Nom du profil : saisissez un nom unique et pertinent.
    • Adresse du serveur : saisissez l'adresse IP de l'agent Bindplane.
    • Port : saisissez le numéro de port de l'agent Bindplane (par exemple, UDP: 514).
    • Protocole : sélectionnez UDP (ou un autre protocole en fonction de votre configuration Bindplane).
    • Établissement : saisissez Local0.
    • Gravité : sélectionnez Informationnel.
    • Format : sélectionnez CEF.
    • Périmètre des journaux : sélectionnez Journaux d'analyse Virtual Analyzer, Journaux de détection des produits intégrés, Journaux de pré-analyse ICAP, Journaux des événements système et Journaux des événements d'alerte.
  5. Cliquez sur Enregistrer.

Table de mappage UDM

Champ de 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 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é
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 Mappé directement
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é
appGroup_label additional.fields Fusionné
cn4_label additional.fields Fusionné
cn5_label additional.fields Fusionné
cnt_label additional.fields Fusionné
compressed_file_hash_label additional.fields Fusionné
cs10_label additional.fields Fusionné
cs2 additional.fields Mappé : arc_test → additional_cs2
cs5_label additional.fields Fusionné
cs8_label additional.fields Fusionné
cs9_label additional.fields Fusionné
device_mac_address_label additional.fields Fusionné
evt_cat_label additional.fields Fusionné
fileType_label additional.fields Fusionné
message additional.fields Valeurs mappées (33 au total, par exemple CEF: → additional_eventId, CEF: → `additional_devicePayl...
pcomp_label additional.fields Fusionné
ptype_label additional.fields Fusionné
vlan_info additional.fields Fusionné
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
date_value metadata.event_timestamp Analysé en tant que MMM dd yyyy HH:mm:ss ZZ
rt metadata.event_timestamp Analysé en tant que yyyy-MM-ddTHH:mm:ssZ
event_name metadata.event_type Mappé : "LogSpyware","LogPredictiveMachineLearning" → SCAN_UNCATEGORIZED
message metadata.event_type Valeurs mappées (5 au total, par exemple CEF: → PROCESS_UNCATEGORIZED, CEF: → SCAN_UNCATEGORIZED…)
principal_present metadata.event_type Mappé : true → NETWORK_CONNECTION, true → STATUS_UPDATE
device_event_class_id metadata.product_event_type Mappé directement
event_name metadata.product_event_type Mappé directement
externalId metadata.product_log_id Mappé directement
device_product metadata.product_name Mappé directement
device_version metadata.product_version Mappé directement
device_vendor metadata.vendor_name Renommé/Mappé
app_protocol_output network.application_protocol Mappé directement
deviceDirection network.direction Mappé : 0 → INBOUND, 1 → OUTBOUND
message network.direction Mappé : CEF: → INBOUND, CEF: → OUTBOUND
message network.dns.questions Mappé : CEF: → question
question network.dns.questions Fusionné
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é
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 Mappé directement
shost principal.hostname Renommé/Mappé
message principal.ip Mappé : CEF: → principal_ip, CEF: → shost
principal_ip principal.ip Fusionné
shost principal.ip Fusionné
deviceMacAddress principal.mac Fusionné
mac principal.mac Fusionné
message principal.mac Mappé : CEF: → mac, CEF: → deviceMacAddress
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 Mappé directement
suid principal.user.userid Renommé/Mappé
message security_result Mappé : CEF: → security_result
_action security_result.action Fusionné
act security_result.action Mappé : accept → _action, deny → _action
message security_result.action Mappé : CEF: → _action
Action_Taken security_result.action_details Mappé directement
act security_result.action_details Mappé directement
cat security_result.category_details Fusionné
message security_result.category_details Mappé : CEF: → cat
deviceRiskConfidenceLevel security_result.confidence_score Mappé directement
message security_result.confidence_score Mappé : CEF: → float
Scan_Type security_result.description Mappé directement
Type security_result.description Mappé directement
msg_data_2 security_result.description Mappé directement
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é
ruleId security_result.rule_id Mappé directement
mwProfile security_result.rule_name Mappé directement
ruleName security_result.rule_name Mappé directement
hostSeverity security_result.severity Mappé : "0", "1", "2", "3" → LOW, "4", "5", "6" → MEDIUM, "7", "8" → HIGH, "9",...
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 Mappé directement
appcategory 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
malType security_result.threat_name Mappé directement
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é
dntdom target.administrative_domain Renommé/Mappé
destinationServiceName target.application Renommé/Mappé
temp_dhost target.hostname Mappé directement
IPv6_Address target.ip Fusionné
dst_ip target.ip Fusionné
ipv6 target.ip Mappé : - → IPv6_Address
message target.ip Mappé : 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 Mappé directement
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 Mappé directement
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 network.direction Constante : INBOUND
N/A security_result.severity Constante : LOW
reason event.idm.read_only_udm.network.dns.questions.name Mappé à partir du journal des modifications
deviceMacAddress event.idm.read_only_udm.principal.mac Mappé à partir du journal des modifications
deviceRiskConfidenceLevel event.idm.read_only_udm.security_result.confidence_score Mappé à partir du journal des modifications
ruleId event.idm.read_only_udm.security_result.rule_id Mappé à partir du journal des modifications
ruleName event.idm.read_only_udm.security_result.rule_name Mappé à partir du journal des modifications
hostSeverity event.idm.read_only_udm.security_result.severity Mappé à partir du journal des modifications
malType event.idm.read_only_udm.security_result.threat_name Mappé à partir du journal des modifications
vLANId event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
cnt event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
evtCat event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
deviceGUID event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
ptype event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
cs9 event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
cs10 event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
pComp event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
cn4 event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
cn5 event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
cs8 event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
fileType event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
appGroup event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
compressedFileHash event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications

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.