Collecter les journaux Cisco Meraki

Compatible avec :

Ce document explique comment collecter les journaux Cisco Meraki à l'aide d'un transmetteur Google Security Operations.

Pour en savoir plus, consultez Ingestion de données dans Google Security Operations.

Un libellé d'ingestion identifie l'analyseur qui normalise les données de journaux brutes au format UDM structuré. Les informations de ce document s'appliquent au parseur avec le libellé d'ingestion CISCO_MERAKI.

Configurer Cisco Meraki

  1. Connectez-vous au tableau de bord Cisco Meraki.
  2. Dans le tableau de bord Cisco Meraki, sélectionnez Configurer > Alertes et administration.
  3. Dans la section Journalisation, procédez comme suit :
    1. Dans le champ Adresse IP du serveur, spécifiez l'adresse IP du redirecteur Google Security Operations.
    2. Dans le champ Port, spécifiez la valeur du port, par exemple 514.
    3. Dans le champ Rôles, sélectionnez les quatre options disponibles pour obtenir tous les journaux ou sélectionnez la combinaison de votre choix.
  4. Cliquez sur Enregistrer les modifications.

Configurer le redirecteur Google Security Operations et syslog pour ingérer les journaux Cisco Meraki

  1. Accédez à Paramètres SIEM > Transférateurs.
  2. Cliquez sur Ajouter un nouveau transfert.
  3. Dans le champ Nom du transitaire, saisissez un nom unique pour le transitaire.
  4. Cliquez sur Envoyer. Le redirecteur est ajouté et la fenêtre Ajouter une configuration de collecteur s'affiche.
  5. Dans le champ Nom du collecteur, saisissez un nom.
  6. Sélectionnez Cisco Meraki comme Type de journal.
  7. Sélectionnez Syslog comme type de collecteur.
  8. Configurez les paramètres d'entrée obligatoires suivants :
    • Protocole : spécifiez le protocole.
    • Adresse : spécifiez l'adresse IP ou le nom d'hôte cible où réside le collecteur et où il écoute les données syslog.
    • Port : spécifiez le port cible sur lequel le collecteur réside et écoute les données syslog.
  9. Cliquez sur Envoyer.

Pour en savoir plus sur les redirecteurs Google Security Operations, consultez la documentation sur les redirecteurs Google Security Operations.

Pour en savoir plus sur les exigences de chaque type de redirecteur, consultez Configuration des redirecteurs par type.

Si vous rencontrez des problèmes lors de la création de transferts, contactez l'assistance Google Security Operations.

Référence du mappage de champs

