Raccogliere i log di VMware Workspace ONE UEM
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
- Accedi alla console Google SecOps.
- Vai a Impostazioni SIEM > Agenti di raccolta.
- Scarica il file di autenticazione dell'importazione.
Ottenere l'ID cliente Google SecOps
- Accedi alla console Google SecOps.
- Vai a Impostazioni SIEM > Profilo.
- Copia e salva l'ID cliente dalla sezione Dettagli dell'organizzazione.
Installa BindPlane Agent
- 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
- 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
- Ulteriori opzioni di installazione sono disponibili in questa guida all'installazione.
Configurare l'agente BindPlane per importare i syslog e inviarli a Google SecOps
- Accedi al computer su cui è installato BindPlane.
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
Riavviare BindPlane Agent per applicare le modifiche utilizzando il seguente comando:
sudo systemctl bindplane restart
Configurazione di syslog in VMware Workspace ONE UEM
- Accedi alla console Workspace ONE UEM:
- Vai a Impostazioni > Sistema > Avanzate > Syslog.
- Seleziona l'opzione Attiva Syslog.
- 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).
- 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