Coletar registros do VMware Workspace ONE UEM

Compatível com:

Esse analisador extrai logs do VMware Workspace ONE UEM (antigo VMware AirWatch) nos formatos Syslog, CEF ou par de chave-valor. Ele normaliza campos como nomes de usuário, carimbos de data/hora e detalhes do evento, mapeando-os para a UDM. O analisador processa vários tipos de eventos do Workspace ONE UEM, preenchendo campos principais, de destino e outros campos do UDM com base em dados e lógica de eventos específicos para diferentes formatos de registro.

Antes de começar

  • Verifique se você tem uma instância do Google Security Operations.
  • Verifique se você tem acesso privilegiado ao console do VMware Workspace ONE.
  • Verifique se você tem um host Windows ou 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 do 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

Como configurar o syslog no VMware Workspace ONE UEM

  1. Faça login no console do Workspace ONE UEM:
  2. Acesse Configurações > Sistema > Avançado > Syslog.
  3. Marque a opção Ativar Syslog.
  4. Especifique valores para os seguintes parâmetros de entrada:
    • Endereço IP/Nome do host: insira o endereço do seu agente do BindPlane.
    • Porta: digite a porta designada (padrão: 514).
    • Protocolo: selecione UDP ou TCP, dependendo da configuração do agente do BindPlane.
    • Selecionar tipos de registro: selecione os registros que você quer enviar ao Google SecOps: registros de gerenciamento de dispositivos, registros de atividade do console, registros de compliance e registros de eventos.
    • Defina o nível de registro (por exemplo, Info, Warning, Error).
  5. Clique em Salvar para aplicar as configurações.

Tabela de mapeamento do UDM

Campo de registro Mapeamento do UDM Lógica
AdminAccount principal.user.userid O AdminAccount do registro bruto é mapeado para o campo principal.user.userid.
Application target.application O campo Application do registro bruto é mapeado para o campo target.application.
ApplicationUUID additional.fields O campo ApplicationUUID do registro bruto é adicionado como um par de chave-valor à matriz additional.fields no UDM. A chave é "ApplicationUUID".
BytesReceived network.received_bytes O campo BytesReceived do registro bruto é mapeado para o campo network.received_bytes.
Device target.hostname O campo Device do registro bruto é mapeado para o campo target.hostname.
FriendlyName target.hostname O campo FriendlyName do registro bruto é mapeado para o campo target.hostname quando Device não está disponível.
GroupManagementData security_result.description O campo GroupManagementData do registro bruto é mapeado para o campo security_result.description.
Hmac additional.fields O campo Hmac do registro bruto é adicionado como um par de chave-valor à matriz additional.fields no UDM. A chave é "Hmac".
LoginSessionID network.session_id O campo LoginSessionID do registro bruto é mapeado para o campo network.session_id.
LogDescription metadata.description O campo LogDescription do registro bruto é mapeado para o campo metadata.description.
MessageText metadata.description O campo MessageText do registro bruto é mapeado para o campo metadata.description.
OriginatingOrganizationGroup principal.user.group_identifiers O campo OriginatingOrganizationGroup do registro bruto é mapeado para o campo principal.user.group_identifiers.
OwnershipType additional.fields O campo OwnershipType do registro bruto é adicionado como um par de chave-valor à matriz additional.fields no UDM. A chave é "OwnershipType".
Profile target.resource.name O campo Profile do registro bruto é mapeado para o campo target.resource.name quando ProfileName não está disponível.
ProfileName target.resource.name O campo ProfileName do registro bruto é mapeado para o campo target.resource.name.
Request Url target.url O campo Request Url do registro bruto é mapeado para o campo target.url.
SmartGroupName target.group.group_display_name O campo SmartGroupName do registro bruto é mapeado para o campo target.group.group_display_name.
Tags additional.fields O campo Tags do registro bruto é adicionado como um par de chave-valor à matriz additional.fields no UDM. A chave é "Tags".
User target.user.userid O campo User do registro bruto é mapeado para o campo target.user.userid. O Event Category do registro bruto é adicionado como um par de chave-valor à matriz additional.fields no UDM. A chave é "Categoria do evento". O Event Module do registro bruto é adicionado como um par de chave-valor à matriz additional.fields no UDM. A chave é "Módulo de evento". O Event Source do registro bruto é adicionado como um par de chave-valor à matriz additional.fields no UDM. A chave é "Origem do evento". Definido como "SSO" pelo analisador para eventos específicos. Derivado do carimbo de data/hora do registro bruto. O analisador extrai a data e a hora do registro bruto e os converte em um carimbo de data/hora do UDM. Determinado pelo analisador com base no event_name e em outros campos. Consulte o código do analisador para conferir a lógica de mapeamento. Definido como "AIRWATCH" pelo analisador. O event_name do registro bruto é mapeado para o campo metadata.product_event_type. Definido como "AirWatch" pelo analisador. Definido como "VMWare" pelo analisador. O domain do registro bruto é mapeado para o campo principal.administrative_domain. O hostname é extraído do campo device_name no registro bruto ou mapeado dos campos Device ou FriendlyName. O sys_ip do registro bruto é mapeado para o campo principal.ip. Extraídos do registro bruto para determinados tipos de evento. Extraídos do registro bruto para determinados tipos de evento. O user_name do registro bruto é mapeado para o campo principal.user.userid. Extraídos do registro bruto para determinados tipos de evento. Definido pelo analisador para eventos específicos. Definido pelo analisador para eventos específicos. O event_category do registro bruto é mapeado para o campo security_result.category_details. Extraídos do registro bruto para determinados tipos de evento. Extraídos do registro bruto para determinados tipos de evento. O domain do registro bruto é mapeado para o campo target.administrative_domain. Construído combinando DeviceSerialNumber e DeviceUdid do registro bruto para o evento "DeleteDeviceRequested". Extraídos do registro bruto para determinados tipos de evento. Extraídos do registro bruto para determinados tipos de evento. O sys_ip ou outros endereços IP do registro bruto são mapeados para o campo target.ip. Extraídos do registro bruto para determinados tipos de evento. Extraídos do registro bruto para determinados tipos de evento. Definido pelo analisador para eventos específicos. Extraídos do registro bruto para determinados tipos de evento. Extraídos do registro bruto para determinados tipos de evento. Extraídos do registro bruto para determinados tipos de evento.

