Collecter les journaux VMware ESXi

Compatible avec:

Présentation

Cet analyseur extrait des champs des journaux syslog et au format JSON VMware ESXi. Il normalise la variété des formats de journaux ESXi dans une structure commune, puis renseigne les champs UDM en fonction des valeurs extraites, y compris la gestion de cas spécifiques pour différents services ESXi tels que crond, named et sshd à l'aide de fichiers d'inclusion.

Avant de commencer

  • Assurez-vous de disposer d'une instance Google SecOps.
  • Assurez-vous de disposer d'un accès privilégié à VMWare ESX.
  • Assurez-vous de disposer d'un hôte Windows 2012 SP2 ou version ultérieure ou Linux avec systemd.
  • Si vous exécutez l'application derrière un proxy, assurez-vous que les ports du pare-feu sont ouverts.

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.

Obtenir le numéro client Google SecOps

  1. Connectez-vous à la console Google SecOps.
  2. Accédez à Paramètres du SIEM > Profil.
  3. Copiez et sauvegardez l'ID client dans la section Détails de l'organisation.

Installer l'agent BindPlane

  1. Pour l'installation sous Windows, exécutez le script suivant: msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet.
  2. Pour l'installation sous Linux, exécutez le script suivant: sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh.
  3. Pour en savoir plus sur les options d'installation, consultez ce guide d'installation.

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

  1. Accédez à la machine sur laquelle BindPlane est installé.
  2. Modifiez le fichier config.yaml comme suit :

    receivers:
      tcplog:
        # Replace the below port <54525> and IP (0.0.0.0) with your specific values
        listen_address: "0.0.0.0:54525" 
    
    exporters:
        chronicle/chronicle_w_labels:
            compression: gzip
            # Adjust the creds location below according the placement of the credentials file you downloaded
            creds: '{ json file for creds }'
            # Replace <customer_id> below with your actual ID that you copied
            customer_id: <customer_id>
            endpoint: malachiteingestion-pa.googleapis.com
            # You can apply ingestion labels below as preferred
            ingestion_labels:
            log_type: SYSLOG
            namespace: 
            raw_log_field: body
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - tcplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. Redémarrez l'agent BindPlane pour appliquer les modifications à l'aide de la commande suivante : sudo systemctl bindplane restart

Règle de pare-feu ESXi permettant d'autoriser le syslog

  1. Accédez à Networking > Firewall rules (Mise en réseau > Règles de pare-feu).
  2. Recherchez syslog dans la colonne "Nom".
  3. Cliquez sur Modifier les paramètres.
  4. Mettez à jour le port tcp ou udp que vous avez configuré dans BindPlane.
  5. Cliquez sur Enregistrer.
  6. Laissez la ligne syslog sélectionnée.
  7. Sélectionnez Actions > Activer.

