Coletar registros do VMware ESXi

Compatível com:

Visão geral

Esse analisador extrai campos de syslogs do VMware ESXi e de registros formatados em JSON. Ele normaliza a variedade de formatos de registro do ESXi em uma estrutura comum e, em seguida, preenche os campos do UDM com base nos valores extraídos, incluindo o processamento de casos específicos para diferentes serviços do ESXi, como crond, named e sshd, usando arquivos de inclusão.

Antes de começar

  • Verifique se você tem uma instância do Google SecOps.
  • Verifique se você tem acesso privilegiado ao VMWare ESX.
  • Verifique se você tem um host do Windows 2012 SP2 ou posterior ou um host do Linux com systemd.
  • Se estiver executando por trás de um proxy, verifique se as portas do firewall estão abertas.

Receber o arquivo de autenticação de ingestão do Google SecOps

  1. Faça login no console do Google SecOps.
  2. Acesse Configurações do SIEM > Agentes de coleta.
  3. Faça o download do arquivo de autenticação de transferência.

Receber o ID de cliente do Google SecOps

  1. Faça login no console do Google SecOps.
  2. Acesse Configurações do SIEM > Perfil.
  3. Copie e salve o ID do cliente na seção Detalhes da organização.

Instalar o agente do BindPlane

  1. Para a instalação do Windows, execute o seguinte script: msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet.
  2. Para a instalação no Linux, execute o seguinte script: sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh.
  3. Outras opções de instalação podem ser encontradas neste guia de instalação.

Configurar o agente BindPlane para ingerir o Syslog e enviar ao Google SecOps

  1. Acesse a máquina em que o BindPlane está instalado.
  2. Edite o arquivo config.yaml da seguinte forma:

    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. Reinicie o BindPlane Agent para aplicar as mudanças usando o seguinte comando: sudo systemctl bindplane restart

Permitir a regra de firewall syslog ESXi

  1. Acesse Rede > Regras de firewall.
  2. Encontre syslog na coluna Nome.
  3. Clique em Editar configurações.
  4. Atualize a porta tcp ou udp que você configurou no BindPlane.
  5. Clique em Salvar.
  6. Mantenha a linha do syslog selecionada.
  7. Selecione Ações > Ativar.

Exportar Syslog do VMware ESXi usando o vSphere Client

  1. Faça login no host ESXi usando o vSphere Client.
  2. Acesse Gerenciar > Sistema > Configurações avançadas.
  3. Encontre a chave Syslog.global.logHost na lista.
  4. Selecione a chave e clique em Edit option.
  5. Insira <protocol>://<destination_IP>:<port>
    • Substitua <protocol> por tcp. Se você configurou o BindPlane para usar UDP, digite udp.
    • Substitua <destination_IP> pelo endereço IP do seu agente do BindPlane.
    • Substitua <port> pela porta configurada anteriormente no BindPlane.
  6. Clique em Salvar.

Opcional: exportar Syslog do VMware ESXi usando SSH

  1. Conecte-se ao host do ESXi usando SSH.
  2. Use o comando esxcli system syslog config set --loghost=<protocol>://<destination_IP>:<port>.
    • Substitua <protocol> por tcp. Se você configurou o BindPlane para usar UDP, digite udp.
    • Substitua <destination_IP> pelo endereço IP do seu agente do BindPlane.
    • Substitua <port> pela porta configurada anteriormente no BindPlane.
  3. Reinicie o serviço do syslog digitando o comando /etc/init.d/syslog restart.

Tabela de mapeamento do UDM