Alterações

2024-11-15

  • Melhoria:
  • Foram adicionados padrões Grok para novos tipos de registros.

2024-10-17

  • Melhoria:
  • Adição de suporte a novos tipos de registros.

2024-10-07

  • Melhoria:
  • Adição de suporte a um novo tipo de registro.

2024-09-23

  • Melhoria:
  • Foi adicionado suporte para analisar registros não analisados.

2024-06-25

  • Melhoria:
  • O padrão Grok foi corrigido para mapear "username" para "principal.user.user_display_name".
  • "device_type" foi associado a "additional.fields".
  • Foram adicionados os padrões Grok para novos tipos de registros.

2023-09-05

  • Correção de bugs:
  • Um padrão Grok foi adicionado para analisar registros descartados.

2023-05-05

  • Correção de bugs:
  • O padrão Grok foi modificado para analisar registros descartados.

2023-04-26

  • Correção de bugs:
  • Adição de suporte a diferentes tipos de registros formatados por syslog.

2022-12-27

  • Correção de bugs:
  • Adição de suporte a diferentes tipos de registros de formato Syslog.
  • Foram adicionadas verificações condicionais específicas para processar vários "event_name".

2022-09-02

  • Melhoria:
  • O grok foi escrito para analisar os registros de formato CCF não analisados.

2022-06-29

  • Melhoria:
  • Registro analisado com event_name como "MergeGroupCompletedEvent"
  • "GroupManagementData" foi mapeado para "security_result.description".
  • Mapeou "EventSource" e "EventModule" para "event.idm.read_only_udm.additional.fields".
  • mapeou "cat" para "security_result.category_details".
  • "event.idm.read_only_udm.metadata.event_type" foi modificado de "GENERIC_EVENT" para "USER_UNCATEGORIZED" caso "principal.user.userid" ou "target.user.userid" estejam presentes.

2022-06-20

  • Melhoria:
  • Categoria do evento mapeada para _udm.additional.fields(event_category)
  • Foi adicionado o tipo de evento GENERIC_EVENT para SecurityInformation, SecurityInformationConfirmed(event_name) para processar o registro não analisado