Collecter les journaux CyberX
Ce document explique comment collecter des journaux CyberX à l'aide d'un transfert Google Security Operations.
Pour en savoir plus, consultez la section Présentation de l'ingestion de données dans Google Security Operations.
Un libellé d'ingestion identifie l'analyseur qui normalise les données de journal brutes au format UDM structuré. Les informations de ce document s'appliquent à l'analyseur avec le libellé d'ingestion CyberX
.
Configurer CyberX
- Connectez-vous à l'interface utilisateur de CyberX.
- Dans l'interface utilisateur de CyberX, sélectionnez Forwarding (Transférer), puis cliquez sur Create forwarding rule (Créer une règle de transfert).
Pour sélectionner des filtres pour les notifications, procédez comme suit:
- Dans la section Protocoles, sélectionnez les protocoles requis ou cliquez sur Tous pour sélectionner tous les protocoles.
Dans la liste Gravité, sélectionnez le niveau de gravité le plus bas des alertes à envoyer.
Par exemple, les alertes critiques et majeures sont envoyées à l'aide de notifications si vous sélectionnez la gravité Majeure.
Dans la section Moteurs, sélectionnez les moteurs requis ou cliquez sur Tous pour sélectionner tous les moteurs.
Cliquez sur Ajouter pour ajouter une méthode de notification.
Dans la liste Action, sélectionnez un type d'action parmi les actions disponibles.
Si vous ajoutez plusieurs actions, plusieurs méthodes de notification peuvent être créées pour chaque règle.
En fonction de l'action que vous avez sélectionnée, spécifiez les informations requises dans les champs appropriés. Par exemple, si vous avez sélectionné Envoyer au serveur SYSLOG (CEF), procédez comme suit:
- Dans le champ Host (Hôte), saisissez l'adresse du serveur syslog.
- Dans le champ Timezone (Fuseau horaire), saisissez le fuseau horaire du serveur Syslog.
- Dans le champ Port, saisissez le port du serveur syslog.
Cliquez sur Envoyer.
De même, pour les autres actions que vous sélectionnez, indiquez les informations requises.
Configurer le transfert Google Security Operations pour ingérer les journaux CyberX
- Sélectionnez Paramètres du SIEM > Transferts.
- Cliquez sur Ajouter un forwarder.
- Dans le champ Nom du forwarder, saisissez un nom unique pour le forwarder.
- Cliquez sur Envoyer, puis sur Confirmer. Le forwarder est ajouté, et la fenêtre Ajouter une configuration de collecteur s'affiche.
- Dans le champ Nom du collecteur, saisissez un nom unique pour le collecteur.
- Sélectionnez
Microsoft CyberX
comme type de journal. - Sélectionnez Syslog comme type de collecteur.
- Configurez les paramètres d'entrée suivants :
- Protocole: spécifiez le protocole de connexion utilisé par le collecteur pour écouter les données syslog.
- Address (Adresse) : spécifiez l'adresse IP ou le nom d'hôte cible où le collecteur réside et écoute les données syslog.
- Port: spécifiez le port cible sur lequel se trouve le collecteur et qui écoute les données syslog.
- Cliquez sur Envoyer.
Pour en savoir plus sur les transferts Google Security Operations, consultez Gérer les configurations de transfert via l'interface utilisateur de Google Security Operations.
Si vous rencontrez des problèmes lors de la création de transmetteurs, contactez l'assistance Google Security Operations.
Référence de mappage de champ
Cet analyseur gère les journaux CyberX au format SYSLOG+KV, en les transformant en UDM. Il initialise de nombreux champs avec des chaînes vides, effectue plusieurs substitutions pour renommer et mettre en forme les paires clé-valeur dans le champ de message, puis utilise des filtres grok
et kv
pour extraire des données structurées dans des champs UDM. L'analyseur donne la priorité à l'extraction des données clé-valeur et utilise des modèles Grok si nécessaire, enrichissant l'événement UDM avec des informations sur les métadonnées, l'utilisateur principal, la cible, le réseau et les résultats de sécurité.
Tableau de mappage UDM
Champ de journal | Mappage UDM | Logique |
---|---|---|
Masque d'accès | security_result.detection_fields.value |
Valeur de access_mask à partir de access_request_kvdata analysé |
Domaine du compte | principal.administrative_domain |
Valeur de principal_domain à partir de principal_kvdata analysé |
Domaine du compte | target.administrative_domain |
Valeur de target_domain à partir de target_kvdata analysé |
Nom du compte | principal.user.userid |
Valeur de principal_account_name à partir de principal_kvdata analysé |
Nom du compte | target.user.userid |
Valeur de target_account_name à partir de target_kvdata analysé |
action | security_result.action_details |
Valeur de action |
action | security_result.action |
Dérivé. Si action est "accept", "passthrough", "pass", "permit", "detected" ou "close", mappez-le sur "ALLOW". Si action est "deny", "dropped" ou "blocked", mappez-le sur "BLOCK". Si action est "timeout", mappez-le sur "FAIL". Sinon, mappez-le sur "UNKNOWN_ACTION". |
Nom de l'algorithme | security_result.detection_fields.value |
Valeur de algorithm_name à partir de cryptographic_kvdata analysé |
application | target.application |
Valeur de service si app_protocol_output est vide |
appcat | security_result.detection_fields.value |
Valeur de appcat |
Nom de l'application | principal.application |
Valeur de application_name |
Package d'authentification | security_result.about.resource.name |
Valeur de authentication_package |
Alerte Azure Defender pour IoT | security_result.detection_fields.value |
Valeur de azure_defender_for_iot_alert |
channel | security_result.detection_fields.value |
Valeur de channel |
Adresse du client | principal.ip , principal.asset.ip |
Valeur de source_ip |
Port client | principal.port |
Valeur de source_port |
craction | security_result.detection_fields.value |
Valeur de craction |
Les identifiants du Gestionnaire d'identifiants ont été sauvegardés | security_result.description |
Valeur de description |
Les identifiants du Gestionnaire d'identifiants ont été lus. | security_result.description |
Valeur de description |
crscore | security_result.severity_details |
Valeur de crscore |
crlevel | security_result.severity , security_result.severity_details |
Valeur de crlevel . Si crlevel est "HIGH", "MEDIUM", "LOW" ou "CRITICAL", mappez-le à la gravité UDM correspondante. |
Opération de chiffrement | metadata.description |
Valeur de product_desc |
Nom de la plate-forme CyberX | security_result.detection_fields.value |
Valeur de cyberx_platform_name |
Description | security_result.description |
Valeur de description si Message est vide |
Destination | target.ip , target.asset.ip ou target.hostname |
Si Destination est une adresse IP, mappez-la sur target.ip et target.asset.ip . Sinon, mappez sur target.hostname . |
Adresse de destination | target.ip , target.asset.ip |
Valeur de destination_ip à partir de network_information analysé |
DRA de destination | target.resource.name |
Valeur de destination_dra |
Adresse IP de destination | target.ip , target.asset.ip |
Valeur de destination_ip |
Port de destination | target.port |
Valeur de destination_port à partir de network_information analysé |
devid | principal.resource.product_object_id |
Valeur de devid |
devname | principal.resource.name |
Valeur de devname |
Direction | network.direction |
Si Direction est "incoming", "inbound" ou "response", mappez-le sur "INBOUND". Si Direction est "outgoing", "outbound" ou "request", mappez-le sur "OUTBOUND". |
dstip | target.ip , target.asset.ip |
Valeur de dstip si destination_ip est vide |
dstcountry | target.location.country_or_region |
Valeur de dstcountry |
dstintf | security_result.detection_fields.value |
Valeur de dstintf |
dstintfrole | security_result.detection_fields.value |
Valeur de dstintfrole |
dstosname | target.platform |
Valeur de dstosname si elle est "WINDOWS", "LINUX" ou "MAC". |
dstport | target.port |
Valeur de dstport si destination_port est vide |
dstswversion | target.platform_version |
Valeur de dstswversion |
duration | network.session_duration.seconds |
Valeur de duration |
event_id | security_result.rule_name |
Permet de créer le nom de la règle sous la forme "EventID: %{event_id}". |
event_in_sequence | security_result.detection_fields.value |
Valeur de event_in_sequence |
ID d'exécution du filtre | security_result.detection_fields.value |
Valeur de filter_run_time_id à partir de filter_information analysé |
Adhésion à des groupes | security_result.detection_fields.value |
Valeur de group_membership si event_id n'est pas égal à 4627 |
Adhésion à des groupes | target.user.group_identifiers |
Valeurs de group_membership analysées si event_id est 4627 |
handle_id | security_result.detection_fields.value |
Valeur de handle_id à partir de object_kvdata analysé |
ID de poignée | security_result.detection_fields.value |
Valeur de handle_id à partir de object_kvdata analysé |
impersonation_level | security_result.detection_fields.value |
Valeur de impersonation_level à partir de logon_information_kvdata analysé |
Longueur de clé | security_result.detection_fields.value |
Valeur de key_length à partir de auth_kvdata analysé |
Nom de clé | security_result.detection_fields.value |
Valeur de key_name à partir de cryptographic_kvdata analysé |
Type de clé | security_result.detection_fields.value |
Valeur de key_type à partir de cryptographic_kvdata analysé |
keywords | security_result.detection_fields.value |
Valeur de keywords |
Nom du calque | security_result.detection_fields.value |
Valeur de layer_name à partir de filter_information analysé |
ID d'exécution de la couche | security_result.detection_fields.value |
Valeur de layer_run_time_id à partir de filter_information analysé |
logid | metadata.product_log_id |
Valeur de logid |
GUID de connexion | principal.resource.product_object_id |
Valeur de logon_guid |
ID de connexion | security_result.detection_fields.value |
Valeur de logon_id |
logon_type | event.idm.read_only_udm.extensions.auth.mechanism |
Dérivé. Si logon_type est "3", mappez-le sur "NETWORK". Si la valeur est "4", mappez-la sur "BATCH". Si la valeur est "5", mappez-la sur "SERVICE". Si la valeur est "8", mappez-la sur "NETWORK_CLEAR_TEXT". Si la valeur est "9", mappez-la sur "NEW_CREDENTIALS". Si la valeur est "10", mappez-la sur "REMOTE_INTERACTIVE". Si la valeur est "11", mappez-la sur "CACHED_INTERACTIVE". Sinon, si la valeur n'est pas vide, mettez-la en correspondance avec "MECHANISM_OTHER". |
Compte de connexion | security_result.detection_fields.value |
Valeur de logon_id à partir de l'analyse grok |
Processus de connexion | security_result.detection_fields.value |
Valeur de logon_process à partir de auth_kvdata analysé |
Libellé obligatoire | security_result.detection_fields.value |
Valeur de mandatory_label |
mastersrcmac | principal.mac |
Valeur de mastersrcmac |
Message | security_result.description |
Valeur de Message |
new_process_id | target.process.pid |
Valeur de new_process_id à partir de process_kvdata analysé |
new_process_name | target.process.file.full_path |
Valeur de new_process_name à partir de process_kvdata analysé |
Nom de l'objet | security_result.detection_fields.value |
Valeur de object_name à partir de object_kvdata analysé |
Serveur d'objets | security_result.detection_fields.value |
Valeur de object_server à partir de object_kvdata analysé |
Type d'objet | security_result.detection_fields.value |
Valeur de object_type à partir de object_kvdata analysé |
osname | principal.platform |
Valeur de osname si elle est "WINDOWS", "LINUX" ou "MAC". |
Nom du package (NTLM uniquement) | security_result.detection_fields.value |
Valeur de package_name à partir de auth_kvdata analysé |
policyid | security_result.rule_id |
Valeur de policyid |
policyname | security_result.rule_name |
Valeur de policyname |
policytype | security_result.rule_type |
Valeur de policytype |
ID du processus | principal.process.pid |
Valeur de process_id |
Nom du processus | principal.process.file.full_path |
Valeur de creator_process_name à partir de process_kvdata analysé |
profile_changed | security_result.detection_fields.value |
Valeur de profile_changed |
Profil modifié | security_result.detection_fields.value |
Valeur de profile_changed à partir de l'analyse grok |
proto | network.ip_protocol |
Si proto est "17", mappez-le sur "UDP". Si "6" ou subtype est "wad", mappez sur "TCP". Si la valeur est "41", mappez-la sur "IP6IN4". Si service est "PING" ou si proto est "1" ou si service contient "ICMP", mappez sur "ICMP". |
Protocole | network.application_protocol |
Valeur de app_protocol_output dérivée de Protocol |
Nom du fournisseur | security_result.detection_fields.value |
Valeur de provider_name à partir de provider_kvdata ou cryptographic_kvdata analysés |
rcvdbyte | network.received_bytes |
Valeur de rcvdbyte |
rcvdpkt | security_result.detection_fields.value |
Valeur de rcvdpkt |
restricted_admin_mode | security_result.detection_fields.value |
Valeur de restricted_admin_mode à partir de logon_information_kvdata analysé |
Code renvoyé | security_result.detection_fields.value |
Valeur de return_code à partir de cryptographic_kvdata analysé |
réponse | security_result.detection_fields.value |
Valeur de response |
rule_id | security_result.rule_id |
Valeur de rule_id |
ID de sécurité | principal.user.windows_sid |
Valeur de principal_security_id à partir de principal_kvdata analysé |
ID de sécurité | target.user.windows_sid |
Valeur de target_security_id à partir de target_kvdata analysé |
sentbyte | network.sent_bytes |
Valeur de sentbyte |
sentpkt | security_result.detection_fields.value |
Valeur de sentpkt |
service | network.application_protocol ou target.application |
Valeur de app_protocol_output dérivée de service . Si app_protocol_output est vide, mappez-le avec target.application . |
ID du service | security_result.detection_fields.value |
Valeur de service_id à partir de service_kvdata analysé |
Nom du service | security_result.detection_fields.value |
Valeur de service_name à partir de service_kvdata analysé |
sessionid | network.session_id |
Valeur de sessionid |
Gravité | security_result.severity , security_result.severity_details |
Si Severity est "ERROR" ou "CRITICAL", mappez-le à la gravité UDM correspondante. Si "INFO", mappez sur "INFORMATIONAL". Si "MINOR", map to "LOW". Si la valeur est "WARNING" (AVERTISSEMENT), mappez-la sur "MEDIUM" (MOYENNE). Si "MAJOR", mappez sur "HIGH". Mappez également la valeur brute sur severity_details . |
de gravité, | security_result.severity , security_result.severity_details |
Si severity est "1", "2" ou "3", mappez-le sur "LOW". Si la valeur est "4", "5" ou "6", mappez-la sur "MOYENNE". Si la valeur est "7", "8" ou "9", mappez-la sur "HIGH". Mappez également la valeur brute sur severity_details . |
Nom de partage | security_result.detection_fields.value |
Valeur de share_name à partir de share_information_kvdata analysé |
Partager le chemin | security_result.detection_fields.value |
Valeur de share_path à partir de share_information_kvdata analysé |
Source | principal.ip , principal.asset.ip ou principal.hostname , principal.asset.hostname |
Si Source est une adresse IP, mappez-la sur principal.ip et principal.asset.ip . Sinon, mappez sur principal.hostname et principal.asset.hostname . |
Adresse source | principal.ip , principal.asset.ip |
Valeur de source_ip à partir de network_information analysé |
Source DRA | principal.resource.name |
Valeur de source_dra |
Adresse IP source | principal.ip |
Valeur de source_ip |
Adresse réseau source | principal.ip , principal.asset.ip |
Valeur de source_ip |
Port source | principal.port |
Valeur de source_port à partir de network_information analysé |
Station de travail source | workstation_name |
Valeur de source_workstation_name |
srcip | source_ip |
Valeur de srcip si source_ip est vide |
srccountry | principal.location.country_or_region |
Valeur de srccountry |
srcmac | principal.mac |
Valeur de srcmac |
srcname | principal.hostname , principal.asset.hostname |
Valeur de srcname |
srcport | source_port |
Valeur de srcport si source_port est vide |
srcswversion | principal.platform_version |
Valeur de srcswversion |
Code d'état | network.http.response_code |
Valeur de status_code |
Type d'élévation du jeton | security_result.detection_fields.value |
Valeur de token_elevation_type |
transited_services | security_result.detection_fields.value |
Valeur de transited_services à partir de auth_kvdata analysé |
transip | principal.nat_ip |
Valeur de transip |
transport | principal.nat_port |
Valeur de transport |
type | metadata.product_event_type |
Utilisé avec subtype pour créer metadata.product_event_type |
Type | security_result.detection_fields.value |
Valeur de Type |
UUID | metadata.product_log_id |
Valeur de UUID |
vd | principal.administrative_domain |
Valeur de vd |
virtual_account | security_result.detection_fields.value |
Valeur de virtual_account à partir de logon_information_kvdata analysé |
Nom de la station de travail | principal.hostname , principal.asset.hostname |
Valeur workstation_name si aucun autre identifiant principal n'est présent |
metadata.event_type |
metadata.event_type |
Dérivé. Si principal_present et target_present sont tous deux définis sur "true", mappez-les sur "NETWORK_CONNECTION". Si user_present est défini sur "True", mappez-le sur "USER_RESOURCE_ACCESS". Si principal_present est défini sur "true", mappez-le sur "STATUS_UPDATE". Sinon, mappez-le sur "GENERIC_EVENT". |
metadata.log_type |
metadata.log_type |
Code codé en dur sur "CYBERX" |
metadata.product_name |
metadata.product_name |
Code codé en dur sur "CYBERX" |
metadata.vendor_name |
metadata.vendor_name |
Code codé en dur sur "CYBERX" |
metadata.event_timestamp |
metadata.event_timestamp |
Copié à partir du champ timestamp de premier niveau ou dérivé des champs eventtime ou date et time . |
Modifications
2024-05-15
- Modèle KV modifié pour gérer le nouveau modèle de SYSLOGS.
- Mappage de "source_ip2" sur "principal.ip" et "principal.asset.ip".
- Mappage de "destination_ip2" sur "target.ip" et "target.asset.ip".
- Mappage de "Sévérité" sur "security_result.severity_details".
- Mise en correspondance des mappages "principal.ip" et "principal.asset.ip".
- Mise en correspondance des mappages "target.ip" et "target.asset.ip".
- Mise en correspondance des mappages "principal.hostname" et "principal.asset.hostname".
- Mise en correspondance des mappages "target.hostname" et "target.asset.hostname".
2023-12-06
- Analyseur nouvellement créé.