Campo de registro Mapeamento do UDM Lógica
@fields.alias event.idm.read_only_udm.principal.cloud.project.alias Mapeado diretamente do campo @fields.alias do registro JSON.
@fields.company_name event.idm.read_only_udm.principal.user.company_name Mapeado diretamente do campo @fields.company_name do registro JSON.
@fields.facility event.idm.read_only_udm.principal.resource.type Mapeado diretamente do campo @fields.facility do registro JSON.
@fields.host event.idm.read_only_udm.principal.hostname, event.idm.read_only_udm.principal.asset.hostname Mapeado diretamente do campo @fields.host do registro JSON.
@fields.privatecloud_id event.idm.read_only_udm.principal.cloud.project.id Mapeado diretamente do campo @fields.privatecloud_id do registro JSON.
@fields.privatecloud_name event.idm.read_only_udm.principal.cloud.project.name Mapeado diretamente do campo @fields.privatecloud_name do registro JSON.
@fields.procid event.idm.read_only_udm.principal.process.pid Mapeado diretamente do campo @fields.procid do registro JSON.
@fields.region_id event.idm.read_only_udm.principal.location.country_or_region Mapeado diretamente do campo @fields.region_id do registro JSON.
@fields.severity event.idm.read_only_udm.security_result.severity Mapeado do campo @fields.severity do registro JSON. Se o valor for "info" ou semelhante, ele será mapeado como "INFORMATIONAL".
@timestamp event.idm.read_only_udm.metadata.event_timestamp Foi analisado e convertido em um objeto de carimbo de data/hora do campo @timestamp do registro usando o filtro date.
adapter event.idm.read_only_udm.target.resource.name Mapeado diretamente do campo adapter do registro bruto.
action event.idm.read_only_udm.security_result.action Mapeado diretamente do campo action do registro bruto. Valores como "ALLOW" e "BLOCK" são usados.
action event.idm.read_only_udm.security_result.action_details Mapeado diretamente do campo action do registro bruto. Valores como "Redirect" são usados.
administrative_domain event.idm.read_only_udm.principal.administrative_domain Mapeado diretamente do campo administrative_domain do registro bruto.
agent.hostname event.idm.read_only_udm.intermediary.hostname Mapeado diretamente do campo agent.hostname do registro JSON.
agent.id event.idm.read_only_udm.intermediary.asset.id Mapeado diretamente do campo agent.id do registro JSON.
agent.name event.idm.read_only_udm.intermediary.asset.name Mapeado diretamente do campo agent.name do registro JSON.
agent.type event.idm.read_only_udm.intermediary.asset.type Mapeado diretamente do campo agent.type do registro JSON.
agent.version event.idm.read_only_udm.intermediary.asset.version Mapeado diretamente do campo agent.version do registro JSON.
app_name event.idm.read_only_udm.principal.application Mapeado diretamente do campo app_name do registro bruto.
app_protocol event.idm.read_only_udm.network.application_protocol Mapeado diretamente do campo app_protocol do registro bruto. Se o valor corresponder a "http" (sem distinção entre maiúsculas e minúsculas), ele será associado a "HTTP".
application event.idm.read_only_udm.principal.application Mapeado diretamente do campo program do registro JSON.
cmd event.idm.read_only_udm.target.process.command_line Mapeado diretamente do campo cmd do registro bruto.
collection_time event.idm.read_only_udm.metadata.event_timestamp Os nanossegundos do campo collection_time são adicionados aos segundos do campo collection_time para criar o event_timestamp.
data event.idm.read_only_udm.metadata.description A mensagem de registro bruta é analisada e as partes relevantes são extraídas para preencher o campo de descrição.
descrip event.idm.read_only_udm.metadata.description Mapeado diretamente do campo descrip do registro bruto.
dns.answers.data event.idm.read_only_udm.network.dns.answers.data Mapeado diretamente do campo dns.answers.data do registro JSON.
dns.answers.ttl event.idm.read_only_udm.network.dns.answers.ttl Mapeado diretamente do campo dns.answers.ttl do registro JSON.
dns.answers.type event.idm.read_only_udm.network.dns.answers.type Mapeado diretamente do campo dns.answers.type do registro JSON.
dns.questions.name event.idm.read_only_udm.network.dns.questions.name Mapeado diretamente do campo dns.questions.name do registro JSON.
dns.questions.type event.idm.read_only_udm.network.dns.questions.type Mapeado diretamente do campo dns.questions.type do registro JSON.
dns.response event.idm.read_only_udm.network.dns.response Mapeado diretamente do campo dns.response do registro JSON.
ecs.version event.idm.read_only_udm.metadata.product_version Mapeado diretamente do campo ecs.version do registro JSON.
event_message event.idm.read_only_udm.metadata.description Mapeado diretamente do campo event_message do registro JSON.
event_metadata event.idm.read_only_udm.principal.process.product_specific_process_id O campo event_metadata é analisado para extrair o valor opID, que é precedido por "opID:" e mapeado para o UDM.
event_type event.idm.read_only_udm.metadata.event_type Mapeado diretamente do campo event_type do registro JSON.
filepath event.idm.read_only_udm.target.file.full_path Mapeado diretamente do campo filepath do registro bruto.
fields.company_name event.idm.read_only_udm.principal.user.company_name Mapeado diretamente do campo fields.company_name do registro JSON.
fields.facility event.idm.read_only_udm.principal.resource.type Mapeado diretamente do campo fields.facility do registro JSON.
fields.host event.idm.read_only_udm.principal.hostname, event.idm.read_only_udm.principal.asset.hostname Mapeado diretamente do campo fields.host do registro JSON.
fields.privatecloud_id event.idm.read_only_udm.principal.cloud.project.id Mapeado diretamente do campo fields.privatecloud_id do registro JSON.
fields.privatecloud_name event.idm.read_only_udm.principal.cloud.project.name Mapeado diretamente do campo fields.privatecloud_name do registro JSON.
fields.procid event.idm.read_only_udm.principal.process.pid Mapeado diretamente do campo fields.procid do registro JSON.
fields.region_id event.idm.read_only_udm.principal.location.country_or_region Mapeado diretamente do campo fields.region_id do registro JSON.
fields.severity event.idm.read_only_udm.security_result.severity Mapeado do campo fields.severity do registro JSON. Se o valor for "info" ou semelhante, ele será mapeado como "INFORMATIONAL".
host.architecture event.idm.read_only_udm.principal.asset.architecture Mapeado diretamente do campo host.architecture do registro JSON.
host.containerized event.idm.read_only_udm.principal.asset.containerized Mapeado diretamente do campo host.containerized do registro JSON.
host.hostname event.idm.read_only_udm.principal.hostname, event.idm.read_only_udm.principal.asset.hostname Mapeado diretamente do campo host.hostname do registro JSON.
host.id event.idm.read_only_udm.principal.asset.id Mapeado diretamente do campo host.id do registro JSON.
host.ip event.idm.read_only_udm.principal.ip, event.idm.read_only_udm.principal.asset.ip Mapeado diretamente do campo host.ip do registro JSON.
host.mac event.idm.read_only_udm.principal.mac, event.idm.read_only_udm.principal.asset.mac Mapeado diretamente do campo host.mac do registro JSON.
host.name event.idm.read_only_udm.principal.asset.name Mapeado diretamente do campo host.name do registro JSON.
host.os.codename event.idm.read_only_udm.principal.asset.os.codename Mapeado diretamente do campo host.os.codename do registro JSON.
host.os.family event.idm.read_only_udm.principal.asset.os.family Mapeado diretamente do campo host.os.family do registro JSON.
host.os.kernel event.idm.read_only_udm.principal.asset.os.kernel Mapeado diretamente do campo host.os.kernel do registro JSON.
host.os.name event.idm.read_only_udm.principal.asset.os.name Mapeado diretamente do campo host.os.name do registro JSON.
host.os.platform event.idm.read_only_udm.principal.asset.os.platform Mapeado diretamente do campo host.os.platform do registro JSON.
host.os.version event.idm.read_only_udm.principal.asset.os.version Mapeado diretamente do campo host.os.version do registro JSON.
iporhost event.idm.read_only_udm.principal.hostname, event.idm.read_only_udm.principal.asset.hostname Mapeado diretamente do campo iporhost do registro bruto.
iporhost event.idm.read_only_udm.principal.ip Mapeado diretamente do campo iporhost do registro bruto, se for um endereço IP.
iporhost1 event.idm.read_only_udm.principal.hostname, event.idm.read_only_udm.principal.asset.hostname Mapeado diretamente do campo iporhost1 do registro bruto.
kv_data1 event.idm.read_only_udm.principal.process.product_specific_process_id O campo kv_data1 é analisado para extrair o valor opID ou sub, que é precedido por "opID:" ou "sub:", respectivamente, e mapeado para o UDM.
kv_msg event.idm.read_only_udm.additional.fields O campo kv_msg é analisado como pares de chave-valor e adicionado à matriz additional_fields no UDM.
kv_msg1 event.idm.read_only_udm.additional.fields O campo kv_msg1 é analisado como pares de chave-valor e adicionado à matriz additional_fields no UDM.
lbdn event.idm.read_only_udm.target.hostname Mapeado diretamente do campo lbdn do registro bruto.
log.source.address event.idm.read_only_udm.observer.hostname Mapeado diretamente do campo log.source.address do registro JSON, considerando apenas a parte do nome do host.
log_event.original event.idm.read_only_udm.metadata.description Mapeado diretamente do campo event.original do registro JSON.
log_level event.idm.read_only_udm.security_result.severity_details Mapeado diretamente do campo log_level do registro JSON.
logstash.collect.host event.idm.read_only_udm.observer.hostname Mapeado diretamente do campo logstash.collect.host do registro JSON.
logstash.collect.timestamp event.idm.read_only_udm.metadata.ingested_timestamp Foi analisado e convertido em um objeto de carimbo de data/hora do campo logstash.collect.timestamp do registro usando o filtro date.
logstash.ingest.host event.idm.read_only_udm.intermediary.hostname Mapeado diretamente do campo logstash.ingest.host do registro JSON.
logstash.ingest.timestamp event.idm.read_only_udm.metadata.ingested_timestamp Foi analisado e convertido em um objeto de carimbo de data/hora do campo logstash.ingest.timestamp do registro usando o filtro date.
logstash.process.host event.idm.read_only_udm.intermediary.hostname Mapeado diretamente do campo logstash.process.host do registro JSON.
logstash.process.timestamp event.idm.read_only_udm.metadata.ingested_timestamp Foi analisado e convertido em um objeto de carimbo de data/hora do campo logstash.process.timestamp do registro usando o filtro date.
log_type event.idm.read_only_udm.metadata.log_type Mapeado diretamente do campo log_type do registro bruto.
message event.idm.read_only_udm.metadata.description Mapeado diretamente do campo message do registro JSON.
message_to_process event.idm.read_only_udm.metadata.description Mapeado diretamente do campo message_to_process do registro bruto.
metadata.event_type event.idm.read_only_udm.metadata.event_type Inicialmente definido como "GENERIC_EVENT", depois potencialmente substituído com base no service analisado ou em outro conteúdo de registro. Podem ser valores como PROCESS_LAUNCH, NETWORK_CONNECTION, USER_LOGIN etc.
metadata.product_event_type event.idm.read_only_udm.metadata.product_event_type Mapeado diretamente do campo process_id ou prod_event_type do registro bruto.
metadata.product_log_id event.idm.read_only_udm.metadata.product_log_id Mapeado diretamente do campo event_id do registro bruto.
metadata.product_name event.idm.read_only_udm.metadata.product_name Defina como "ESX".
metadata.product_version event.idm.read_only_udm.metadata.product_version Mapeado diretamente do campo version do registro JSON.
metadata.vendor_name event.idm.read_only_udm.metadata.vendor_name Defina como "VMWARE".
msg event.idm.read_only_udm.metadata.description Mapeado diretamente do campo msg do registro bruto.
network.application_protocol event.idm.read_only_udm.network.application_protocol Defina como "DNS" se a service for "named", "HTTPS" se a porta for 443 ou "HTTP" se a app_protocol corresponder a "http".
network.direction event.idm.read_only_udm.network.direction Determinado por palavras-chave no registro bruto, como "IN", "OUT", "->". Pode ser INBOUND ou OUTBOUND.
network.http.method event.idm.read_only_udm.network.http.method Mapeado diretamente do campo method do registro bruto.
network.http.parsed_user_agent event.idm.read_only_udm.network.http.parsed_user_agent Analisado do campo useragent usando o filtro convert.
network.http.referral_url event.idm.read_only_udm.network.http.referral_url Mapeado diretamente do campo prin_url do registro bruto.
network.http.response_code event.idm.read_only_udm.network.http.response_code Mapeado diretamente do campo status_code do registro bruto e convertido em um número inteiro.
network.http.user_agent event.idm.read_only_udm.network.http.user_agent Mapeado diretamente do campo useragent do registro bruto.
network.ip_protocol event.idm.read_only_udm.network.ip_protocol Determinado com base em palavras-chave no registro bruto, como "TCP" e "UDP".
network.received_bytes event.idm.read_only_udm.network.received_bytes Mapeado diretamente do campo rec_bytes do registro bruto e convertido em um número inteiro não assinado.
network.sent_bytes event.idm.read_only_udm.network.sent_bytes Extraídos do campo message_to_process do registro bruto.
network.session_id event.idm.read_only_udm.network.session_id Mapeado diretamente do campo session do registro bruto.
pid event.idm.read_only_udm.target.process.parent_process.pid Mapeado diretamente do campo pid do registro bruto.
pid event.idm.read_only_udm.principal.process.pid Mapeado diretamente do campo pid do registro JSON.
pid event.idm.read_only_udm.target.process.pid Mapeado diretamente do campo pid do registro bruto.
port event.idm.read_only_udm.target.port Mapeado diretamente do campo port do registro JSON.
principal.application event.idm.read_only_udm.principal.application Mapeado diretamente do campo app_name ou service do registro bruto.
principal.asset.hostname event.idm.read_only_udm.principal.asset.hostname Mapeado diretamente do campo principal_hostname ou iporhost do registro bruto.
principal.asset.ip event.idm.read_only_udm.principal.asset.ip Mapeado diretamente do campo syslog_ip do registro bruto.
principal.hostname event.idm.read_only_udm.principal.hostname Mapeado diretamente do campo principal_hostname ou iporhost do registro bruto.
principal.ip event.idm.read_only_udm.principal.ip Mapeado diretamente do campo iporhost ou syslog_ip do registro bruto.
principal.port event.idm.read_only_udm.principal.port Mapeado diretamente do campo srcport do registro bruto.
principal.process.command_line event.idm.read_only_udm.principal.process.command_line Mapeado diretamente do campo cmd do registro bruto.
principal.process.parent_process.pid event.idm.read_only_udm.principal.process.parent_process.pid Mapeado diretamente do campo parent_pid do registro bruto.
principal.process.pid event.idm.read_only_udm.principal.process.pid Mapeado diretamente do campo process_id do registro bruto.
principal.process.product_specific_process_id event.idm.read_only_udm.principal.process.product_specific_process_id Extraídos do campo message_to_process do registro bruto, geralmente com o prefixo "opID:".
principal.url event.idm.read_only_udm.principal.url Mapeado diretamente do campo prin_url do registro bruto.
principal.user.company_name event.idm.read_only_udm.principal.user.company_name Mapeado diretamente do campo fields.company_name do registro JSON.
principal.user.userid event.idm.read_only_udm.principal.user.userid Mapeado diretamente do campo USER do registro bruto.
priority event.idm.read_only_udm.metadata.product_event_type Mapeado diretamente do campo priority do registro bruto.
program event.idm.read_only_udm.principal.application Mapeado diretamente do campo program do registro JSON.
qname event.idm.read_only_udm.network.dns.questions.name Mapeado diretamente do campo qname do registro bruto.
response_data event.idm.read_only_udm.network.dns.answers.data Mapeado diretamente do campo response_data do registro bruto.
response_rtype event.idm.read_only_udm.network.dns.answers.type Mapeado diretamente do campo response_rtype do registro bruto. O tipo de registro DNS numérico é extraído.
response_ttl event.idm.read_only_udm.network.dns.answers.ttl Mapeado diretamente do campo response_ttl do registro bruto.
rtype event.idm.read_only_udm.network.dns.questions.type Mapeado diretamente do campo rtype do registro bruto. O tipo de registro DNS numérico é extraído.
security_result.action event.idm.read_only_udm.security_result.action Determinado por palavras-chave ou status no registro bruto. Pode ser ALLOW ou BLOCK.
security_result.action_details event.idm.read_only_udm.security_result.action_details Extraídos da mensagem de registro bruta, fornecendo mais contexto sobre a ação realizada.
security_result.category event.idm.read_only_udm.security_result.category Definido como POLICY_VIOLATION se o registro indicar uma correspondência de regra de firewall.
security_result.description event.idm.read_only_udm.security_result.description Extraídos da mensagem de registro bruta, fornecendo mais contexto sobre o resultado de segurança.
security_result.rule_id event.idm.read_only_udm.security_result.rule_id Mapeado diretamente do campo rule_id do registro bruto.
security_result.severity event.idm.read_only_udm.security_result.severity Determinado com base em palavras-chave no registro bruto, como "info", "aviso", "erro". Pode ser INFORMATIONAL, LOW, MEDIUM ou HIGH.
security_result.severity_details event.idm.read_only_udm.security_result.severity_details Mapeado diretamente do campo severity ou log.syslog.severity.name do registro bruto.
security_result.summary event.idm.read_only_udm.security_result.summary Extraídos da mensagem de registro bruto, fornecendo um resumo conciso do resultado de segurança.
service event.idm.read_only_udm.principal.application Mapeado diretamente do campo service do registro bruto.
source event.idm.read_only_udm.principal.hostname, event.idm.read_only_udm.principal.asset.hostname Mapeado diretamente do campo source do registro bruto.
src.file.full_path event.idm.read_only_udm.src.file.full_path Extraídos da mensagem bruta de registro.
src.hostname event.idm.read_only_udm.src.hostname Mapeado diretamente do campo src.hostname do registro bruto.
src_ip event.idm.read_only_udm.principal.ip Mapeado diretamente do campo src_ip do registro bruto.
src_mac_address event.idm.read_only_udm.principal.mac Mapeado diretamente do campo src_mac_address do registro bruto.
srcport event.idm.read_only_udm.principal.port Mapeado diretamente do campo srcport do registro bruto.
srcip event.idm.read_only_udm.principal.ip Mapeado diretamente do campo srcip do registro bruto.
subtype event.idm.read_only_udm.metadata.event_type Mapeado diretamente do campo subtype do registro bruto.
tags event.idm.read_only_udm.metadata.tags Mapeado diretamente do campo tags do registro JSON.
target.application event.idm.read_only_udm.target.application Mapeado diretamente do campo target_application do registro bruto.
target.file.full_path event.idm.read_only_udm.target.file.full_path Extraídos da mensagem bruta de registro.
target.hostname event.idm.read_only_udm.target.hostname, event.idm.read_only_udm.target.asset.hostname Mapeado diretamente do campo target_hostname ou iporhost do registro bruto.
target.ip event.idm.read_only_udm.target.ip Mapeado diretamente do campo target_ip do registro bruto.
target.mac event.idm.read_only_udm.target.mac Mapeado diretamente do campo target_mac_address do registro bruto.
target.port event.idm.read_only_udm.target.port Mapeado diretamente do campo target_port do registro bruto.
target.process.command_line event.idm.read_only_udm.target.process.command_line Mapeado diretamente do campo cmd do registro bruto.
target.process.parent_process.pid event.idm.read_only_udm.target.process.parent_process.pid Mapeado diretamente do campo parent_pid do registro bruto.
target.process.pid event.idm.read_only_udm.target.process.pid Mapeado diretamente do campo pid do registro bruto.
target.process.product_specific_process_id event.idm.read_only_udm.target.process.product_specific_process_id Extraídos do campo message_to_process do registro bruto, geralmente com o prefixo "opID:".
target.resource.name event.idm.read_only_udm.target.resource.name Mapeado diretamente do campo adapter do registro bruto.
target.resource.resource_type event.idm.read_only_udm.target.resource.resource_type Defina como VIRTUAL_MACHINE se o registro indicar uma operação de VM.
target.resource.type event.idm.read_only_udm.target.resource.type Defina como SETTING se o registro indicar uma modificação de configuração.
target.user.userid event.idm.read_only_udm.target.user.userid Mapeado diretamente do campo target_username ou user1 do registro bruto.
timestamp event.timestamp Analisado e convertido em um objeto de carimbo de data/hora do campo timestamp ou data do registro usando o filtro date.
type event.idm.read_only_udm.additional.fields O campo type do registro é adicionado à matriz additional_fields no UDM com a chave "LogType".
user1 event.idm.read_only_udm.target.user.userid Mapeado diretamente do campo user1 do registro bruto.
useragent event.idm.read_only_udm.network.http.user_agent Mapeado diretamente do campo useragent do registro bruto.
vmw_cluster event.idm.read_only_udm.target.resource.name Mapeado diretamente do campo vmw_cluster do registro bruto.
vmw_datacenter event.idm.read_only_udm.target.resource.name Mapeado diretamente do campo vmw_datacenter do registro bruto.
vmw_host event.idm.read_only_udm.target.ip Mapeado diretamente do campo vmw_host do registro bruto.
vmw_object_id event.idm.read_only_udm.target.resource.id Mapeado diretamente do campo vmw_object_id do registro bruto.
vmw_product event.idm.read_only_udm.target.application Mapeado diretamente do campo vmw_product do registro bruto.
vmw_vcenter event.idm.read_only_udm.target.cloud.availability_zone Mapeado diretamente do campo vmw_vcenter do registro bruto.
vmw_vcenter_id event.idm.read_only_udm.target.cloud.availability_zone.id Mapeado diretamente do campo vmw_vcenter_id do registro bruto.
vmw_vr_ops_appname event.idm.read_only_udm.target.application Mapeado diretamente do campo vmw_vr_ops_appname do registro bruto.
vmw_vr_ops_clustername event.idm.read_only_udm.target.resource.name Mapeado diretamente do campo vmw_vr_ops_clustername do registro bruto.
vmw_vr_ops_clusterrole event.idm.read_only_udm.target.resource.type Mapeado diretamente do campo vmw_vr_ops_clusterrole do registro bruto.

