Collecter les journaux Cisco Meraki
Ce document explique comment ingérer des journaux Cisco Meraki dans Google Security Operations à l'aide de Bindplane.
L'analyseur extrait les champs des journaux au format syslog et JSON de Cisco Meraki. Il utilise l'analyse grok et/ou JSON pour traiter le message de journal, puis mappe ces valeurs au modèle de données unifié (UDM). Il définit également les valeurs de métadonnées par défaut pour la source et le type d'événement.
Avant de commencer
Assurez-vous de remplir les conditions suivantes :
- Une instance Google SecOps
- Windows Server 2016 ou version ultérieure, ou hôte Linux avec
systemd - Si vous exécutez l'agent derrière un proxy, assurez-vous que les ports de pare-feu sont ouverts conformément aux exigences de l'agent Bindplane.
- Accès privilégié au tableau de bord Cisco Meraki
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. Enregistrez le fichier de manière sécurisée sur le système sur lequel Bindplane sera installé.
Obtenir l'ID client Google SecOps
- Connectez-vous à la console Google SecOps.
- Accédez à Paramètres SIEM> Profil.
- Copiez et enregistrez le numéro client de la section Informations sur l'organisation.
Installer l'agent Bindplane
Installez l'agent Bindplane sur votre système d'exploitation Windows ou Linux en suivant les instructions ci-dessous.
Installation de fenêtres
- Ouvrez l'invite de commandes ou PowerShell en tant qu'administrateur.
Exécutez la commande suivante :
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quietAttendez la fin de l'installation.
Vérifiez l'installation en exécutant la commande suivante :
sc query observiq-otel-collector
Le service doit être indiqué comme RUNNING (EN COURS D'EXÉCUTION).
Installation de Linux
- Ouvrez un terminal avec les droits root ou sudo.
Exécutez la commande suivante :
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.shAttendez la fin de l'installation.
Vérifiez l'installation en exécutant la commande suivante :
sudo systemctl status observiq-otel-collector
Le service doit être indiqué comme actif (en cours d'exécution).
Autres ressources d'installation
Pour obtenir d'autres options d'installation et de dépannage, consultez le guide d'installation de l'agent Bindplane.
Configurer l'agent Bindplane pour ingérer les journaux syslog et les envoyer à Google SecOps
Localiser le fichier de configuration
Linux :
sudo nano /etc/bindplane-agent/config.yamlWindows :
notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
Modifiez le fichier de configuration
Remplacez l'intégralité du contenu de
config.yamlpar la configuration suivante :receivers: udplog: listen_address: "0.0.0.0:514" exporters: chronicle/chronicle_w_labels: compression: gzip creds_file_path: '/path/to/ingestion-authentication-file.json' customer_id: 'YOUR_CUSTOMER_ID' endpoint: malachiteingestion-pa.googleapis.com log_type: 'CISCO_MERAKI' raw_log_field: body ingestion_labels: service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - udplog exporters: - chronicle/chronicle_w_labels
Paramètres de configuration
Remplacez les espaces réservés suivants :
Configuration du récepteur :
udplog: utilisezudplogpour syslog UDP outcplogpour syslog TCP.0.0.0.0: adresse IP à écouter (0.0.0.0pour écouter sur toutes les interfaces)514: numéro de port à écouter (port syslog standard)
Configuration de l'exportateur :
creds_file_path: chemin d'accès complet au fichier d'authentification de l'ingestion :- Linux :
/etc/bindplane-agent/ingestion-auth.json - Windows :
C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
- Linux :
YOUR_CUSTOMER_ID: ID client de la section "Obtenir l'ID client"endpoint: URL du point de terminaison régional :- États-Unis :
malachiteingestion-pa.googleapis.com - Europe :
europe-malachiteingestion-pa.googleapis.com - Asie :
asia-southeast1-malachiteingestion-pa.googleapis.com - Pour obtenir la liste complète, consultez Points de terminaison régionaux.
- États-Unis :
log_type: type de journal tel qu'il apparaît dans Chronicle (CISCO_MERAKI)
Enregistrez le fichier de configuration.
- Après avoir modifié le fichier, enregistrez-le :
- Linux : appuyez sur
Ctrl+O, puis surEnter, puis surCtrl+X. - Windows : cliquez sur Fichier > Enregistrer.
- Linux : appuyez sur
Redémarrez l'agent Bindplane pour appliquer les modifications.
Pour redémarrer l'agent Bindplane sous Linux, exécutez la commande suivante :
sudo systemctl restart observiq-otel-collectorVérifiez que le service est en cours d'exécution :
sudo systemctl status observiq-otel-collectorRecherchez les erreurs dans les journaux :
sudo journalctl -u observiq-otel-collector -f
Pour redémarrer l'agent Bindplane dans Windows, choisissez l'une des options suivantes :
Invite de commandes ou PowerShell en tant qu'administrateur :
net stop observiq-otel-collector && net start observiq-otel-collectorConsole Services :
- Appuyez sur
Win+R, saisissezservices.msc, puis appuyez sur Entrée. - Localisez observIQ OpenTelemetry Collector.
Effectuez un clic droit, puis sélectionnez Redémarrer.
Vérifiez que le service est en cours d'exécution :
sc query observiq-otel-collectorRecherchez les erreurs dans les journaux :
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
- Appuyez sur
Configurer le transfert Syslog sur Cisco Meraki
- Connectez-vous au tableau de bord Cisco Meraki sur
https://dashboard.meraki.com. - Sélectionnez le réseau cible dans le menu déroulant des réseaux.
- Accédez à À l'échelle du réseau > Général.
- Accédez à la section Reporting.
- Recherchez Serveurs Syslog, puis cliquez sur Ajouter un serveur Syslog.
- Fournissez les informations de configuration suivantes :
- Adresse IP du serveur : saisissez l'adresse IP de l'hôte de l'agent Bindplane.
- Port : saisissez
514. - Rôles : sélectionnez les types de journaux à transférer :
- Flux : données sur les flux réseau
- URL : journaux d'accès aux URL
- Événements de sécurité : alertes IDS/IPS
- Journal des événements de l'appliance : événements de l'appliance MX
- Événements Air Marshal : détection des menaces sans fil
- Alertes IDS : alertes du système de détection des intrusions
- Cliquez sur Enregistrer.
- Vérifiez que les messages syslog sont envoyés en consultant les journaux de l'agent Bindplane.
Table de mappage UDM
| Champ de journal | Mappage UDM | Logique |
|---|---|---|
| action | security_result.action | La valeur est convertie en majuscules. Si la valeur est "deny", elle est remplacée par "BLOCK". Si sc_action contient "allow", la valeur est remplacée par "ALLOW". Sinon, si la décision contient "block", la valeur est remplacée par "BLOCK". Sinon, si l'autorisation est "success", elle est définie sur "ALLOW", et si elle est "failure", elle est définie sur "BLOCK". Sinon, si le modèle est "1 all", "deny all" ou "Group Policy Deny", il est défini sur "BLOCK". Si le modèle est "allow all" (tout autoriser), "Group Policy Allow" (Autorisation par la stratégie de groupe) ou "0 all" (0 tout), il est défini sur "ALLOW" (AUTORISER). Sinon, la valeur est définie sur "UNKNOWN_ACTION". Si la décision contient "block", elle est définie sur "BLOCK". |
| adId | principal.user.user_display_name | Directement mappé à partir du champ "adId" dans les journaux JSON. |
| agent | network.http.user_agent | Les apostrophes sont supprimées. Directement mappé à partir du champ "Agent". Également converti en network.http.parsed_user_agent à l'aide du filtre parseduseragent. |
| soins | network.session_id | Mappé directement à partir du champ "Aide". |
| appProtocol | network.application_protocol | Converti en majuscules. Mappé directement à partir du champ "appProtocol". |
| attr | additional.fields | Ajouté en tant que paire clé-valeur au tableau additional.fields avec la clé "attr". |
| autorisation | security_result.action_details | Mappé directement à partir du champ d'autorisation dans les journaux JSON. |
| bracelet | additional.fields | Ajouté en tant que paire clé-valeur au tableau "additional.fields" avec la clé "band". |
| bssids.bssid | principal.mac | Converties en minuscules. Fusionné dans le tableau principal.mac. |
| bssids.detectedBy.device | intermediary.asset.asset_id | Formaté comme suit : "ID de l'appareil : ". |
| bssids.detectedBy.rssi | intermediary.asset.product_object_id | Converti en chaîne. |
| Canal | about.resource.attribute.labels | Ajouté en tant que paire clé-valeur au tableau about.resource.attribute.labels avec la clé "Channel". |
| clientDescription | additional.fields | Ajouté en tant que paire clé-valeur au tableau additional.fields avec la clé "clientDescription". |
| clientId | additional.fields | Ajouté en tant que paire clé-valeur au tableau additional.fields avec la clé "clientId". |
| clientIp | principal.ip, principal.asset.ip | Directement mappé à partir du champ "clientIp". |
| clientMac | principal.mac | Converties en minuscules. Mappé directement à partir du champ "clientMac" dans les journaux JSON. |
| client_ip | principal.ip, principal.asset.ip | Directement mappé à partir du champ "client_ip". |
| client_mac | principal.mac | Converties en minuscules. Directement mappé à partir du champ "client_mac". |
| code | additional.fields | Ajouté en tant que paire clé-valeur au tableau additional.fields avec la clé "code". |
| collection_time | metadata.event_timestamp | Les champs "seconds" et "nanos" sont combinés pour créer un code temporel. |
| Conditions | security_result.about.resource.attribute.labels | Les retours chariot, les retours à la ligne et les tabulations sont remplacés par des espaces, et des valeurs spécifiques sont substituées. La valeur modifiée est ajoutée en tant que paire clé-valeur au tableau security_result.about.resource.attribute.labels avec la clé "Conditions". |
| la décision | security_result.action | Si la valeur est "blocked", elle est définie sur "BLOCK". |
| décroiss. | metadata.description | Mappé directement à partir du champ "desc". |
| description | security_result.description | Mappé directement à partir du champ de description dans les journaux JSON. |
| DestAddress | target.ip, target.asset.ip | Mappé directement à partir du champ "DestAddress". |
| DestPort | target.port | Converti en entier. Mappé directement à partir du champ "DestPort". |
| deviceIp | target.ip | Directement mappé à partir du champ deviceIp. |
| deviceMac | target.mac | Converties en minuscules. Mappé directement à partir du champ "deviceMac". |
| deviceName | target.hostname, target.asset.hostname | Mappé directement à partir du champ "deviceName" dans les journaux JSON. |
| deviceSerial | target.asset.hardware.serial_number | Directement mappé à partir du champ "deviceSerial" dans les journaux JSON. |
| Direction | network.direction | Les caractères spéciaux sont supprimés et la valeur est mappée sur network.direction. |
| DisabledPrivilegeList | target.user.attribute | Les retours à la ligne, les sauts de ligne et les tabulations sont remplacés, et la valeur modifiée est analysée en tant que JSON et fusionnée dans l'objet target.user.attribute. |
| dport | target.port | Converti en entier. Mappé directement à partir du champ "dport". |
| dst | target.ip, target.asset.ip | Mappé directement à partir du champ "dst". |
| dstIp | target.ip, target.asset.ip | Mappé directement à partir du champ "dstIp". |
| dstPort | target.port | Converti en entier. Mappé directement à partir du champ "dstPort". |
| dvc | intermediary.hostname | Mappé directement à partir du champ "dvc". |
| EnabledPrivilegeList | target.user.attribute | Les retours à la ligne, les sauts de ligne et les tabulations sont remplacés, et la valeur modifiée est analysée en tant que JSON et fusionnée dans l'objet target.user.attribute. |
| eventData.aid | principal.asset_id | Formaté comme suit : "ASSET_ID:". |
| eventData.client_ip | principal.ip, principal.asset.ip | Directement mappé à partir du champ eventData.client_ip dans les journaux JSON. |
| eventData.client_mac | principal.mac | Converties en minuscules. Directement mappé à partir du champ "eventData.client_mac" dans les journaux JSON. |
| eventData.group | principal.group.group_display_name | Directement mappé à partir du champ "eventData.group" dans les journaux JSON. |
| eventData.identity | principal.hostname | Directement mappé à partir du champ "eventData.identity" dans les journaux JSON. |
| eventData.ip | principal.ip, principal.asset.ip | Directement mappé à partir du champ "eventData.ip" dans les journaux JSON. |
| EventID | metadata.product_event_type, security_result.rule_name | Converti en chaîne. Mappé à metadata.product_event_type. Également utilisé pour créer security_result.rule_name au format "EventID: ". Permet de déterminer event_type et sec_action. |
| eventSummary | security_result.summary, metadata.description | Mappé directement à partir du champ "eventSummary". Également utilisé dans security_result.description pour certains événements. |
| eventType | metadata.product_event_type | Directement mappé à partir du champ eventType. Permet de déterminer la logique d'analyse à appliquer. |
| filename | principal.process.file.full_path | Directement mappé à partir du champ "Nom de fichier". |
| FilterId | target.resource.product_object_id | Directement mappé à partir du champ FilterId pour EventID 5447. |
| FilterName | target.resource.name | Directement mappé à partir du champ FilterName pour l'EventID 5447. |
| FilterRTID | security_result.detection_fields | Ajouté en tant que paire clé-valeur au tableau security_result.detection_fields avec la clé "FilterRTID". |
| firstSeen | security_result.detection_fields | Converti en chaîne. Ajoutée en tant que paire clé/valeur au tableau security_result.detection_fields avec la clé "firstSeen". |
| gatewayDeviceMac | target.mac | Converties en minuscules. Fusionné dans le tableau target.mac. |
| groupe | additional.fields | Ajouté en tant que paire clé-valeur au tableau additional.fields avec la clé "group". |
| GroupMembership | target.user | Les retours à la ligne, les nouvelles lignes, les tabulations et les caractères spéciaux sont supprimés. La valeur modifiée est analysée en tant que JSON et fusionnée dans l'objet target.user. |
| Nom d'hôte | principal.hostname, principal.asset.hostname | Directement mappé à partir du champ "Nom d'hôte". |
| identity | target.user.userid | Mappé directement à partir du champ d'identité. |
| instigateur | additional.fields | Ajouté en tant que paire clé-valeur au tableau additional.fields avec la clé "instigator". |
| int_ip | intermediary.ip | Mappé directement à partir du champ "int_ip". |
| ip_msg | principal.resource.attribute.labels | Ajoutée en tant que paire clé-valeur au tableau principal.resource.attribute.labels avec la clé "IPs". |
| is_8021x | additional.fields | Ajouté en tant que paire clé-valeur au tableau "additional.fields" avec la clé "is_8021x". |
| KeyName | target.resource.name | Mappé directement à partir du champ "KeyName". |
| KeyFilePath | target.file.full_path | Mappé directement à partir du champ "KeyFilePath". |
| lastSeen | security_result.detection_fields | Converti en chaîne. Ajoutée en tant que paire clé-valeur au tableau security_result.detection_fields avec la clé "lastSeen". |
| last_known_client_ip | principal.ip, principal.asset.ip | Mappé directement à partir du champ "last_known_client_ip". |
| LayerName | security_result.detection_fields | Ajouté en tant que paire clé-valeur au tableau security_result.detection_fields avec la clé "Nom du calque". |
| LayerRTID | security_result.detection_fields | Ajouté en tant que paire clé/valeur au tableau security_result.detection_fields avec la clé "LayerRTID". |
| localIp | principal.ip, principal.asset.ip | Mappé directement à partir du champ localIp. |
| connexion | principal.user.email_addresses | Directement mappé à partir du champ de connexion dans les journaux JSON s'il correspond à un format d'adresse e-mail. |
| LogonGuid | additional.fields | Ajouté en tant que paire clé-valeur au tableau additional.fields avec la clé "LogonGuid". |
| LogonType | extensions.auth.mechanism | Mappé à un mécanisme d'authentification spécifique en fonction de sa valeur. Si PreAuthType est présent, il remplace LogonType. Les valeurs sont mappées comme suit : 2 -> USERNAME_PASSWORD, 3 -> NETWORK, 4 -> BATCH, 5 -> SERVICE, 7 -> UNLOCK, 8 -> NETWORK_CLEAR_TEXT, 9 -> NEW_CREDENTIALS, 10 -> REMOTE_INTERACTIVE, 11 -> CACHED_INTERACTIVE, 12 -> CACHED_REMOTE_INTERACTIVE, 13 -> CACHED_UNLOCK, autre -> MECHANISM_UNSPECIFIED. |
| mac | principal.mac | Converties en minuscules. Fusionné dans le tableau principal.mac. |
| MandatoryLabel | additional.fields | Ajouté en tant que paire clé-valeur au tableau additional.fields avec la clé "MandatoryLabel". |
| Message | security_result.description, security_result.summary | Si AccessReason est présent, Message est mappé sur security_result.summary et AccessReason est mappé sur security_result.description. Sinon, le message est mappé sur security_result.description. |
| method | network.http.method | Mappé directement à partir du champ "method". |
| Message | security_result.description | Mappé directement à partir du champ "msg". |
| nom | principal.user.user_display_name | Directement mappé à partir du champ "name" dans les journaux JSON. |
| natsrcIp | principal.nat_ip | Mappé directement à partir du champ "natsrcIp". |
| natsrcport | principal.nat_port | Converti en entier. Mappé directement à partir du champ "natsrcport". |
| network_id | additional.fields | Ajouté en tant que paire clé-valeur au tableau "additional.fields" avec la clé "Network ID". |
| NewProcessId | target.process.pid | Mappé directement à partir du champ "NewProcessId". |
| NewProcessName | target.process.file.full_path | Mappé directement à partir du champ "NewProcessName". |
| NewSd | target.resource.attribute.labels | Ajouté en tant que paire clé-valeur au tableau target.resource.attribute.labels avec la clé "New Security Descriptor". |
| occurredAt | metadata.event_timestamp | Analysé en tant que code temporel au format ISO8601. |
| ObjectName | target.file.full_path, target.registry.registry_key, target.process.file.full_path, additional.fields | Si EventID est défini sur 4663 et ObjectType sur "Process", il est mappé sur target.process.file.full_path. Si ObjectType est défini sur "Key", il est mappé sur target.registry.registry_key. Sinon, il est mappé sur target.file.full_path. Pour les autres événements, il est ajouté en tant que paire clé-valeur au tableau additional.fields avec la clé "ObjectName". |
| ObjectType | additional.fields | Ajouté en tant que paire clé-valeur au tableau additional.fields avec la clé "ObjectType". Utilisé pour déterminer event_type. |
| OldSd | target.resource.attribute.labels | Ajouté en tant que paire clé-valeur au tableau target.resource.attribute.labels avec la clé "Original Security Descriptor". |
| organizationId | principal.resource.id | Mappé directement à partir du champ "organizationId" dans les journaux JSON. |
| ParentProcessName | target.process.parent_process.file.full_path | Mappé directement à partir du champ "ParentProcessName". |
| modèle | security_result.description | Directement mappé à security_result.description. Utilisé pour déterminer security_result.action. |
| peer_ident | target.user.userid | Mappé directement à partir du champ "peer_ident". |
| PreAuthType | extensions.auth.mechanism | Utilisé pour déterminer le mécanisme d'authentification, le cas échéant. Remplace LogonType. |
| principalIp | principal.ip, principal.asset.ip | Mappé directement à partir du champ principalIp. |
| principalMac | principal.mac | Converties en minuscules. Fusionné dans le tableau principal.mac. |
| principalPort | principal.port | Converti en entier. Mappé directement à partir du champ "principalPort". |
| prin_ip2 | principal.ip, principal.asset.ip | Mappé directement à partir du champ "prin_ip2". |
| prin_url | principal.url | Mappé directement à partir du champ prin_url. |
| priorité | security_result.priority | Mappé à un niveau de priorité en fonction de sa valeur : 1 -> HIGH_PRIORITY, 2 -> MEDIUM_PRIORITY, 3 -> LOW_PRIORITY, autre -> UNKNOWN_PRIORITY. |
| ProcessID | principal.process.pid | Converti en chaîne. Mappé directement à partir du champ "ProcessID". |
| ProcessName | principal.process.file.full_path, target.process.file.full_path | Si EventID est défini sur 4689, il est mappé sur target.process.file.full_path. Sinon, il est mappé sur principal.process.file.full_path. |
| prod_log_id | metadata.product_log_id | Mappé directement à partir du champ prod_log_id. |
| protocol | network.ip_protocol | Converti en majuscules. S'il s'agit d'un nombre, il est converti en nom de protocole IP correspondant. Si la valeur est "ICMP6", elle est remplacée par "ICMP". Mappé directement à partir du champ "Protocole". |
| ProviderGuid | metadata.product_deployment_id | Directement mappé à partir du champ ProviderGuid. |
| requête | network.dns.questions.name | Directement mappé à partir du champ de requête. |
| query_type | network.dns.questions.type | Renommé en question.type et fusionné dans le tableau network.dns.questions. Correspond à une valeur numérique basée sur le type de requête DHCP. |
| radio | additional.fields | Ajouté en tant que paire clé-valeur au tableau additional.fields avec la clé "radio". |
| reason | additional.fields | Ajouté en tant que paire clé-valeur au tableau additional.fields avec la clé "reason". |
| rec_bytes | network.received_bytes | Convertie en entier non signé. Mappé directement à partir du champ "rec_bytes". |
| RecordNumber | metadata.product_log_id | Converti en chaîne. Mappé directement à partir du champ "RecordNumber". |
| RelativeTargetName | target.process.file.full_path | Mappé directement à partir du champ RelativeTargetName. |
| response_ip | principal.ip, principal.asset.ip | Mappé directement à partir du champ "response_ip". |
| rssi | intermediary.asset.product_object_id | Mappé directement à partir du champ "rssi". |
| sc_action | security_result.action_details | Mappé directement à partir du champ sc_action. |
| sec_action | security_result.action | Fusionné dans le tableau security_result.action. |
| server_ip | client_ip | Directement mappé au champ "client_ip". |
| Gravité | security_result.severity | Mappé à un niveau de gravité en fonction de sa valeur : "Info" -> INFORMATIONAL, "Error" -> ERROR, "Warning" -> MEDIUM, autre -> UNKNOWN_SEVERITY. |
| sha256 | target.file.sha256 | Mappé directement à partir du champ "sha256". |
| signature | additional.fields | Ajouté en tant que paire clé-valeur au tableau additional.fields avec la clé "signature". |
| SourceAddress | principal.ip, principal.asset.ip | Mappé directement à partir du champ "SourceAddress". |
| SourceHandleId | src.resource.id | Mappé directement à partir du champ SourceHandleId. |
| SourceModuleName | observer.labels | Ajouté en tant que paire clé-valeur au tableau observer.labels avec la clé "SourceModuleName". |
| SourceModuleType | observer.application | Mappé directement à partir du champ SourceModuleType. |
| SourcePort | principal.port | Converti en entier. Mappé directement à partir du champ SourcePort. |
| SourceProcessId | src.process.pid | Mappé directement à partir du champ SourceProcessId. |
| source_client_ip | client_ip | Directement mappé au champ "client_ip". |
| sport | principal.port | Converti en entier. Mappé directement à partir du champ "Sport". |
| src | principal.ip, principal.asset.ip | Mappé directement à partir du champ "src". |
| ssid | network.session_id | Directement mappé à partir du champ "ssid" dans les journaux JSON. |
| ssidName | additional.fields | Ajouté en tant que paire clé-valeur au tableau additional.fields avec la clé "ssidName". |
| state | additional.fields | Ajouté en tant que paire clé-valeur au tableau "additional.fields" avec la clé "state". |
| État | additional.fields | Ajouté en tant que paire clé-valeur au tableau "additional.fields" avec la clé "Status". |
| status_code | network.http.response_code | Converti en entier. Directement mappé à partir du champ "status_code". |
| SubjectDomainName | principal.administrative_domain | Mappé directement à partir du champ "SubjectDomainName". |
| SubjectLogonId | principal.resource.attribute.labels | Ajoutée en tant que paire clé/valeur au tableau principal.resource.attribute.labels avec la clé "SubjectLogonId". |
| SubjectUserName | principal.user.userid | Mappé directement à partir du champ "SubjectUserName". |
| SubjectUserSid | principal.user.windows_sid | Mappé directement à partir du champ SubjectUserSid. |
| targetHost | target.hostname, target.asset.hostname | Converti en adresse IP si possible. Sinon, il est analysé pour extraire le nom d'hôte et mappé sur target.hostname et target.asset.hostname. |
| TargetHandleId | target.resource.id | Mappé directement à partir du champ TargetHandleId. |
| TargetLogonId | principal.resource.attribute.labels | Ajouté en tant que paire clé/valeur au tableau principal.resource.attribute.labels avec la clé "TargetLogonId" s'il est différent de SubjectLogonId. |
| TargetProcessId | target.process.pid | Mappé directement à partir du champ TargetProcessId. |
| TargetUserName | target.user.userid | Mappé directement à partir du champ "TargetUserName". |
| TargetUserSid | target.user.windows_sid | Mappé directement à partir du champ TargetUserSid. |
| Tâche | additional.fields | Converti en chaîne. Ajouté en tant que paire clé/valeur au tableau additional.fields avec la clé "Task". |
| timestamp | metadata.event_timestamp | Le champ "secondes" est utilisé pour créer un code temporel. |
| ts | metadata.event_timestamp | Si ts est vide, il est créé en combinant tsDate, tsTime et tsTZ. S'il contient "", il est analysé pour extraire la valeur entière. Il est ensuite analysé comme code temporel à l'aide de différents formats. |
| type | security_result.summary, metadata.product_event_type | Directement mappé à partir du champ "type" dans les journaux JSON. Également utilisé comme eventSummary et metadata.product_event_type dans certains cas. |
| url | target.url, principal.url | Mappé directement à partir du champ "URL". |
| url1 | target.url | Mappé directement à partir du champ "url1". |
| utilisateur | target.user.group_identifiers | Fusionné dans le tableau target.user.group_identifiers. |
| user_id | target.user.userid | Mappé directement à partir du champ "user_id". |
| UserID | principal.user.windows_sid | Mappé directement à partir du champ "UserID". |
| Nom d'utilisateur | principal.user.userid | Mappé directement à partir du champ "UserName". |
| user_agent | network.http.user_agent | Mappé directement à partir du champ "user_agent". |
| userId | target.user.userid | Mappé directement à partir du champ "userId". |
| vap | additional.fields | Ajouté en tant que paire clé-valeur au tableau "additional.fields" avec la clé "vap". |
| VirtualAccount | security_result.about.labels | Ajouté en tant que paire clé-valeur au tableau security_result.about.labels avec la clé "VirtualAccount". |
| wiredLastSeen | security_result.detection_fields | Converti en chaîne. Ajouté en tant que paire clé/valeur au tableau security_result.detection_fields avec la clé "wiredLastSeen". |
| wiredMacs | intermediary.mac | Converties en minuscules. Fusionné dans le tableau intermediary.mac. |
| WorkstationName | principal.hostname, principal.asset.hostname | Mappé directement à partir du champ "WorkstationName". |
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.