Recolha registos do Cisco Meraki

Compatível com:

Este documento descreve como pode recolher registos do Cisco Meraki através de um encaminhador do Google Security Operations.

Para mais informações, consulte o artigo Ingestão de dados no Google Security Operations.

Uma etiqueta de carregamento identifica o analisador que normaliza os dados de registo não processados para o formato UDM estruturado. As informações neste documento aplicam-se ao analisador com a etiqueta de carregamento CISCO_MERAKI.

Configure o Cisco Meraki

  1. Inicie sessão no painel de controlo do Cisco Meraki.
  2. No painel de controlo do Cisco Meraki, selecione Configure > Alerts & administration.
  3. Na secção Registo, faça o seguinte:
    1. No campo IP do servidor, especifique o endereço IP do encaminhador do Google Security Operations.
    2. No campo Porta, especifique o valor da porta, como 514.
    3. No campo Funções, selecione as quatro opções disponíveis para obter todos os registos ou selecione qualquer combinação de acordo com o seu requisito.
  4. Clique em Guardar alterações.

Configure o encaminhador e o syslog do Google Security Operations para carregar registos do Cisco Meraki

  1. Aceda a Definições do SIEM > Encaminhadores.
  2. Clique em Adicionar novo encaminhador.
  3. No campo Nome do encaminhador, introduza um nome exclusivo para o encaminhador.
  4. Clique em Enviar. O encaminhador é adicionado e é apresentada a janela Adicionar configuração do coletor.
  5. No campo Nome do coletor, introduza um nome.
  6. Selecione Cisco Meraki como o Tipo de registo.
  7. Selecione Syslog como o tipo de coletor.
  8. Configure os seguintes parâmetros de entrada obrigatórios:
    • Protocolo: especifique o protocolo.
    • Endereço: especifique o endereço IP ou o nome de anfitrião de destino onde o coletor reside e escuta os dados syslog.
    • Porta: especifique a porta de destino onde o coletor reside e ouve dados syslog.
  9. Clique em Enviar.

Para mais informações sobre os encaminhadores do Google Security Operations, consulte a documentação dos encaminhadores do Google Security Operations.

Para obter informações sobre os requisitos de cada tipo de encaminhador, consulte o artigo Configuração do encaminhador por tipo.

Se tiver problemas ao criar encaminhamentos, contacte o apoio técnico das Operações de segurança da Google.

Referência de mapeamento de campos

Este analisador processa registos do Cisco Meraki (identificados como Cisco/Meraki) no formato SYSLOG ou JSON, normalizando-os no UDM. Usa padrões grok para analisar mensagens syslog e lógica condicional com base no campo eventType para extrair informações relevantes, processando vários tipos de eventos, como fluxos de rede, pedidos de URL, eventos de firewall e eventos genéricos, mapeando-os para campos UDM adequados e enriquecendo os dados com contexto adicional. Se a entrada não for syslog, tenta analisá-la como JSON e mapeia os campos relevantes para o UDM.

Tabela de mapeamento da UDM