Alterações

2024-06-03

  • Adição de suporte a um novo padrão de registros JSON.

2024-05-09

  • Foi adicionado suporte a um novo padrão de registros "snmpd" e "Rhttpproxy".
  • Mapeamos "prod_event_type" para "metadata.product_event_type".
  • Mapeamos "context" para "additional.fields".

2024-02-07

  • Correção de bugs:
  • Foram adicionados novos padrões Grok para oferecer suporte aos registros SYSLOG que estão sendo descartados.
  • Mapeamos "newVersion" e "filter" para "security_result.detection_fields".
  • "description" foi mapeado para "security_result.description".

2023-10-10

  • Modificou os seguintes nomes de chave JSON usando a função gsub:
  • "service" para "serv".
  • "event" para "log_event".
  • "@selo" para "selo".
  • "@version" para "version".
  • Foram adicionados novos padrões Grok para processar os registros JSON com novos campos.
  • O "carimbo de data/hora" foi associado aos formatos "RFC 3339" e "TIMESTAMP_ISO8601".
  • Mapeamos "host.hostname" para "principal.hostname".
  • "host.ip" foi mapeado para "principal.ip".
  • "type", "serv.type", "log.syslog.facility.code", "log.syslog.facility.name", "log.syslog.severity.code", "log.syslog.severity.name" e "log.syslog.priority" foram mapeados para "additional.fields".
  • O mapeamento "process.name" foi alterado para "service".
  • "version" foi mapeada para "metadata.product_version".
  • "severity" foi mapeado para "security_result.severity".

