Collecter les journaux VMware Workspace ONE UEM
Cet analyseur extrait les journaux de VMware Workspace ONE UEM (anciennement VMware AirWatch) au format Syslog, CEF ou paire clé-valeur. Il normalise des champs tels que les noms d'utilisateur, les codes temporels et les détails des événements, en les mappant sur l'UDM. L'analyseur gère différents types d'événements Workspace ONE UEM, en remplissant les champs principal, cible et autres champs UDM en fonction de données d'événement et de logique spécifiques pour différents formats de journaux.
Avant de commencer
- Assurez-vous de disposer d'une instance Google Security Operations.
- Assurez-vous de disposer d'un accès privilégié à la console VMware Workspace ONE.
- Assurez-vous de disposer d'un hôte Windows 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
- Connectez-vous à la console Google SecOps.
- Accédez à Paramètres du SIEM > Agents de collecte.
- Téléchargez le fichier d'authentification d'ingestion.
Obtenir le numéro client Google SecOps
- Connectez-vous à la console Google SecOps.
- Accédez à Paramètres du SIEM > Profil.
- Copiez et enregistrez l'ID client dans la section Détails de l'organisation.
Installer l'agent BindPlane
- 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
- Pour l'installation 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
- 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
- Accédez à la machine sur laquelle BindPlane est installé.
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
Redémarrez l'agent BindPlane pour appliquer les modifications à l'aide de la commande suivante :
sudo systemctl bindplane restart
Configurer Syslog dans VMware Workspace ONE UEM
- Connectez-vous à la console Workspace ONE UEM:
- Accédez à Paramètres > Système > Paramètres avancés > Syslog.
- Cochez l'option Activer Syslog.
- Spécifiez les valeurs des paramètres d'entrée suivants :
- Adresse IP/Nom d'hôte: saisissez l'adresse de votre agent BindPlane.
- Port: saisissez le port désigné (par défaut: 514).
- Protocole: sélectionnez UDP ou TCP en fonction de la configuration de votre agent BindPlane.
- Sélectionner des types de journaux : sélectionnez les journaux que vous souhaitez envoyer à Google SecOps : journaux de gestion des appareils, journaux d'activité de la console, journaux de conformité, journaux d'événements.
- Définissez le niveau de journalisation (par exemple, Info, Warning ou Error).
- Cliquez sur Enregistrer pour appliquer les paramètres.
Tableau de mappage UDM
Champ de journal | Mappage UDM | Logique |
---|---|---|
AdminAccount |
principal.user.userid |
Le AdminAccount du journal brut est mappé sur le champ principal.user.userid . |
Application |
target.application |
Le champ Application du journal brut est mappé sur le champ target.application . |
ApplicationUUID |
additional.fields |
Le champ ApplicationUUID du journal brut est ajouté en tant que paire clé-valeur au tableau additional.fields dans l'UDM. La clé est "ApplicationUUID". |
BytesReceived |
network.received_bytes |
Le champ BytesReceived du journal brut est mappé sur le champ network.received_bytes . |
Device |
target.hostname |
Le champ Device du journal brut est mappé sur le champ target.hostname . |
FriendlyName |
target.hostname |
Le champ FriendlyName du journal brut est mappé sur le champ target.hostname lorsque Device n'est pas disponible. |
GroupManagementData |
security_result.description |
Le champ GroupManagementData du journal brut est mappé sur le champ security_result.description . |
Hmac |
additional.fields |
Le champ Hmac du journal brut est ajouté en tant que paire clé-valeur au tableau additional.fields dans l'UDM. La clé est "Hmac". |
LoginSessionID |
network.session_id |
Le champ LoginSessionID du journal brut est mappé sur le champ network.session_id . |
LogDescription |
metadata.description |
Le champ LogDescription du journal brut est mappé sur le champ metadata.description . |
MessageText |
metadata.description |
Le champ MessageText du journal brut est mappé sur le champ metadata.description . |
OriginatingOrganizationGroup |
principal.user.group_identifiers |
Le champ OriginatingOrganizationGroup du journal brut est mappé sur le champ principal.user.group_identifiers . |
OwnershipType |
additional.fields |
Le champ OwnershipType du journal brut est ajouté en tant que paire clé-valeur au tableau additional.fields dans l'UDM. La clé est "OwnershipType". |
Profile |
target.resource.name |
Le champ Profile du journal brut est mappé sur le champ target.resource.name lorsque ProfileName n'est pas disponible. |
ProfileName |
target.resource.name |
Le champ ProfileName du journal brut est mappé sur le champ target.resource.name . |
Request Url |
target.url |
Le champ Request Url du journal brut est mappé sur le champ target.url . |
SmartGroupName |
target.group.group_display_name |
Le champ SmartGroupName du journal brut est mappé sur le champ target.group.group_display_name . |
Tags |
additional.fields |
Le champ Tags du journal brut est ajouté en tant que paire clé-valeur au tableau additional.fields dans l'UDM. La clé est "Tags". |
User |
target.user.userid |
Le champ User du journal brut est mappé sur le champ target.user.userid . Le Event Category du journal brut est ajouté en tant que paire clé-valeur au tableau additional.fields dans l'UDM. La clé est "Catégorie d'événement". Le Event Module du journal brut est ajouté en tant que paire clé-valeur au tableau additional.fields dans l'UDM. La clé est "Module d'événement". Le Event Source du journal brut est ajouté en tant que paire clé-valeur au tableau additional.fields dans l'UDM. La clé est "Source de l'événement". Défini sur "SSO" par l'analyseur pour des événements spécifiques. Dérivé de l'horodatage du journal brut. L'analyseur extrait la date et l'heure du journal brut, puis les convertit en code temporel UDM. Déterminé par l'analyseur en fonction de event_name et d'autres champs. Consultez le code de l'analyseur pour la logique de mappage. Défini sur "AIRWATCH" par l'analyseur. Le event_name du journal brut est mappé sur le champ metadata.product_event_type . Défini sur "AirWatch" par l'analyseur. Défini sur "VMWare" par l'analyseur. Le domain du journal brut est mappé sur le champ principal.administrative_domain . Le hostname est extrait du champ device_name dans le journal brut ou mappé à partir des champs Device ou FriendlyName . Le sys_ip du journal brut est mappé sur le champ principal.ip . Extrait du journal brut pour certains types d'événements. Extrait du journal brut pour certains types d'événements. Le user_name du journal brut est mappé sur le champ principal.user.userid . Extrait du journal brut pour certains types d'événements. Défini par l'analyseur pour des événements spécifiques. Défini par l'analyseur pour des événements spécifiques. Le event_category du journal brut est mappé sur le champ security_result.category_details . Extrait du journal brut pour certains types d'événements. Extrait du journal brut pour certains types d'événements. Le domain du journal brut est mappé sur le champ target.administrative_domain . Construit en combinant DeviceSerialNumber et DeviceUdid à partir du journal brut pour l'événement "DeleteDeviceRequested". Extrait du journal brut pour certains types d'événements. Extrait du journal brut pour certains types d'événements. Les sys_ip ou autres adresses IP du journal brut sont mappées sur le champ target.ip . Extrait du journal brut pour certains types d'événements. Extrait du journal brut pour certains types d'événements. Défini par l'analyseur pour des événements spécifiques. Extrait du journal brut pour certains types d'événements. Extrait du journal brut pour certains types d'événements. Extrait du journal brut pour certains types d'événements. |
Modifications
2024-11-15
- Amélioration:
- Ajout de modèles Grok pour de nouveaux types de journaux.
2024-10-17
- Amélioration:
- Ajout de la compatibilité avec de nouveaux types de journaux.
2024-10-07
- Amélioration:
- Ajout de la compatibilité avec un nouveau type de journaux.
2024-09-23
- Amélioration:
- Ajout de la possibilité d'analyser les journaux non analysés.
2024-06-25
- Amélioration:
- Correction du modèle Grok pour mapper "username" sur "principal.user.user_display_name".
- "device_type" a été mappé sur "additional.fields".
- Ajout des modèles Grok pour un nouveau type de journaux.
2023-09-05
- Correction de bug:
- Ajout d'un format Grok pour analyser les journaux abandonnés.
2023-05-05
- Correction de bug:
- Modèle Grok modifié pour analyser les journaux abandonnés.
2023-04-26
- Correction de bug:
- Ajout de la compatibilité avec différents types de journaux au format syslog.
2022-12-27
- Correction de bug:
- Ajout de la compatibilité avec différents types de journaux au format Syslog.
- Ajout de vérifications conditionnelles spécifiques pour gérer plusieurs "nom_événement".
2022-09-02
- Amélioration:
- Écrit grok pour analyser les journaux au format ccf non analysés.
2022-06-29
- Amélioration:
- Journal analysé avec event_name défini sur "MergeGroupCompletedEvent"
- a mappé "GroupManagementData" sur "security_result.description".
- mappé "EventSource", "EventModule" sur "event.idm.read_only_udm.additional.fields".
- a mappé "cat" sur "security_result.category_details".
- Modification de "event.idm.read_only_udm.metadata.event_type" de "GENERIC_EVENT" en "USER_UNCATEGORIZED" si l'un des éléments "principal.user.userid" ou "target.user.userid" est présent.
2022-06-20
- Amélioration:
- Catégorie d'événement mappée sur _udm.additional.fields(event_category)
- Ajout du type d'événement GENERIC_EVENT pour SecurityInformation, SecurityInformationConfirmed(nom_événement) afin de gérer le journal non analysé