Raccogliere i log di VMware Workspace ONE UEM

Supportato in:

Questo parser estrae i log da VMware Workspace ONE UEM (in precedenza VMware AirWatch) nei formati Syslog, CEF o coppia chiave-valore. Normalizza campi come nomi utente, timestamp e dettagli degli eventi, mappandoli all'UDM. Il parser gestisce vari tipi di eventi Workspace ONE UEM, compilando i campi principale, target e altri UDM in base a dati e logica di eventi specifici per diversi formati di log.

Prima di iniziare

  • Assicurati di avere un'istanza Google Security Operations.
  • Assicurati di disporre dell'accesso con privilegi alla console VMware Workspace ONE.
  • Assicurati di avere un host Windows o Linux con systemd.
  • Se il servizio viene eseguito dietro un proxy, assicurati che le porte del firewall siano aperte.

Recupera il file di autenticazione di importazione di Google SecOps

  1. Accedi alla console Google SecOps.
  2. Vai a Impostazioni SIEM > Agenti di raccolta.
  3. Scarica il file di autenticazione dell'importazione.

Ottenere l'ID cliente Google SecOps

  1. Accedi alla console Google SecOps.
  2. Vai a Impostazioni SIEM > Profilo.
  3. Copia e salva l'ID cliente dalla sezione Dettagli dell'organizzazione.

Installa BindPlane Agent

  1. Per l'installazione su Windows, esegui il seguente script:
    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
  2. Per l'installazione di Linux, esegui il seguente script:
    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
  3. Ulteriori opzioni di installazione sono disponibili in questa guida all'installazione.

Configurare l'agente BindPlane per importare i syslog e inviarli a Google SecOps

  1. Accedi al computer su cui è installato BindPlane.
  2. Modifica il file config.yaml come segue:

    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. Riavviare BindPlane Agent per applicare le modifiche utilizzando il seguente comando: sudo systemctl bindplane restart

Configurazione di syslog in VMware Workspace ONE UEM

  1. Accedi alla console Workspace ONE UEM:
  2. Vai a Impostazioni > Sistema > Avanzate > Syslog.
  3. Seleziona l'opzione Attiva Syslog.
  4. Specifica i valori per i seguenti parametri di input:
    • Indirizzo IP/nome host: inserisci l'indirizzo dell'agente BindPlane.
    • Porta: inserisci la porta designata (valore predefinito: 514).
    • Protocollo: seleziona UDP o TCP in base alla configurazione dell'agente BindPlane.
    • Seleziona i tipi di log: seleziona i log da inviare a Google SecOps: log di gestione dei dispositivi, log delle attività della console, log di conformità, log eventi
    • Imposta il livello di log (ad esempio Info, Avviso, Errore).
  5. Fai clic su Salva per applicare le impostazioni.

Tabella di mappatura UDM