Campo de registo Mapeamento de UDM Lógica
action security_result.action O valor é convertido em maiúsculas. Se o valor for "deny", é substituído por "BLOCK". Se sc_action contiver "allow", o valor é substituído por "ALLOW". Caso contrário, se decision contiver "block", o valor é substituído por "BLOCK". Caso contrário, se authorization for "success", é definido como "ALLOW" e, se for "failure", é definido como "BLOCK". Caso contrário, se pattern for "1 all", "deny all" ou "Group Policy Deny", é definido como "BLOCK". Se pattern for "allow all", "Group Policy Allow" ou "0 all", é definido como "ALLOW". Caso contrário, é definido como "UNKNOWN_ACTION". Se decision contiver "block", é definido como "BLOCK".
adId principal.user.user_display_name Mapeado diretamente a partir do campo adId nos registos JSON.
agent network.http.user_agent Os apóstrofos são removidos. Mapeado diretamente a partir do campo agent. Também foi convertido para network.http.parsed_user_agent através do filtro parseduseragent.
aid network.session_id Mapeado diretamente a partir do campo aid.
appProtocol network.application_protocol Convertido em maiúsculas. Mapeado diretamente a partir do campo appProtocol.
attr additional.fields Adicionado como um par de chave-valor à matriz additional.fields com a chave "attr".
authorization security_result.action_details Mapeado diretamente a partir do campo authorization nos registos JSON.
band additional.fields Adicionado como um par de chave-valor à matriz additional.fields com a chave "band".
bssids.bssid principal.mac Convertido em minúsculas. Unido na matriz principal.mac.
bssids.detectedBy.device intermediary.asset.asset_id Formatado como "ID do dispositivo: ".
bssids.detectedBy.rssi intermediary.asset.product_object_id Convertido numa string.
Channel about.resource.attribute.labels Adicionado como um par de chave-valor à matriz about.resource.attribute.labels com a chave "Channel".
clientDescription additional.fields Adicionado como um par de chave-valor à matriz additional.fields com a chave "clientDescription".
clientId additional.fields Adicionado como um par de chave-valor à matriz additional.fields com a chave "clientId".
clientIp principal.ip, principal.asset.ip Mapeado diretamente a partir do campo clientIp.
clientMac principal.mac Convertido em minúsculas. Mapeado diretamente a partir do campo clientMac nos registos JSON.
client_ip principal.ip, principal.asset.ip Mapeado diretamente a partir do campo client_ip.
client_mac principal.mac Convertido em minúsculas. Mapeado diretamente a partir do campo client_mac.
code additional.fields Adicionado como um par de chave-valor à matriz additional.fields com a chave "code".
collection_time metadata.event_timestamp Os campos de segundos e nanos são combinados para criar uma data/hora.
Conditions security_result.about.resource.attribute.labels Os retornos de carro, as novas linhas e as tabulações são substituídos por espaços, e os valores específicos são substituídos. O valor modificado é adicionado como um par de chave-valor à matriz security_result.about.resource.attribute.labels com a chave "Conditions".
decision security_result.action Se o valor for "blocked", é definido como "BLOCK".
desc metadata.description Mapeado diretamente a partir do campo desc.
description security_result.description Mapeado diretamente a partir do campo description nos registos JSON.
DestAddress target.ip, target.asset.ip Mapeado diretamente a partir do campo DestAddress.
DestPort target.port Convertido num número inteiro. Mapeado diretamente a partir do campo DestPort.
deviceIp target.ip Mapeado diretamente a partir do campo deviceIp.
deviceMac target.mac Convertido em minúsculas. Mapeado diretamente a partir do campo deviceMac.
deviceName target.hostname, target.asset.hostname Mapeado diretamente a partir do campo deviceName nos registos JSON.
deviceSerial target.asset.hardware.serial_number Mapeado diretamente a partir do campo deviceSerial nos registos JSON.
Direction network.direction Os carateres especiais são removidos e o valor é mapeado para network.direction.
DisabledPrivilegeList target.user.attribute Os retornos de carro, as novas linhas e as tabulações são substituídos, e o valor modificado é analisado como JSON e unido ao objeto target.user.attribute.
dport target.port Convertido num número inteiro. Mapeado diretamente a partir do campo dport.
dst target.ip, target.asset.ip Mapeado diretamente a partir do campo dst.
dstIp target.ip, target.asset.ip Mapeado diretamente a partir do campo dstIp.
dstPort target.port Convertido num número inteiro. Mapeado diretamente a partir do campo dstPort.
dvc intermediary.hostname Mapeado diretamente a partir do campo dvc.
EnabledPrivilegeList target.user.attribute Os retornos de carro, as novas linhas e as tabulações são substituídos, e o valor modificado é analisado como JSON e unido ao objeto target.user.attribute.
eventData.aid principal.asset_id Formatado como "ASSET_ID:".
eventData.client_ip principal.ip, principal.asset.ip Mapeado diretamente a partir do campo eventData.client_ip nos registos JSON.
eventData.client_mac principal.mac Convertido em minúsculas. Mapeado diretamente a partir do campo eventData.client_mac nos registos JSON.
eventData.group principal.group.group_display_name Mapeado diretamente a partir do campo eventData.group nos registos JSON.
eventData.identity principal.hostname Mapeado diretamente a partir do campo eventData.identity nos registos JSON.
eventData.ip principal.ip, principal.asset.ip Mapeado diretamente a partir do campo eventData.ip nos registos JSON.
EventID metadata.product_event_type, security_result.rule_name Convertido numa string. Mapeado para metadata.product_event_type. Também usado para criar security_result.rule_name no formato "EventID: ". Usado para determinar event_type e sec_action.
eventSummary security_result.summary, metadata.description Mapeado diretamente a partir do campo eventSummary. Também é usado no security_result.description para alguns eventos.
eventType metadata.product_event_type Mapeado diretamente a partir do campo eventType. Usado para determinar a lógica de análise a aplicar.
filename principal.process.file.full_path Mapeado diretamente a partir do campo filename.
FilterId target.resource.product_object_id Mapeado diretamente a partir do campo FilterId para o EventID 5447.
FilterName target.resource.name Mapeado diretamente a partir do campo FilterName para o EventID 5447.
FilterRTID security_result.detection_fields Adicionado como um par de chave-valor à matriz security_result.detection_fields com a chave "FilterRTID".
firstSeen security_result.detection_fields Convertido numa string. Adicionado como um par de chave-valor à matriz security_result.detection_fields com a chave "firstSeen".
gatewayDeviceMac target.mac Convertido em minúsculas. Unido na matriz target.mac.
group additional.fields Adicionado como um par de chave-valor à matriz additional.fields com a chave "group".
GroupMembership target.user Os retornos de carro, as novas linhas, as tabulações e os carateres especiais são removidos. O valor modificado é analisado como JSON e é unido ao objeto target.user.
Hostname principal.hostname, principal.asset.hostname Mapeado diretamente a partir do campo Hostname.
identity target.user.userid Mapeado diretamente a partir do campo identity.
instigator additional.fields Adicionado como um par de chave-valor à matriz additional.fields com a chave "instigator".
int_ip intermediary.ip Mapeado diretamente a partir do campo int_ip.
ip_msg principal.resource.attribute.labels Adicionado como um par de chave-valor à matriz principal.resource.attribute.labels com a chave "IPs".
is_8021x additional.fields Adicionado como um par de chave-valor à matriz additional.fields com a chave "is_8021x".
KeyName target.resource.name Mapeado diretamente a partir do campo KeyName.
KeyFilePath target.file.full_path Mapeado diretamente a partir do campo KeyFilePath.
lastSeen security_result.detection_fields Convertido numa string. Adicionado como um par de chave-valor à matriz security_result.detection_fields com a chave "lastSeen".
last_known_client_ip principal.ip, principal.asset.ip Mapeado diretamente a partir do campo last_known_client_ip.
LayerName security_result.detection_fields Adicionado como um par de chave-valor à matriz security_result.detection_fields com a chave "Nome da camada".
LayerRTID security_result.detection_fields Adicionado como um par de chave-valor à matriz security_result.detection_fields com a chave "LayerRTID".
localIp principal.ip, principal.asset.ip Mapeado diretamente a partir do campo localIp.
login principal.user.email_addresses Mapeado diretamente a partir do campo login nos registos JSON se corresponder a um formato de endereço de email.
LogonGuid additional.fields Adicionado como um par de chave-valor à matriz additional.fields com a chave "LogonGuid".
LogonType extensions.auth.mechanism Mapeado para um mecanismo de autenticação específico com base no respetivo valor. Se PreAuthType estiver presente, substitui LogonType. Os valores são mapeados da seguinte forma: 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, outro -> MECHANISM_UNSPECIFIED.
mac principal.mac Convertido em minúsculas. Unido na matriz principal.mac.
MandatoryLabel additional.fields Adicionado como um par de chave-valor à matriz additional.fields com a chave "MandatoryLabel".
Message security_result.description, security_result.summary Se AccessReason estiver presente, Message é mapeado para security_result.summary e AccessReason é mapeado para security_result.description. Caso contrário, Message é mapeado para security_result.description.
method network.http.method Mapeado diretamente a partir do campo method.
msg security_result.description Mapeado diretamente a partir do campo msg.
name principal.user.user_display_name Mapeado diretamente a partir do campo name nos registos JSON.
natsrcIp principal.nat_ip Mapeado diretamente a partir do campo natsrcIp.
natsrcport principal.nat_port Convertido num número inteiro. Mapeado diretamente a partir do campo natsrcport.
network_id additional.fields Adicionado como um par de chave-valor à matriz additional.fields com a chave "ID da rede".
NewProcessId target.process.pid Mapeado diretamente a partir do campo NewProcessId.
NewProcessName target.process.file.full_path Mapeado diretamente a partir do campo NewProcessName.
NewSd target.resource.attribute.labels Adicionado como um par de chave-valor à matriz target.resource.attribute.labels com a chave "New Security Descriptor".
occurredAt metadata.event_timestamp Analisado como uma data/hora com o formato ISO8601.
ObjectName target.file.full_path, target.registry.registry_key, target.process.file.full_path, additional.fields Se EventID for 4663 e ObjectType for "Process", é mapeado para target.process.file.full_path. Se ObjectType for "Chave", está mapeado para target.registry.registry_key. Caso contrário, é mapeado para target.file.full_path. Para outros eventos, é adicionado como um par de chave-valor à matriz additional.fields com a chave "ObjectName".
ObjectType additional.fields Adicionado como um par de chave-valor à matriz additional.fields com a chave "ObjectType". Usado para determinar event_type.
OldSd target.resource.attribute.labels Adicionado como um par de chave-valor à matriz target.resource.attribute.labels com a chave "Original Security Descriptor".
organizationId principal.resource.id Mapeado diretamente a partir do campo organizationId nos registos JSON.
ParentProcessName target.process.parent_process.file.full_path Mapeado diretamente a partir do campo ParentProcessName.
pattern security_result.description Mapeado diretamente para security_result.description. Usado para determinar security_result.action.
peer_ident target.user.userid Mapeado diretamente a partir do campo peer_ident.
PreAuthType extensions.auth.mechanism Usado para determinar o mecanismo de autenticação, se presente. Substitui LogonType.
principalIp principal.ip, principal.asset.ip Mapeado diretamente a partir do campo principalIp.
principalMac principal.mac Convertido em minúsculas. Unido na matriz principal.mac.
principalPort principal.port Convertido num número inteiro. Mapeado diretamente a partir do campo principalPort.
prin_ip2 principal.ip, principal.asset.ip Mapeado diretamente a partir do campo prin_ip2.
prin_url principal.url Mapeado diretamente a partir do campo prin_url.
priority security_result.priority Mapeado para um nível de prioridade com base no respetivo valor: 1 -> HIGH_PRIORITY, 2 -> MEDIUM_PRIORITY, 3 -> LOW_PRIORITY, outro -> UNKNOWN_PRIORITY.
ProcessID principal.process.pid Convertido numa string. Mapeado diretamente a partir do campo ProcessID.
ProcessName principal.process.file.full_path, target.process.file.full_path Se EventID for 4689, é mapeado para target.process.file.full_path. Caso contrário, é mapeado para principal.process.file.full_path.
prod_log_id metadata.product_log_id Mapeado diretamente a partir do campo prod_log_id.
protocol network.ip_protocol Convertido em maiúsculas. Se for um número, é convertido no nome do protocolo IP correspondente. Se for "ICMP6", é substituído por "ICMP". Mapeado diretamente a partir do campo protocol.
ProviderGuid metadata.product_deployment_id Mapeado diretamente a partir do campo ProviderGuid.
query network.dns.questions.name Mapeado diretamente a partir do campo query.
query_type network.dns.questions.type O nome foi mudado para question.type e o elemento foi unido à matriz network.dns.questions. Mapeado para um valor numérico com base no tipo de consulta DHCP.
radio additional.fields Adicionado como um par de chave-valor à matriz additional.fields com a chave "radio".
reason additional.fields Adicionado como um par de chave-valor à matriz additional.fields com a chave "reason".
rec_bytes network.received_bytes Convertido num número inteiro sem sinal. Mapeado diretamente a partir do campo rec_bytes.
RecordNumber metadata.product_log_id Convertido numa string. Mapeado diretamente a partir do campo RecordNumber.
RelativeTargetName target.process.file.full_path Mapeado diretamente a partir do campo RelativeTargetName.
response_ip principal.ip, principal.asset.ip Mapeado diretamente a partir do campo response_ip.
rssi intermediary.asset.product_object_id Mapeado diretamente a partir do campo rssi.
sc_action security_result.action_details Mapeado diretamente a partir do campo sc_action.
sec_action security_result.action Unido na matriz security_result.action.
server_ip client_ip Mapeado diretamente para o campo client_ip.
Severity security_result.severity Mapeado para um nível de gravidade com base no respetivo valor: "Info" -> INFORMATIONAL, "Error" -> ERROR, "Warning" -> MEDIUM, outro -> UNKNOWN_SEVERITY.
sha256 target.file.sha256 Mapeado diretamente a partir do campo sha256.
signature additional.fields Adicionado como um par de chave-valor à matriz additional.fields com a chave "signature".
SourceAddress principal.ip, principal.asset.ip Mapeado diretamente a partir do campo SourceAddress.
SourceHandleId src.resource.id Mapeado diretamente a partir do campo SourceHandleId.
SourceModuleName observer.labels Adicionado como um par de chave-valor à matriz observer.labels com a chave "SourceModuleName".
SourceModuleType observer.application Mapeado diretamente a partir do campo SourceModuleType.
SourcePort principal.port Convertido num número inteiro. Mapeado diretamente a partir do campo SourcePort.
SourceProcessId src.process.pid Mapeado diretamente a partir do campo SourceProcessId.
source_client_ip client_ip Mapeado diretamente para o campo client_ip.
sport principal.port Convertido num número inteiro. Mapeado diretamente a partir do campo sport.
src principal.ip, principal.asset.ip Mapeado diretamente a partir do campo src.
ssid network.session_id Mapeado diretamente a partir do campo ssid nos registos JSON.
ssidName additional.fields Adicionado como um par de chave-valor à matriz additional.fields com a chave "ssidName".
state additional.fields Adicionado como um par de chave-valor à matriz additional.fields com a chave "state".
Status additional.fields Adicionado como um par de chave-valor à matriz additional.fields com a chave "Status".
status_code network.http.response_code Convertido num número inteiro. Mapeado diretamente a partir do campo status_code.
SubjectDomainName principal.administrative_domain Mapeado diretamente a partir do campo SubjectDomainName.
SubjectLogonId principal.resource.attribute.labels Adicionado como um par de chave-valor à matriz principal.resource.attribute.labels com a chave "SubjectLogonId".
SubjectUserName principal.user.userid Mapeado diretamente a partir do campo SubjectUserName.
SubjectUserSid principal.user.windows_sid Mapeado diretamente a partir do campo SubjectUserSid.
targetHost target.hostname, target.asset.hostname Convertido num endereço IP, se possível. Caso contrário, é analisado para extrair o nome de anfitrião e mapeado para target.hostname e target.asset.hostname.
TargetHandleId target.resource.id Mapeado diretamente a partir do campo TargetHandleId.
TargetLogonId principal.resource.attribute.labels Adicionado como um par de chave-valor à matriz principal.resource.attribute.labels com a chave "TargetLogonId" se for diferente de SubjectLogonId.
TargetProcessId target.process.pid Mapeado diretamente a partir do campo TargetProcessId.
TargetUserName target.user.userid Mapeado diretamente a partir do campo TargetUserName.
TargetUserSid target.user.windows_sid Mapeado diretamente a partir do campo TargetUserSid.
Task additional.fields Convertido numa string. Adicionado como um par de chave-valor à matriz additional.fields com a chave "Task".
timestamp metadata.event_timestamp O campo de segundos é usado para criar uma data/hora.
ts metadata.event_timestamp Se ts estiver vazio, é criado combinando tsDate, tsTime e tsTZ. Se contiver "", é analisado para extrair o valor inteiro. Em seguida, é analisado como uma data/hora usando vários formatos.
type security_result.summary, metadata.product_event_type Mapeado diretamente a partir do campo type nos registos JSON. Também usado como eventSummary e metadata.product_event_type em alguns casos.
url target.url, principal.url Mapeado diretamente a partir do campo url.
url1 target.url Mapeado diretamente a partir do campo url1.
user target.user.group_identifiers Unido na matriz target.user.group_identifiers.
user_id target.user.userid Mapeado diretamente a partir do campo user_id.
UserID principal.user.windows_sid Mapeado diretamente a partir do campo UserID.
UserName principal.user.userid Mapeado diretamente a partir do campo UserName.
user_agent network.http.user_agent Mapeado diretamente a partir do campo user_agent.
userId target.user.userid Mapeado diretamente a partir do campo userId.
vap additional.fields Adicionado como um par de chave-valor à matriz additional.fields com a chave "vap".
VirtualAccount security_result.about.labels Adicionado como um par de chave-valor à matriz security_result.about.labels com a chave "VirtualAccount".
wiredLastSeen security_result.detection_fields Convertido numa string. Adicionado como um par de chave-valor à matriz security_result.detection_fields com a chave "wiredLastSeen".
wiredMacs intermediary.mac Convertido em minúsculas. Unido na matriz intermediary.mac.
WorkstationName principal.hostname, principal.asset.hostname Mapeado diretamente a partir do campo WorkstationName.

Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais da Google SecOps.