Ce parseur gère les journaux Cisco Meraki (identifiés comme Cisco/Meraki) au format SYSLOG ou JSON, en les normalisant au format UDM. Il utilise des modèles grok pour analyser les messages syslog et une logique conditionnelle basée sur le champ eventType pour extraire les informations pertinentes, en gérant différents types d'événements tels que les flux réseau, les requêtes d'URL, les événements de pare-feu et les événements génériques. Il les mappe aux champs UDM appropriés et enrichit les données avec un contexte supplémentaire. Si l'entrée n'est pas au format syslog, elle tente de l'analyser au format JSON et mappe les champs pertinents à l'UDM.

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 decision contient "block", la valeur est remplacée par "BLOCK". Sinon, si authorization est défini sur "success", il est défini sur "ALLOW" (AUTORISER), et s'il est défini sur "failure" (ÉCHEC), il est défini sur "BLOCK" (BLOQUER). Sinon, si pattern est défini sur "1 all", "deny all" ou "Group Policy Deny", il est défini sur "BLOCK". Si pattern est défini sur "allow all" (tout autoriser), "Group Policy Allow" (Autorisation de la stratégie de groupe) ou "0 all" (0 tout), la valeur est définie sur "ALLOW" (AUTORISER). Sinon, la valeur est définie sur "UNKNOWN_ACTION". Si decision contient "block", la valeur est définie sur "BLOCK".
adId principal.user.user_display_name Mappé directement à partir du champ adId dans les journaux JSON.
agent network.http.user_agent Les apostrophes sont supprimées. Mappé directement à partir du champ agent. Également converti en network.http.parsed_user_agent à l'aide du filtre parseduseragent.
aid network.session_id Mappé directement à partir du champ aid.
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".
authorization security_result.action_details Mappé directement à partir du champ authorization dans les journaux JSON.
band additional.fields Ajouté en tant que paire clé-valeur au tableau additional.fields avec la clé "band".
bssids.bssid principal.mac Converti en minuscules. Fusionné dans le tableau principal.mac.
bssids.detectedBy.device intermediary.asset.asset_id Format : "ID de l'appareil : ".
bssids.detectedBy.rssi intermediary.asset.product_object_id Converti en chaîne.
Channel 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 Mappé directement à partir du champ clientIp.
clientMac principal.mac Converti en minuscules. Mappé directement à partir du champ clientMac dans les journaux JSON.
client_ip principal.ip, principal.asset.ip Mappé directement à partir du champ client_ip.
client_mac principal.mac Converti en minuscules. Mappé directement à 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".
decision security_result.action Si la valeur est "blocked", elle est définie sur "BLOCK".
desc metadata.description Mappé directement à partir du champ desc.
description security_result.description Mappé directement à partir du champ 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 Mappé directement à partir du champ deviceIp.
deviceMac target.mac Converti 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 Mappé directement à 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 chariot, 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 chariot, 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 : "ASSET_ID:".
eventData.client_ip principal.ip, principal.asset.ip Mappé directement à partir du champ eventData.client_ip dans les journaux JSON.
eventData.client_mac principal.mac Converti en minuscules. Mappé directement à partir du champ eventData.client_mac dans les journaux JSON.
eventData.group principal.group.group_display_name Mappé directement à partir du champ eventData.group dans les journaux JSON.
eventData.identity principal.hostname Mappé directement à partir du champ eventData.identity dans les journaux JSON.
eventData.ip principal.ip, principal.asset.ip Mappé directement à partir du champ eventData.ip dans les journaux JSON.
EventID metadata.product_event_type, security_result.rule_name Converti en chaîne. Associé à 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 Mappé directement à partir du champ eventType. Permet de déterminer la logique d'analyse à appliquer.
filename principal.process.file.full_path Mappé directement à partir du champ filename.
FilterId target.resource.product_object_id Mappé directement à partir du champ FilterId pour l'EventID 5447.
FilterName target.resource.name Mappé directement à 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é en tant que paire clé-valeur au tableau security_result.detection_fields avec la clé "firstSeen".
gatewayDeviceMac target.mac Converti en minuscules. Fusionné dans le tableau target.mac.
group 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.
Hostname principal.hostname, principal.asset.hostname Mappé directement à partir du champ Hostname.
identity target.user.userid Mappé directement à partir du champ identity.
instigator 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é 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é 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 de la couche".
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.
login principal.user.email_addresses Mappé directement à partir du champ login 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 Converti 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, Message est mappé sur security_result.description.
method network.http.method Mappé directement à partir du champ method.
msg security_result.description Mappé directement à partir du champ msg.
name principal.user.user_display_name Mappé directement à 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" (ID du réseau).
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" (Nouveau descripteur de sécurité).
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 "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" (Descripteur de sécurité d'origine).
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.
pattern security_result.description Mappé directement sur 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. Ignore LogonType.
principalIp principal.ip, principal.asset.ip Mappé directement à partir du champ principalIp.
principalMac principal.mac Converti 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.
priority 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 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 protocol.
ProviderGuid metadata.product_deployment_id Mappé directement à partir du champ ProviderGuid.
query network.dns.questions.name Mappé directement à partir du champ query.
query_type network.dns.questions.type Renommée question.type et fusionnée 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 Converti 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.
Severity 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 Mappé directement à 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".
Status 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. Mappé directement à partir du champ status_code.
SubjectDomainName principal.administrative_domain Mappé directement à partir du champ SubjectDomainName.
SubjectLogonId principal.resource.attribute.labels Ajouté 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.
Task 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 Mappé directement à 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.
user 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.
UserName 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 Converti 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.