Campo log Mappatura UDM Logica
AdminAccount principal.user.userid Il valore AdminAccount del log non elaborato viene mappato al campo principal.user.userid.
Application target.application Il campo Application del log non elaborato è mappato al campo target.application.
ApplicationUUID additional.fields Il campo ApplicationUUID del log non elaborato viene aggiunto come coppia chiave-valore all'array additional.fields nell'UDM. La chiave è "ApplicationUUID".
BytesReceived network.received_bytes Il campo BytesReceived del log non elaborato è mappato al campo network.received_bytes.
Device target.hostname Il campo Device del log non elaborato è mappato al campo target.hostname.
FriendlyName target.hostname Il campo FriendlyName del log non elaborato viene mappato al campo target.hostname quando Device non è disponibile.
GroupManagementData security_result.description Il campo GroupManagementData del log non elaborato è mappato al campo security_result.description.
Hmac additional.fields Il campo Hmac del log non elaborato viene aggiunto come coppia chiave-valore all'array additional.fields nell'UDM. La chiave è "Hmac".
LoginSessionID network.session_id Il campo LoginSessionID del log non elaborato è mappato al campo network.session_id.
LogDescription metadata.description Il campo LogDescription del log non elaborato è mappato al campo metadata.description.
MessageText metadata.description Il campo MessageText del log non elaborato è mappato al campo metadata.description.
OriginatingOrganizationGroup principal.user.group_identifiers Il campo OriginatingOrganizationGroup del log non elaborato è mappato al campo principal.user.group_identifiers.
OwnershipType additional.fields Il campo OwnershipType del log non elaborato viene aggiunto come coppia chiave-valore all'array additional.fields nell'UDM. La chiave è "OwnershipType".
Profile target.resource.name Il campo Profile del log non elaborato viene mappato al campo target.resource.name quando ProfileName non è disponibile.
ProfileName target.resource.name Il campo ProfileName del log non elaborato è mappato al campo target.resource.name.
Request Url target.url Il campo Request Url del log non elaborato è mappato al campo target.url.
SmartGroupName target.group.group_display_name Il campo SmartGroupName del log non elaborato è mappato al campo target.group.group_display_name.
Tags additional.fields Il campo Tags del log non elaborato viene aggiunto come coppia chiave-valore all'array additional.fields nell'UDM. La chiave è "Tag".
User target.user.userid Il campo User del log non elaborato è mappato al campo target.user.userid. Il valore Event Category del log non elaborato viene aggiunto come coppia chiave-valore all'array additional.fields nell'UDM. La chiave è "Categoria evento". Il valore Event Module del log non elaborato viene aggiunto come coppia chiave-valore all'array additional.fields nell'UDM. La chiave è "Event Module". Il valore Event Source del log non elaborato viene aggiunto come coppia chiave-valore all'array additional.fields nell'UDM. La chiave è "Origine evento". Impostato su "SSO" dall'analizzatore per eventi specifici. Dedotto dal timestamp del log non elaborato. Il parser estrae la data e l'ora dal log non elaborato e li converte in un timestamp UDM. Determinato dall'analizzatore in base a event_name e ad altri campi. Consulta il codice del parser per la logica di mappatura. Impostato su "AIRWATCH" dall'analizzatore. Il valore event_name del log non elaborato viene mappato al campo metadata.product_event_type. Impostato su "AirWatch" dall'analizzatore. Impostato su "VMWare" dall'analizzatore. Il valore domain del log non elaborato viene mappato al campo principal.administrative_domain. hostname viene estratto dal campo device_name nel log non elaborato o mappato dai campi Device o FriendlyName. Il valore sys_ip del log non elaborato viene mappato al campo principal.ip. Estratto dal log non elaborato per determinati tipi di eventi. Estratto dal log non elaborato per determinati tipi di eventi. Il valore user_name del log non elaborato viene mappato al campo principal.user.userid. Estratto dal log non elaborato per determinati tipi di eventi. Impostato dall'analizzatore per eventi specifici. Impostato dall'analizzatore per eventi specifici. Il valore event_category del log non elaborato viene mappato al campo security_result.category_details. Estratto dal log non elaborato per determinati tipi di eventi. Estratto dal log non elaborato per determinati tipi di eventi. Il valore domain del log non elaborato viene mappato al campo target.administrative_domain. Costruito combinando DeviceSerialNumber e DeviceUdid dal log non elaborato per l'evento "DeleteDeviceRequested". Estratto dal log non elaborato per determinati tipi di eventi. Estratto dal log non elaborato per determinati tipi di eventi. sys_ip o altri indirizzi IP del log non elaborato vengono mappati al campo target.ip. Estratto dal log non elaborato per determinati tipi di eventi. Estratto dal log non elaborato per determinati tipi di eventi. Impostato dall'analizzatore per eventi specifici. Estratto dal log non elaborato per determinati tipi di eventi. Estratto dal log non elaborato per determinati tipi di eventi. Estratto dal log non elaborato per determinati tipi di eventi.

Modifiche

2024-11-15

  • Miglioramento:
  • Sono stati aggiunti pattern Grok per nuovi tipi di log.

2024-10-17

  • Miglioramento:
  • È stato aggiunto il supporto per nuovi tipi di log.

2024-10-07

  • Miglioramento:
  • È stato aggiunto il supporto per un nuovo tipo di log.

2024-09-23

  • Miglioramento:
  • È stato aggiunto il supporto per l'analisi dei log non analizzati.

2024-06-25

  • Miglioramento:
  • È stato corretto il pattern Grok per mappare "nomeutente" a "principal.user.user_display_name".
  • "device_type" è stato mappato a "additional.fields".
  • Sono stati aggiunti i pattern Grok per un nuovo tipo di log.

2023-09-05

  • Correzione di bug:
  • È stato aggiunto un pattern Grok per analizzare i log persi.

2023-05-05

  • Correzione di bug:
  • Pattern Grok modificato per analizzare i log eliminati.

2023-04-26

  • Correzione di bug:
  • È stato aggiunto il supporto per diversi tipi di log formattati in syslog.

2022-12-27

  • Correzione di bug:
  • È stato aggiunto il supporto per diversi tipi di log nel formato Syslog.
  • Sono stati aggiunti controlli condizionali specifici per gestire più "event_name".

2022-09-02

  • Miglioramento:
  • È stato scritto grok per analizzare i log nel formato non analizzato ccf.

2022-06-29

  • Miglioramento:
  • Log analizzato con event_name come "MergeGroupCompletedEvent"
  • "GroupManagementData" è stato mappato a "security_result.description".
  • "EventSource" e "EventModule" sono stati mappati a "event.idm.read_only_udm.additional.fields".
  • ha mappato "cat" a "security_result.category_details".
  • "event.idm.read_only_udm.metadata.event_type" da "GENERIC_EVENT" a "USER_UNCATEGORIZED" nel caso in cui sia presente "principal.user.userid" o "target.user.userid".

2022-06-20

  • Miglioramento:
  • Categoria evento mappata a _udm.additional.fields(event_category)
  • È stato aggiunto il tipo di evento GENERIC_EVENT per SecurityInformation, SecurityInformationConfirmed(event_name) per gestire il log non analizzato