2023-09-25

  • Foram adicionados novos padrões Grok para processar o novo tipo de SYSLOG para VMware ESXi.
  • "app_name" foi associado a "principal.application".
  • "severity" foi mapeado para "security_result.severity".

2023-07-17

  • Correção de bug: mapeamento de "username" para "target.user.userid".
  • "pid" foi mapeado para "principal.process.pid".
  • "description" foi mapeada para "metadata.description".

12/06/2023

  • Correção de bug: o mapeamento de "sessão" foi modificado para o tipo "vmauthd". Ele foi mapeado para "network.session_id".

2022-09-01

  • Bug_fix: o principal.namespace não foi mapeado do valor codificado.

2022-08-24

  • Melhoria: foi adicionado um novo tipo de data para analisar datas no formato "aaaa-MM-ddTHH:mm:s".

2022-08-03

  • Melhoria: foram adicionados os padrões grok para processar os registros com service :- hostd, vmon e vrops.

2022-07-26

  • Melhoria:
  • Onde "service" é igual a "Rhttpproxy"
  • O mapeamento de "principal.namespace" foi modificado de "namespace" para "WALMART".
  • O namespace foi mapeado para "additional.fields".
  • Onde "service" é igual a "crond"
  • "parent_pid" foi mapeado para "target.process.parent_process.pid".

2022-07-05

  • Correção de bug: o analisador foi atualizado para corresponder ao carimbo de data/hora no formato "aaaa-MM-ddTHH:mm:ss.SSSS".

2022-06-13

  • Melhoria: os padrões Grok foram modificados/adicionados para processar os registros com o serviço: hostd, sendmail, sshd, sudo, vmcad, vmon, vpxd, vrops.
  • Correção de bug: "metadata.event_type" modificado para os registros de "vmauthd" de "USER_LOGIN" para "GENERIC_EVENT".

2022-05-02

  • Correção de bugs: de acordo com o requisito do usuário, o mapeamento de target.hostname foi alterado para principal.ip nos registros que têm o serviço como "Hostd".

2022-04-13

  • Melhoria: os registros com os seguintes nomes de serviço foram analisados: hostd-probe, vmkernel, vmkwarning, Fdm, netcpa, root, hpHelper, snmpd etc.
  • Mapeou logstash.ingest.timestamp para metadata.ingested_timestamp,
  • logstash.ingest.host e logstash.process.host para intermediary.hostname,
  • logstash.collect.host para observer.hostname.