Exporter le journal Syslog de VMware ESXi à l'aide du client vSphere

  1. Connectez-vous à votre hôte ESXi à l'aide du client vSphere.
  2. Accédez à Gérer > Système > Paramètres avancés.
  3. Recherchez la clé Syslog.global.logHost dans la liste.
  4. Sélectionnez la clé, puis cliquez sur Modifier l'option.
  5. Saisissez <protocol>://<destination_IP>:<port>
    • Remplacez <protocol> par tcp (si vous avez configuré BindPlane pour qu'il utilise UDP, saisissez udp).
    • Remplacez <destination_IP> par l'adresse IP de votre agent BindPlane.
    • Remplacez <port> par le port précédemment configuré dans BindPlane.
  6. Cliquez sur Enregistrer.

Facultatif: Exporter le journal Syslog de VMware ESXi à l'aide de SSH

  1. Connectez-vous à votre hôte ESXi via SSH.
  2. Exécutez la commande esxcli system syslog config set --loghost=<protocol>://<destination_IP>:<port>.
    • Remplacez <protocol> par tcp (si vous avez configuré BindPlane pour qu'il utilise UDP, saisissez udp).
    • Remplacez <destination_IP> par l'adresse IP de votre agent BindPlane.
    • Remplacez <port> par le port précédemment configuré dans BindPlane.
  3. Redémarrez le service syslog en saisissant la commande /etc/init.d/syslog restart.

Tableau de mappage UDM

Champ de journal Mappage UDM Logique
@fields.alias event.idm.read_only_udm.principal.cloud.project.alias Mappé directement à partir du champ @fields.alias du journal JSON.
@fields.company_name event.idm.read_only_udm.principal.user.company_name Mappé directement à partir du champ @fields.company_name du journal JSON.
@fields.facility event.idm.read_only_udm.principal.resource.type Mappé directement à partir du champ @fields.facility du journal JSON.
@fields.host event.idm.read_only_udm.principal.hostname, event.idm.read_only_udm.principal.asset.hostname Mappé directement à partir du champ @fields.host du journal JSON.
@fields.privatecloud_id event.idm.read_only_udm.principal.cloud.project.id Mappé directement à partir du champ @fields.privatecloud_id du journal JSON.
@fields.privatecloud_name event.idm.read_only_udm.principal.cloud.project.name Mappé directement à partir du champ @fields.privatecloud_name du journal JSON.
@fields.procid event.idm.read_only_udm.principal.process.pid Mappé directement à partir du champ @fields.procid du journal JSON.
@fields.region_id event.idm.read_only_udm.principal.location.country_or_region Mappé directement à partir du champ @fields.region_id du journal JSON.
@fields.severity event.idm.read_only_udm.security_result.severity Mappé à partir du champ @fields.severity du journal JSON. Si la valeur est "info" ou similaire, elle est mappée sur "INFORMATIONAL".
@timestamp event.idm.read_only_udm.metadata.event_timestamp Analysé et converti en objet horodatage à partir du champ @timestamp du journal à l'aide du filtre date.
adapter event.idm.read_only_udm.target.resource.name Mappé directement à partir du champ adapter du journal brut.
action event.idm.read_only_udm.security_result.action Mappé directement à partir du champ action du journal brut. Des valeurs telles que "ALLOW" et "BLOCK" sont utilisées.
action event.idm.read_only_udm.security_result.action_details Mappé directement à partir du champ action du journal brut. Des valeurs telles que "Redirect" (Redirection) sont utilisées.
administrative_domain event.idm.read_only_udm.principal.administrative_domain Mappé directement à partir du champ administrative_domain du journal brut.
agent.hostname event.idm.read_only_udm.intermediary.hostname Mappé directement à partir du champ agent.hostname du journal JSON.
agent.id event.idm.read_only_udm.intermediary.asset.id Mappé directement à partir du champ agent.id du journal JSON.
agent.name event.idm.read_only_udm.intermediary.asset.name Mappé directement à partir du champ agent.name du journal JSON.
agent.type event.idm.read_only_udm.intermediary.asset.type Mappé directement à partir du champ agent.type du journal JSON.
agent.version event.idm.read_only_udm.intermediary.asset.version Mappé directement à partir du champ agent.version du journal JSON.
app_name event.idm.read_only_udm.principal.application Mappé directement à partir du champ app_name du journal brut.
app_protocol event.idm.read_only_udm.network.application_protocol Mappé directement à partir du champ app_protocol du journal brut. Si la valeur correspond à "http" (sans distinction entre majuscules et minuscules), elle est mappée sur "HTTP".
application event.idm.read_only_udm.principal.application Mappé directement à partir du champ program du journal JSON.
cmd event.idm.read_only_udm.target.process.command_line Mappé directement à partir du champ cmd du journal brut.
collection_time event.idm.read_only_udm.metadata.event_timestamp Les nanosecondes du champ collection_time sont ajoutées aux secondes du champ collection_time pour créer le event_timestamp.
data event.idm.read_only_udm.metadata.description Le message de journal brut est analysé et les parties pertinentes sont extraites pour renseigner le champ de description.
descrip event.idm.read_only_udm.metadata.description Mappé directement à partir du champ descrip du journal brut.
dns.answers.data event.idm.read_only_udm.network.dns.answers.data Mappé directement à partir du champ dns.answers.data du journal JSON.
dns.answers.ttl event.idm.read_only_udm.network.dns.answers.ttl Mappé directement à partir du champ dns.answers.ttl du journal JSON.
dns.answers.type event.idm.read_only_udm.network.dns.answers.type Mappé directement à partir du champ dns.answers.type du journal JSON.
dns.questions.name event.idm.read_only_udm.network.dns.questions.name Mappé directement à partir du champ dns.questions.name du journal JSON.
dns.questions.type event.idm.read_only_udm.network.dns.questions.type Mappé directement à partir du champ dns.questions.type du journal JSON.
dns.response event.idm.read_only_udm.network.dns.response Mappé directement à partir du champ dns.response du journal JSON.
ecs.version event.idm.read_only_udm.metadata.product_version Mappé directement à partir du champ ecs.version du journal JSON.
event_message event.idm.read_only_udm.metadata.description Mappé directement à partir du champ event_message du journal JSON.
event_metadata event.idm.read_only_udm.principal.process.product_specific_process_id Le champ event_metadata est analysé pour extraire la valeur opID, qui est ensuite précédée de "opID:" et mappée sur l'UDM.
event_type event.idm.read_only_udm.metadata.event_type Mappé directement à partir du champ event_type du journal JSON.
filepath event.idm.read_only_udm.target.file.full_path Mappé directement à partir du champ filepath du journal brut.
fields.company_name event.idm.read_only_udm.principal.user.company_name Mappé directement à partir du champ fields.company_name du journal JSON.
fields.facility event.idm.read_only_udm.principal.resource.type Mappé directement à partir du champ fields.facility du journal JSON.
fields.host event.idm.read_only_udm.principal.hostname, event.idm.read_only_udm.principal.asset.hostname Mappé directement à partir du champ fields.host du journal JSON.
fields.privatecloud_id event.idm.read_only_udm.principal.cloud.project.id Mappé directement à partir du champ fields.privatecloud_id du journal JSON.
fields.privatecloud_name event.idm.read_only_udm.principal.cloud.project.name Mappé directement à partir du champ fields.privatecloud_name du journal JSON.
fields.procid event.idm.read_only_udm.principal.process.pid Mappé directement à partir du champ fields.procid du journal JSON.
fields.region_id event.idm.read_only_udm.principal.location.country_or_region Mappé directement à partir du champ fields.region_id du journal JSON.
fields.severity event.idm.read_only_udm.security_result.severity Mappé à partir du champ fields.severity du journal JSON. Si la valeur est "info" ou similaire, elle est mappée sur "INFORMATIONAL".
host.architecture event.idm.read_only_udm.principal.asset.architecture Mappé directement à partir du champ host.architecture du journal JSON.
host.containerized event.idm.read_only_udm.principal.asset.containerized Mappé directement à partir du champ host.containerized du journal JSON.
host.hostname event.idm.read_only_udm.principal.hostname, event.idm.read_only_udm.principal.asset.hostname Mappé directement à partir du champ host.hostname du journal JSON.
host.id event.idm.read_only_udm.principal.asset.id Mappé directement à partir du champ host.id du journal JSON.
host.ip event.idm.read_only_udm.principal.ip, event.idm.read_only_udm.principal.asset.ip Mappé directement à partir du champ host.ip du journal JSON.
host.mac event.idm.read_only_udm.principal.mac, event.idm.read_only_udm.principal.asset.mac Mappé directement à partir du champ host.mac du journal JSON.
host.name event.idm.read_only_udm.principal.asset.name Mappé directement à partir du champ host.name du journal JSON.
host.os.codename event.idm.read_only_udm.principal.asset.os.codename Mappé directement à partir du champ host.os.codename du journal JSON.
host.os.family event.idm.read_only_udm.principal.asset.os.family Mappé directement à partir du champ host.os.family du journal JSON.
host.os.kernel event.idm.read_only_udm.principal.asset.os.kernel Mappé directement à partir du champ host.os.kernel du journal JSON.
host.os.name event.idm.read_only_udm.principal.asset.os.name Mappé directement à partir du champ host.os.name du journal JSON.
host.os.platform event.idm.read_only_udm.principal.asset.os.platform Mappé directement à partir du champ host.os.platform du journal JSON.
host.os.version event.idm.read_only_udm.principal.asset.os.version Mappé directement à partir du champ host.os.version du journal JSON.
iporhost event.idm.read_only_udm.principal.hostname, event.idm.read_only_udm.principal.asset.hostname Mappé directement à partir du champ iporhost du journal brut.
iporhost event.idm.read_only_udm.principal.ip Mappé directement à partir du champ iporhost du journal brut s'il s'agit d'une adresse IP.
iporhost1 event.idm.read_only_udm.principal.hostname, event.idm.read_only_udm.principal.asset.hostname Mappé directement à partir du champ iporhost1 du journal brut.
kv_data1 event.idm.read_only_udm.principal.process.product_specific_process_id Le champ kv_data1 est analysé pour extraire la valeur opID ou sub, qui est ensuite précédée de "opID:" ou "sub:", respectivement, et mappée sur l'UDM.
kv_msg event.idm.read_only_udm.additional.fields Le champ kv_msg est analysé en tant que paires clé-valeur et ajouté au tableau additional_fields dans l'UDM.
kv_msg1 event.idm.read_only_udm.additional.fields Le champ kv_msg1 est analysé en tant que paires clé-valeur et ajouté au tableau additional_fields dans l'UDM.
lbdn event.idm.read_only_udm.target.hostname Mappé directement à partir du champ lbdn du journal brut.
log.source.address event.idm.read_only_udm.observer.hostname Mappé directement à partir du champ log.source.address du journal JSON, en ne prenant que la partie du nom d'hôte.
log_event.original event.idm.read_only_udm.metadata.description Mappé directement à partir du champ event.original du journal JSON.
log_level event.idm.read_only_udm.security_result.severity_details Mappé directement à partir du champ log_level du journal JSON.
logstash.collect.host event.idm.read_only_udm.observer.hostname Mappé directement à partir du champ logstash.collect.host du journal JSON.
logstash.collect.timestamp event.idm.read_only_udm.metadata.ingested_timestamp Analysé et converti en objet horodatage à partir du champ logstash.collect.timestamp du journal à l'aide du filtre date.
logstash.ingest.host event.idm.read_only_udm.intermediary.hostname Mappé directement à partir du champ logstash.ingest.host du journal JSON.
logstash.ingest.timestamp event.idm.read_only_udm.metadata.ingested_timestamp Analysé et converti en objet horodatage à partir du champ logstash.ingest.timestamp du journal à l'aide du filtre date.
logstash.process.host event.idm.read_only_udm.intermediary.hostname Mappé directement à partir du champ logstash.process.host du journal JSON.
logstash.process.timestamp event.idm.read_only_udm.metadata.ingested_timestamp Analysé et converti en objet horodatage à partir du champ logstash.process.timestamp du journal à l'aide du filtre date.
log_type event.idm.read_only_udm.metadata.log_type Mappé directement à partir du champ log_type du journal brut.
message event.idm.read_only_udm.metadata.description Mappé directement à partir du champ message du journal JSON.
message_to_process event.idm.read_only_udm.metadata.description Mappé directement à partir du champ message_to_process du journal brut.
metadata.event_type event.idm.read_only_udm.metadata.event_type Initialement défini sur "GENERIC_EVENT", puis potentiellement écrasé en fonction de l'service analysé ou d'un autre contenu de journal. Peut être une valeur telle que PROCESS_LAUNCH, NETWORK_CONNECTION, USER_LOGIN, etc.
metadata.product_event_type event.idm.read_only_udm.metadata.product_event_type Mappé directement à partir du champ process_id ou prod_event_type du journal brut.
metadata.product_log_id event.idm.read_only_udm.metadata.product_log_id Mappé directement à partir du champ event_id du journal brut.
metadata.product_name event.idm.read_only_udm.metadata.product_name Définissez-le sur "ESX".
metadata.product_version event.idm.read_only_udm.metadata.product_version Mappé directement à partir du champ version du journal JSON.
metadata.vendor_name event.idm.read_only_udm.metadata.vendor_name Définissez cette valeur sur "VMWARE".
msg event.idm.read_only_udm.metadata.description Mappé directement à partir du champ msg du journal brut.
network.application_protocol event.idm.read_only_udm.network.application_protocol Définissez ce paramètre sur "DNS" si service est "named", sur "HTTPS" si le port est 443 ou sur "HTTP" si app_protocol correspond à "http".
network.direction event.idm.read_only_udm.network.direction Déterminé à partir de mots clés dans le journal brut, tels que "IN", "OUT" et "->". Peut être INBOUND ou OUTBOUND.
network.http.method event.idm.read_only_udm.network.http.method Mappé directement à partir du champ method du journal brut.
network.http.parsed_user_agent event.idm.read_only_udm.network.http.parsed_user_agent Extrait du champ useragent à l'aide du filtre convert.
network.http.referral_url event.idm.read_only_udm.network.http.referral_url Mappé directement à partir du champ prin_url du journal brut.
network.http.response_code event.idm.read_only_udm.network.http.response_code Mappé directement à partir du champ status_code du journal brut et converti en entier.
network.http.user_agent event.idm.read_only_udm.network.http.user_agent Mappé directement à partir du champ useragent du journal brut.
network.ip_protocol event.idm.read_only_udm.network.ip_protocol Déterminé à partir de mots clés dans le journal brut, tels que "TCP", "UDP".
network.received_bytes event.idm.read_only_udm.network.received_bytes Mappé directement à partir du champ rec_bytes du journal brut et converti en entier non signé.
network.sent_bytes event.idm.read_only_udm.network.sent_bytes Extrait du champ message_to_process du journal brut.
network.session_id event.idm.read_only_udm.network.session_id Mappé directement à partir du champ session du journal brut.
pid event.idm.read_only_udm.target.process.parent_process.pid Mappé directement à partir du champ pid du journal brut.
pid event.idm.read_only_udm.principal.process.pid Mappé directement à partir du champ pid du journal JSON.
pid event.idm.read_only_udm.target.process.pid Mappé directement à partir du champ pid du journal brut.
port event.idm.read_only_udm.target.port Mappé directement à partir du champ port du journal JSON.
principal.application event.idm.read_only_udm.principal.application Mappé directement à partir du champ app_name ou service du journal brut.
principal.asset.hostname event.idm.read_only_udm.principal.asset.hostname Mappé directement à partir du champ principal_hostname ou iporhost du journal brut.
principal.asset.ip event.idm.read_only_udm.principal.asset.ip Mappé directement à partir du champ syslog_ip du journal brut.
principal.hostname event.idm.read_only_udm.principal.hostname Mappé directement à partir du champ principal_hostname ou iporhost du journal brut.
principal.ip event.idm.read_only_udm.principal.ip Mappé directement à partir du champ iporhost ou syslog_ip du journal brut.
principal.port event.idm.read_only_udm.principal.port Mappé directement à partir du champ srcport du journal brut.
principal.process.command_line event.idm.read_only_udm.principal.process.command_line Mappé directement à partir du champ cmd du journal brut.
principal.process.parent_process.pid event.idm.read_only_udm.principal.process.parent_process.pid Mappé directement à partir du champ parent_pid du journal brut.
principal.process.pid event.idm.read_only_udm.principal.process.pid Mappé directement à partir du champ process_id du journal brut.
principal.process.product_specific_process_id event.idm.read_only_udm.principal.process.product_specific_process_id Extrait du champ message_to_process du journal brut, généralement précédé de "opID:".
principal.url event.idm.read_only_udm.principal.url Mappé directement à partir du champ prin_url du journal brut.
principal.user.company_name event.idm.read_only_udm.principal.user.company_name Mappé directement à partir du champ fields.company_name du journal JSON.
principal.user.userid event.idm.read_only_udm.principal.user.userid Mappé directement à partir du champ USER du journal brut.
priority event.idm.read_only_udm.metadata.product_event_type Mappé directement à partir du champ priority du journal brut.
program event.idm.read_only_udm.principal.application Mappé directement à partir du champ program du journal JSON.
qname event.idm.read_only_udm.network.dns.questions.name Mappé directement à partir du champ qname du journal brut.
response_data event.idm.read_only_udm.network.dns.answers.data Mappé directement à partir du champ response_data du journal brut.
response_rtype event.idm.read_only_udm.network.dns.answers.type Mappé directement à partir du champ response_rtype du journal brut. Le type d'enregistrement DNS numérique est extrait.
response_ttl event.idm.read_only_udm.network.dns.answers.ttl Mappé directement à partir du champ response_ttl du journal brut.
rtype event.idm.read_only_udm.network.dns.questions.type Mappé directement à partir du champ rtype du journal brut. Le type d'enregistrement DNS numérique est extrait.
security_result.action event.idm.read_only_udm.security_result.action Déterminé à partir de mots clés ou d'états dans le journal brut. Il peut s'agir de ALLOW ou BLOCK.
security_result.action_details event.idm.read_only_udm.security_result.action_details Extrait du message de journal brut, fournit plus de contexte sur l'action effectuée.
security_result.category event.idm.read_only_udm.security_result.category Défini sur POLICY_VIOLATION si le journal indique une correspondance avec une règle de pare-feu.
security_result.description event.idm.read_only_udm.security_result.description Extrait du message de journal brut, fournit plus de contexte sur le résultat de sécurité.
security_result.rule_id event.idm.read_only_udm.security_result.rule_id Mappé directement à partir du champ rule_id du journal brut.
security_result.severity event.idm.read_only_udm.security_result.severity Déterminé à partir de mots clés dans le journal brut, tels que "info", "warning" et "error". Il peut s'agir de INFORMATIONAL, LOW, MEDIUM ou HIGH.
security_result.severity_details event.idm.read_only_udm.security_result.severity_details Mappé directement à partir du champ severity ou log.syslog.severity.name du journal brut.
security_result.summary event.idm.read_only_udm.security_result.summary Extrait du message de journal brut, fournit un résumé concis du résultat de sécurité.
service event.idm.read_only_udm.principal.application Mappé directement à partir du champ service du journal brut.
source event.idm.read_only_udm.principal.hostname, event.idm.read_only_udm.principal.asset.hostname Mappé directement à partir du champ source du journal brut.
src.file.full_path event.idm.read_only_udm.src.file.full_path Extrait du message de journal brut.
src.hostname event.idm.read_only_udm.src.hostname Mappé directement à partir du champ src.hostname du journal brut.
src_ip event.idm.read_only_udm.principal.ip Mappé directement à partir du champ src_ip du journal brut.
src_mac_address event.idm.read_only_udm.principal.mac Mappé directement à partir du champ src_mac_address du journal brut.
srcport event.idm.read_only_udm.principal.port Mappé directement à partir du champ srcport du journal brut.
srcip event.idm.read_only_udm.principal.ip Mappé directement à partir du champ srcip du journal brut.
subtype event.idm.read_only_udm.metadata.event_type Mappé directement à partir du champ subtype du journal brut.
tags event.idm.read_only_udm.metadata.tags Mappé directement à partir du champ tags du journal JSON.
target.application event.idm.read_only_udm.target.application Mappé directement à partir du champ target_application du journal brut.
target.file.full_path event.idm.read_only_udm.target.file.full_path Extrait du message de journal brut.
target.hostname event.idm.read_only_udm.target.hostname, event.idm.read_only_udm.target.asset.hostname Mappé directement à partir du champ target_hostname ou iporhost du journal brut.
target.ip event.idm.read_only_udm.target.ip Mappé directement à partir du champ target_ip du journal brut.
target.mac event.idm.read_only_udm.target.mac Mappé directement à partir du champ target_mac_address du journal brut.
target.port event.idm.read_only_udm.target.port Mappé directement à partir du champ target_port du journal brut.
target.process.command_line event.idm.read_only_udm.target.process.command_line Mappé directement à partir du champ cmd du journal brut.
target.process.parent_process.pid event.idm.read_only_udm.target.process.parent_process.pid Mappé directement à partir du champ parent_pid du journal brut.
target.process.pid event.idm.read_only_udm.target.process.pid Mappé directement à partir du champ pid du journal brut.
target.process.product_specific_process_id event.idm.read_only_udm.target.process.product_specific_process_id Extrait du champ message_to_process du journal brut, généralement précédé de "opID:".
target.resource.name event.idm.read_only_udm.target.resource.name Mappé directement à partir du champ adapter du journal brut.
target.resource.resource_type event.idm.read_only_udm.target.resource.resource_type Définissez cette valeur sur VIRTUAL_MACHINE si le journal indique une opération de VM.
target.resource.type event.idm.read_only_udm.target.resource.type Définissez sur SETTING si le journal indique une modification de paramètre.
target.user.userid event.idm.read_only_udm.target.user.userid Mappé directement à partir du champ target_username ou user1 du journal brut.
timestamp event.timestamp Analysé et converti en objet code temporel à partir du champ timestamp ou data du journal à l'aide du filtre date.
type event.idm.read_only_udm.additional.fields Le champ type du journal est ajouté au tableau additional_fields dans l'UDM avec la clé "LogType".
user1 event.idm.read_only_udm.target.user.userid Mappé directement à partir du champ user1 du journal brut.
useragent event.idm.read_only_udm.network.http.user_agent Mappé directement à partir du champ useragent du journal brut.
vmw_cluster event.idm.read_only_udm.target.resource.name Mappé directement à partir du champ vmw_cluster du journal brut.
vmw_datacenter event.idm.read_only_udm.target.resource.name Mappé directement à partir du champ vmw_datacenter du journal brut.
vmw_host event.idm.read_only_udm.target.ip Mappé directement à partir du champ vmw_host du journal brut.
vmw_object_id event.idm.read_only_udm.target.resource.id Mappé directement à partir du champ vmw_object_id du journal brut.
vmw_product event.idm.read_only_udm.target.application Mappé directement à partir du champ vmw_product du journal brut.
vmw_vcenter event.idm.read_only_udm.target.cloud.availability_zone Mappé directement à partir du champ vmw_vcenter du journal brut.
vmw_vcenter_id event.idm.read_only_udm.target.cloud.availability_zone.id Mappé directement à partir du champ vmw_vcenter_id du journal brut.
vmw_vr_ops_appname event.idm.read_only_udm.target.application Mappé directement à partir du champ vmw_vr_ops_appname du journal brut.
vmw_vr_ops_clustername event.idm.read_only_udm.target.resource.name Mappé directement à partir du champ vmw_vr_ops_clustername du journal brut.
vmw_vr_ops_clusterrole event.idm.read_only_udm.target.resource.type Mappé directement à partir du champ vmw_vr_ops_clusterrole du journal brut.

Modifications

2024-06-03

  • Prise en charge d'un nouveau format de journaux JSON.

2024-05-09

  • Prise en charge du nouveau format des journaux "snmpd" et "Rhttpproxy".
  • "prod_event_type" a été mappé sur "metadata.product_event_type".
  • Mappage de "context" sur "additional.fields".

2024-02-07

  • Correction de bug:
  • Ajout de nouveaux modèles Grok pour prendre en charge les journaux SYSLOG qui sont supprimés.
  • Mappage de "newVersion" et "filter" sur "security_result.detection_fields".
  • Mappage de "description" sur "security_result.description".

2023-10-10

  • Modification des noms de clés JSON suivants à l'aide de la fonction gsub:
  • "service" à "serv".
  • "event" à "log_event".
  • "@timestamp" au lieu de "timestamp".
  • "@version" à "version".
  • Ajout de nouveaux modèles Grok pour gérer les journaux JSON avec de nouveaux champs.
  • Mise en correspondance du code temporel avec les formats RFC 3339 et TIMESTAMP_ISO8601.
  • "host.hostname" a été mappé sur "principal.hostname".
  • "host.ip" a été mappé sur "principal.ip".
  • Mappage de "type", "serv.type", "log.syslog.facility.code", "log.syslog.facility.name", "log.syslog.severity.code", "log.syslog.severity.name" et "log.syslog.priority" sur "additional.fields".
  • Mappage de "process.name" sur "service".
  • Mappage de "version" sur "metadata.product_version".
  • Mappage de "severity" sur "security_result.severity".

2023-09-25

  • Ajout de nouveaux formats Grok pour gérer le nouveau type de SYSLOG pour VMware ESXi.
  • Mappage de "nom_application" sur "principal.application".
  • Mappage de "severity" sur "security_result.severity".

2023-07-17

  • Correction de bug : mise en correspondance de "username" avec "target.user.userid".
  • Mappage de "pid" sur "principal.process.pid".
  • "description" a été mappé sur "metadata.description".

2023-06-12

  • Correction de bug : modification de la mise en correspondance de "session" pour le type "vmauthd". Il a été mappé sur "network.session_id".

2022-09-01

  • Correction de bug : principal.namespace non mappé à partir de sa valeur codée en dur.

2022-08-24

  • Amélioration : ajout d'un nouveau type de date pour analyser les dates au format "aaaa-MM-jjThh:mm:s".

2022-08-03

  • Amélioration : ajout des modèles grok pour gérer les journaux avec le service : hostd, vmon et vrops.

2022-07-26

  • Amélioration :
  • Où "service" est égal à "Rhttpproxy"
  • Modification de la mise en correspondance de "principal.namespace" de "namespace" à "WALMART".
  • Mappage de "namespace" sur "additional.fields".
  • Où "service" est égal à "crond"
  • Mappage de "parent_pid" sur "target.process.parent_process.pid".

2022-07-05

  • Correction de bug : mise à jour de l'analyseur pour qu'il corresponde à l'horodatage au format "aaaa-MM-jjThh:mm:ss.SSSS".

2022-06-13

  • Amélioration : modification/ajout des modèles Grok pour gérer les journaux avec les services : hostd, sendmail, sshd, sudo, vmcad, vmon, vpxd, vrops.
  • Correction de bug : modification de "metadata.event_type" pour les journaux "vmauthd" de "USER_LOGIN" à "GENERIC_EVENT".

2022-05-02

  • Correction de bug : conformément aux exigences de l'utilisateur, le mappage target.hostname a été remplacé par principal.ip pour les journaux dont le service est "Hostd".

2022-04-13

  • Amélioration : analyse des journaux avec les noms de service suivants : hostd-probe, vmkernel, vmkwarning, Fdm, netcpa, root, hpHelper, snmpd, etc.
  • Mappage de logstash.ingest.timestamp sur metadata.ingested_timestamp,
  • logstash.ingest.host et logstash.process.host à intermediary.hostname,
  • logstash.collect.host à observer.hostname.