Recopila registros de Cisco Meraki
En este documento, se describe cómo puedes recopilar registros de Cisco Meraki con un reenviador de Google Security Operations.
Para obtener más información, consulta Transferencia de datos a Google Security Operations.
Una etiqueta de transferencia identifica el analizador que normaliza los datos de registro sin procesar al formato estructurado del UDM. La información de este documento se aplica al analizador
con la etiqueta de transferencia CISCO_MERAKI
.
Configura Cisco Meraki
- Accede al panel de Cisco Meraki.
- En el panel de Cisco Meraki, selecciona Configurar > Alertas y administración.
- En la sección Registros, haz lo siguiente:
- En el campo IP del servidor, especifica la dirección IP del reenviador de Operaciones de seguridad de Google.
- En el campo Puerto, especifica el valor del puerto, como 514.
- En el campo Roles, selecciona las cuatro opciones disponibles para obtener todos los registros o selecciona cualquier combinación según tus necesidades.
- Haz clic en Guardar cambios.
Configura el reenviador y el syslog de Google Security Operations para transferir registros de Cisco Meraki
- Ve a Configuración de SIEM > Redireccionamientos.
- Haz clic en Agregar nuevo remitente.
- En el campo Nombre del reenviador, ingresa un nombre único para el reenviador.
- Haz clic en Enviar. Se agregará el reenviador y aparecerá la ventana Add collector configuration.
- En el campo Nombre del recopilador, escribe un nombre.
- Selecciona Cisco Meraki como el Tipo de registro.
- Selecciona Syslog como el tipo de recopilador.
- Configura los siguientes parámetros de entrada obligatorios:
- Protocolo: Especifica el protocolo.
- Dirección: Especifica la dirección IP o el nombre de host de destino donde reside el recopilador y escucha los datos de syslog.
- Puerto: Especifica el puerto de destino en el que reside el recopilador y escucha los datos de syslog.
- Haz clic en Enviar.
Para obtener más información sobre los reenvío de Google Security Operations, consulta la documentación de reenvío de Google Security Operations.
Para obtener información sobre los requisitos de cada tipo de reenviador, consulta Configuración del reenviador por tipo.
Si tienes problemas cuando creas reenvío de correo, comunícate con el equipo de asistencia de Operaciones de seguridad de Google.
Referencia de la asignación de campos
Este analizador controla los registros de Cisco Meraki (identificados como Cisco/Meraki) en formato SYSLOG o JSON, y los normaliza en la UDM. Usa patrones de grok para analizar mensajes de syslog y lógica condicional basada en el campo eventType
para extraer información relevante, controlar varios tipos de eventos, como flujos de red, solicitudes de URL, eventos de firewall y eventos genéricos, asignarlos a los campos de UDM adecuados y enriquecer los datos con contexto adicional. Si la entrada no es syslog, intenta analizarla como JSON y asigna los campos relevantes a la UDM.
Tabla de asignación de UDM
Campo de registro | Asignación de UDM | Lógica |
---|---|---|
action |
security_result.action |
El valor se convierte en mayúsculas. Si el valor es "deny", se reemplaza por "BLOCK". Si sc_action contiene "allow", el valor se reemplaza por "ALLOW". De lo contrario, si decision contiene "block", el valor se reemplaza por "BLOCK". De lo contrario, si authorization es “success”, se establece como “ALLOW” y, si es “failure”, se establece como “BLOCK”. De lo contrario, si pattern es “1 todo”, “rechazar todo” o “Rechazar directiva de grupo”, se establece en “BLOQUEAR”. Si pattern es "permitir todo", "Permitir la directiva de grupo" o "0 todo", se establece en "PERMITIR". De lo contrario, se establece como "UNKNOWN_ACTION". Si decision contiene “bloquear”, se establece como “BLOQUEAR”. |
adId |
principal.user.user_display_name |
Se asigna directamente desde el campo adId en los registros JSON. |
agent |
network.http.user_agent |
Se quitan los apóstrofos. Se asignan directamente desde el campo agent . También se convierte a network.http.parsed_user_agent con el filtro parseduseragent . |
aid |
network.session_id |
Se asignan directamente desde el campo aid . |
appProtocol |
network.application_protocol |
Se convirtió en mayúsculas. Se asignan directamente desde el campo appProtocol . |
attr |
additional.fields |
Se agrega como un par clave-valor al array additional.fields con la clave "attr". |
authorization |
security_result.action_details |
Se asigna directamente desde el campo authorization en los registros JSON. |
band |
additional.fields |
Se agrega como un par clave-valor al array additional.fields con la clave "band". |
bssids.bssid |
principal.mac |
Se convirtió en minúsculas. Se fusionó en el array principal.mac . |
bssids.detectedBy.device |
intermediary.asset.asset_id |
Debe tener el formato "Device id: |
bssids.detectedBy.rssi |
intermediary.asset.product_object_id |
Se convirtió en una cadena. |
Channel |
about.resource.attribute.labels |
Se agregó como un par clave-valor al array about.resource.attribute.labels con la clave "Channel". |
clientDescription |
additional.fields |
Se agregó como un par clave-valor al array additional.fields con la clave "clientDescription". |
clientId |
additional.fields |
Se agregó como un par clave-valor al array additional.fields con la clave "clientId". |
clientIp |
principal.ip , principal.asset.ip |
Se asignan directamente desde el campo clientIp . |
clientMac |
principal.mac |
Se convirtió en minúsculas. Se asigna directamente desde el campo clientMac en los registros JSON. |
client_ip |
principal.ip , principal.asset.ip |
Se asignan directamente desde el campo client_ip . |
client_mac |
principal.mac |
Se convirtió en minúsculas. Se asignan directamente desde el campo client_mac . |
code |
additional.fields |
Se agrega como un par clave-valor al array additional.fields con la clave "code". |
collection_time |
metadata.event_timestamp |
Los campos de segundos y nanos se combinan para crear una marca de tiempo. |
Conditions |
security_result.about.resource.attribute.labels |
Los retornos de carro, las líneas nuevas y las tabulaciones se reemplazan por espacios, y se sustituyen valores específicos. El valor modificado se agrega como un par clave-valor al array security_result.about.resource.attribute.labels con la clave "Conditions". |
decision |
security_result.action |
Si el valor es "blocked", se establece en "BLOCK". |
desc |
metadata.description |
Se asignan directamente desde el campo desc . |
description |
security_result.description |
Se asigna directamente desde el campo description en los registros JSON. |
DestAddress |
target.ip , target.asset.ip |
Se asignan directamente desde el campo DestAddress . |
DestPort |
target.port |
Se convirtió en un número entero. Se asignan directamente desde el campo DestPort . |
deviceIp |
target.ip |
Se asignan directamente desde el campo deviceIp . |
deviceMac |
target.mac |
Se convirtió en minúsculas. Se asignan directamente desde el campo deviceMac . |
deviceName |
target.hostname , target.asset.hostname |
Se asigna directamente desde el campo deviceName en los registros JSON. |
deviceSerial |
target.asset.hardware.serial_number |
Se asigna directamente desde el campo deviceSerial en los registros JSON. |
Direction |
network.direction |
Se quitan los caracteres especiales y el valor se asigna a network.direction . |
DisabledPrivilegeList |
target.user.attribute |
Se reemplazan los saltos de línea, las líneas nuevas y las tabulaciones, y el valor modificado se analiza como JSON y se combina en el objeto target.user.attribute . |
dport |
target.port |
Se convirtió en un número entero. Se asignan directamente desde el campo dport . |
dst |
target.ip , target.asset.ip |
Se asignan directamente desde el campo dst . |
dstIp |
target.ip , target.asset.ip |
Se asignan directamente desde el campo dstIp . |
dstPort |
target.port |
Se convirtió en un número entero. Se asignan directamente desde el campo dstPort . |
dvc |
intermediary.hostname |
Se asignan directamente desde el campo dvc . |
EnabledPrivilegeList |
target.user.attribute |
Se reemplazan los saltos de línea, las líneas nuevas y las tabulaciones, y el valor modificado se analiza como JSON y se combina en el objeto target.user.attribute . |
eventData.aid |
principal.asset_id |
Debe tener el formato "ASSET_ID: |
eventData.client_ip |
principal.ip , principal.asset.ip |
Se asigna directamente desde el campo eventData.client_ip en los registros JSON. |
eventData.client_mac |
principal.mac |
Se convirtió en minúsculas. Se asigna directamente desde el campo eventData.client_mac en los registros JSON. |
eventData.group |
principal.group.group_display_name |
Se asigna directamente desde el campo eventData.group en los registros JSON. |
eventData.identity |
principal.hostname |
Se asigna directamente desde el campo eventData.identity en los registros JSON. |
eventData.ip |
principal.ip , principal.asset.ip |
Se asigna directamente desde el campo eventData.ip en los registros JSON. |
EventID |
metadata.product_event_type , security_result.rule_name |
Se convirtió en una cadena. Se asignó a metadata.product_event_type . También se usa para crear security_result.rule_name en el formato "EventID: event_type y sec_action . |
eventSummary |
security_result.summary , metadata.description |
Se asignan directamente desde el campo eventSummary . También se usa en security_result.description para algunos eventos. |
eventType |
metadata.product_event_type |
Se asignan directamente desde el campo eventType . Se usa para determinar qué lógica de análisis aplicar. |
filename |
principal.process.file.full_path |
Se asignan directamente desde el campo filename . |
FilterId |
target.resource.product_object_id |
Se asigna directamente desde el campo FilterId para el ID de evento 5447. |
FilterName |
target.resource.name |
Se asigna directamente desde el campo FilterName para el ID de evento 5447. |
FilterRTID |
security_result.detection_fields |
Se agregó como un par clave-valor al array security_result.detection_fields con la clave "FilterRTID". |
firstSeen |
security_result.detection_fields |
Se convirtió en una cadena. Se agrega como un par clave-valor al array security_result.detection_fields con la clave "firstSeen". |
gatewayDeviceMac |
target.mac |
Se convirtió en minúsculas. Se fusionó en el array target.mac . |
group |
additional.fields |
Se agrega como un par clave-valor al array additional.fields con la clave "group". |
GroupMembership |
target.user |
Se quitan los retornos de carro, las líneas nuevas, los tabuladores y los caracteres especiales. El valor modificado se analiza como JSON y se combina en el objeto target.user . |
Hostname |
principal.hostname , principal.asset.hostname |
Se asignan directamente desde el campo Hostname . |
identity |
target.user.userid |
Se asignan directamente desde el campo identity . |
instigator |
additional.fields |
Se agregó como un par clave-valor al array additional.fields con la clave "instigator". |
int_ip |
intermediary.ip |
Se asignan directamente desde el campo int_ip . |
ip_msg |
principal.resource.attribute.labels |
Se agregó como un par clave-valor al array principal.resource.attribute.labels con la clave "IPs". |
is_8021x |
additional.fields |
Se agregó como un par clave-valor al array additional.fields con la clave "is_8021x". |
KeyName |
target.resource.name |
Se asignan directamente desde el campo KeyName . |
KeyFilePath |
target.file.full_path |
Se asignan directamente desde el campo KeyFilePath . |
lastSeen |
security_result.detection_fields |
Se convirtió en una cadena. Se agregó como un par clave-valor al array security_result.detection_fields con la clave "lastSeen". |
last_known_client_ip |
principal.ip , principal.asset.ip |
Se asignan directamente desde el campo last_known_client_ip . |
LayerName |
security_result.detection_fields |
Se agregó como un par clave-valor al array security_result.detection_fields con la clave "Nombre de la capa". |
LayerRTID |
security_result.detection_fields |
Se agregó como un par clave-valor al array security_result.detection_fields con la clave "LayerRTID". |
localIp |
principal.ip , principal.asset.ip |
Se asignan directamente desde el campo localIp . |
login |
principal.user.email_addresses |
Se asigna directamente desde el campo login en los registros JSON si coincide con el formato de una dirección de correo electrónico. |
LogonGuid |
additional.fields |
Se agregó como un par clave-valor al array additional.fields con la clave "LogonGuid". |
LogonType |
extensions.auth.mechanism |
Se asigna a un mecanismo de autenticación específico según su valor. Si PreAuthType está presente, anula LogonType . Los valores se asignan de la siguiente manera: 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, other -> MECHANISM_UNSPECIFIED. |
mac |
principal.mac |
Se convirtió en minúsculas. Se fusionó en el array principal.mac . |
MandatoryLabel |
additional.fields |
Se agregó como un par clave-valor al array additional.fields con la clave "MandatoryLabel". |
Message |
security_result.description , security_result.summary |
Si AccessReason está presente, Message se asigna a security_result.summary y AccessReason se asigna a security_result.description . De lo contrario, Message se asigna a security_result.description . |
method |
network.http.method |
Se asignan directamente desde el campo method . |
msg |
security_result.description |
Se asignan directamente desde el campo msg . |
name |
principal.user.user_display_name |
Se asigna directamente desde el campo name en los registros JSON. |
natsrcIp |
principal.nat_ip |
Se asignan directamente desde el campo natsrcIp . |
natsrcport |
principal.nat_port |
Se convirtió en un número entero. Se asignan directamente desde el campo natsrcport . |
network_id |
additional.fields |
Se agregó como un par clave-valor al array additional.fields con la clave "ID de red". |
NewProcessId |
target.process.pid |
Se asignan directamente desde el campo NewProcessId . |
NewProcessName |
target.process.file.full_path |
Se asignan directamente desde el campo NewProcessName . |
NewSd |
target.resource.attribute.labels |
Se agregó como un par clave-valor al array target.resource.attribute.labels con la clave "New Security Descriptor". |
occurredAt |
metadata.event_timestamp |
Se analiza como una marca de tiempo con el formato ISO8601. |
ObjectName |
target.file.full_path , target.registry.registry_key , target.process.file.full_path , additional.fields |
Si EventID es 4663 y ObjectType es “Proceso”, se asigna a target.process.file.full_path . Si ObjectType es "Clave", se asigna a target.registry.registry_key . De lo contrario, se asigna a target.file.full_path . Para otros eventos, se agrega como un par clave-valor al array additional.fields con la clave "ObjectName". |
ObjectType |
additional.fields |
Se agregó como un par clave-valor al array additional.fields con la clave "ObjectType". Se usa para determinar event_type . |
OldSd |
target.resource.attribute.labels |
Se agregó como un par clave-valor al array target.resource.attribute.labels con la clave "Descriptor de seguridad original". |
organizationId |
principal.resource.id |
Se asigna directamente desde el campo organizationId en los registros JSON. |
ParentProcessName |
target.process.parent_process.file.full_path |
Se asignan directamente desde el campo ParentProcessName . |
pattern |
security_result.description |
Se asignan directamente a security_result.description . Se usa para determinar security_result.action . |
peer_ident |
target.user.userid |
Se asignan directamente desde el campo peer_ident . |
PreAuthType |
extensions.auth.mechanism |
Se usa para determinar el mecanismo de autenticación, si está presente. Anula LogonType . |
principalIp |
principal.ip , principal.asset.ip |
Se asignan directamente desde el campo principalIp . |
principalMac |
principal.mac |
Se convirtió en minúsculas. Se fusionó en el array principal.mac . |
principalPort |
principal.port |
Se convirtió en un número entero. Se asignan directamente desde el campo principalPort . |
prin_ip2 |
principal.ip , principal.asset.ip |
Se asignan directamente desde el campo prin_ip2 . |
prin_url |
principal.url |
Se asignan directamente desde el campo prin_url . |
priority |
security_result.priority |
Se asigna a un nivel de prioridad según su valor: 1 -> HIGH_PRIORITY, 2 -> MEDIUM_PRIORITY, 3 -> LOW_PRIORITY, otro -> UNKNOWN_PRIORITY. |
ProcessID |
principal.process.pid |
Se convirtió en una cadena. Se asignan directamente desde el campo ProcessID . |
ProcessName |
principal.process.file.full_path , target.process.file.full_path |
Si EventID es 4689, se asigna a target.process.file.full_path . De lo contrario, se asigna a principal.process.file.full_path . |
prod_log_id |
metadata.product_log_id |
Se asignan directamente desde el campo prod_log_id . |
protocol |
network.ip_protocol |
Se convirtió en mayúsculas. Si es un número, se convierte en el nombre del protocolo IP correspondiente. Si es "ICMP6", se reemplaza por "ICMP". Se asignan directamente desde el campo protocol . |
ProviderGuid |
metadata.product_deployment_id |
Se asignan directamente desde el campo ProviderGuid . |
query |
network.dns.questions.name |
Se asignan directamente desde el campo query . |
query_type |
network.dns.questions.type |
Se cambió el nombre a question.type y se fusionó en el array network.dns.questions . Se asigna a un valor numérico según el tipo de consulta de DHCP. |
radio |
additional.fields |
Se agregó como un par clave-valor al array additional.fields con la clave "radio". |
reason |
additional.fields |
Se agregó como un par clave-valor al array additional.fields con la clave "reason". |
rec_bytes |
network.received_bytes |
Se convierte en un número entero sin firma. Se asignan directamente desde el campo rec_bytes . |
RecordNumber |
metadata.product_log_id |
Se convirtió en una cadena. Se asignan directamente desde el campo RecordNumber . |
RelativeTargetName |
target.process.file.full_path |
Se asignan directamente desde el campo RelativeTargetName . |
response_ip |
principal.ip , principal.asset.ip |
Se asignan directamente desde el campo response_ip . |
rssi |
intermediary.asset.product_object_id |
Se asignan directamente desde el campo rssi . |
sc_action |
security_result.action_details |
Se asignan directamente desde el campo sc_action . |
sec_action |
security_result.action |
Se fusionó en el array security_result.action . |
server_ip |
client_ip |
Se asignan directamente al campo client_ip . |
Severity |
security_result.severity |
Se asigna a un nivel de gravedad según su valor: "Info" -> INFORMATIONAL, "Error" -> ERROR, "Warning" -> MEDIUM, other -> UNKNOWN_SEVERITY. |
sha256 |
target.file.sha256 |
Se asignan directamente desde el campo sha256 . |
signature |
additional.fields |
Se agrega como un par clave-valor al array additional.fields con la clave "signature". |
SourceAddress |
principal.ip , principal.asset.ip |
Se asignan directamente desde el campo SourceAddress . |
SourceHandleId |
src.resource.id |
Se asignan directamente desde el campo SourceHandleId . |
SourceModuleName |
observer.labels |
Se agregó como un par clave-valor al array observer.labels con la clave "SourceModuleName". |
SourceModuleType |
observer.application |
Se asignan directamente desde el campo SourceModuleType . |
SourcePort |
principal.port |
Se convirtió en un número entero. Se asignan directamente desde el campo SourcePort . |
SourceProcessId |
src.process.pid |
Se asignan directamente desde el campo SourceProcessId . |
source_client_ip |
client_ip |
Se asignan directamente al campo client_ip . |
sport |
principal.port |
Se convirtió en un número entero. Se asignan directamente desde el campo sport . |
src |
principal.ip , principal.asset.ip |
Se asignan directamente desde el campo src . |
ssid |
network.session_id |
Se asigna directamente desde el campo ssid en los registros JSON. |
ssidName |
additional.fields |
Se agregó como un par clave-valor al array additional.fields con la clave "ssidName". |
state |
additional.fields |
Se agregó como un par clave-valor al array additional.fields con la clave "state". |
Status |
additional.fields |
Se agregó como un par clave-valor al array additional.fields con la clave "Estado". |
status_code |
network.http.response_code |
Se convirtió en un número entero. Se asignan directamente desde el campo status_code . |
SubjectDomainName |
principal.administrative_domain |
Se asignan directamente desde el campo SubjectDomainName . |
SubjectLogonId |
principal.resource.attribute.labels |
Se agregó como un par clave-valor al array principal.resource.attribute.labels con la clave "SubjectLogonId". |
SubjectUserName |
principal.user.userid |
Se asignan directamente desde el campo SubjectUserName . |
SubjectUserSid |
principal.user.windows_sid |
Se asignan directamente desde el campo SubjectUserSid . |
targetHost |
target.hostname , target.asset.hostname |
Se convierte en una dirección IP si es posible. De lo contrario, se analiza para extraer el nombre de host y se asigna a target.hostname y target.asset.hostname . |
TargetHandleId |
target.resource.id |
Se asignan directamente desde el campo TargetHandleId . |
TargetLogonId |
principal.resource.attribute.labels |
Se agrega como un par clave-valor al array principal.resource.attribute.labels con la clave "TargetLogonId" si es diferente de SubjectLogonId . |
TargetProcessId |
target.process.pid |
Se asignan directamente desde el campo TargetProcessId . |
TargetUserName |
target.user.userid |
Se asignan directamente desde el campo TargetUserName . |
TargetUserSid |
target.user.windows_sid |
Se asignan directamente desde el campo TargetUserSid . |
Task |
additional.fields |
Se convirtió en una cadena. Se agregó como un par clave-valor al array additional.fields con la clave "Task". |
timestamp |
metadata.event_timestamp |
El campo de segundos se usa para crear una marca de tiempo. |
ts |
metadata.event_timestamp |
Si ts está vacío, se crea combinando tsDate , tsTime y tsTZ . Si contiene " |
type |
security_result.summary , metadata.product_event_type |
Se asigna directamente desde el campo type en los registros JSON. También se usa como eventSummary y metadata.product_event_type en algunos casos. |
url |
target.url , principal.url |
Se asignan directamente desde el campo url . |
url1 |
target.url |
Se asignan directamente desde el campo url1 . |
user |
target.user.group_identifiers |
Se fusionó en el array target.user.group_identifiers . |
user_id |
target.user.userid |
Se asignan directamente desde el campo user_id . |
UserID |
principal.user.windows_sid |
Se asignan directamente desde el campo UserID . |
UserName |
principal.user.userid |
Se asignan directamente desde el campo UserName . |
user_agent |
network.http.user_agent |
Se asignan directamente desde el campo user_agent . |
userId |
target.user.userid |
Se asignan directamente desde el campo userId . |
vap |
additional.fields |
Se agregó como un par clave-valor al array additional.fields con la clave "vap". |
VirtualAccount |
security_result.about.labels |
Se agregó como un par clave-valor al array security_result.about.labels con la clave "VirtualAccount". |
wiredLastSeen |
security_result.detection_fields |
Se convirtió en una cadena. Se agregó como un par clave-valor al array security_result.detection_fields con la clave "wiredLastSeen". |
wiredMacs |
intermediary.mac |
Se convirtió en minúsculas. Se fusionó en el array intermediary.mac . |
WorkstationName |
principal.hostname , principal.asset.hostname |
Se asignan directamente desde el campo WorkstationName . |
Cambios
2024-03-19
- Se agregó un patrón Grok para asignar la dirección IP del dispositivo de envío a "intermediary.ip".
2024-02-06
- Se analizaron los registros en los que "eventSummary" es "cli_set_rad_parms" o "cli_set_rad_pmksa_parms".
- Se asignaron "group" y "attr" a "additional.fields".
2023-12-26
- Se analizaron los registros que contienen "eventSummary" como "status changed" y "changed STP role".
2023-10-09
- Establece "sec_res.action" en "BLOCK" cuando "pattern" esté en "1 all", "deny all" o "Group Policy Deny".
- Establece "sec_res.action" en "ALLOW" cuando "pattern" esté en "0 all", "allow all" o "Group Policy Allow".
2023-07-19
- Bug-Fix:
- Se analizaron registros de syslog sin analizar de tipo “firewall”.
2023-07-14
- Mejora:
- para el tipo "splash_auth", se asignó "event_type" a "USER_LOGIN".
- para el tipo "device_packet_flood", "packet_flood" asignó "event_type" a "GENERIC_EVENT".
- para el tipo "vpn_connectivity_change", "wpa_deauth", "wpa_auth" asignó "event_type" a "STATUS_UPDATE".
- Se asignó "agent" a "network.http.parsed_user_agent".
- Si "protocol" == "47", se asignó "network.ip_protocol" a "GRE".
- Si "protocol" == "103", se asignó "network.ip_protocol" a "PIM".
2023-07-04
- Mejora:
- Se usaron filtros de par clave-valor, en lugar de un patrón de Grok, para analizar los registros de tipo "urls", "firewall" y "vpn_firewall".
16-06-2023
- Mejora:
- Se asignó "src" a "principal.ip".
- Se asignó "dst" a "target.ip".
- Se asignó "protocol" a "network.ip_protocol".
- Se asignó "sport" a "principal.port".
- Se asignó "dport" a "target.port"
- Se asignó "mac" a "principal.mac".
- Se asignó "pattern" a "security_result.description".
2023-06-09
- Mejora:
- Se asignó "metadata.event_type" a "USER_LOGOUT" cuando "type" = "8021x_deauth".
- Se asignaron "radio", "vap", "reason", "is_8021x", "instigator" y "band" a "additional.fields" para "type" = "disassociation".
2023-05-26
- Mejora:
- Para el tipo "security_filtering_file_scanned", se modificó "metadata.event_type" de "STATUS_UPDATE" a "SCAN_FILE".
- Se agregó el patrón Grok para analizar los registros de syslog.
- Se asignó "ip" a "principal.ip"
- Se asignó "mac" a "principal.mac".
2023-03-03
- Mejora:
- Se agregó el patrón Grok para analizar los registros que tienen el campo "ip_flow_end".
- Se asignó "natsrcIp" a "principal.nat_ip".
- Se asignó "natsrcport" a "principal.nat_port".
2022-11-25
- Mejora:
- Se agregó compatibilidad con los registros JSON sin analizar, los registros de consultas de network_dns y los registros syslog+kv_data con errores.
- Se asignó "metadata.eventType" a RESOURCE_CREATION, FILE_UNCATEGORIZED, SETTING_MODIFICATION, NETWORK_UNCATEGORIZED,
- GROUP_UNCATEGORIZED, PROCESS_LAUNCH, PROCESS_TERMINATION, STATUS_UNCATEGORIZED, SYSTEM_AUDIT_LOG_UNCATEGORIZED,
- USER_LOGOUT, USER_LOGIN, RESOURCE_PERMISSIONS_CHANGE, USER_RESOURCE_ACCESS según "EventID" para registros JSON.
- Se asignan "DisabledPrivilegeList" y "EnabledPrivilegeList" a "target.user.attribute.permissions".
- Se asignó "GroupMembership" a "target.user.group_identifiers".
- Se asignó "AccessList" a "target.resource.attribute".
- Se asignó “auth_mechanism” a “extensions.auth.mechanism”.
- Se asignó "question" a "network.dns.questions".
- Establece "security_result.priority" según el valor de "priority".
- Se asignó "RecordNumber" a "metadata.product_log_id".
2022-10-06
- Mejora:
- Se asignó "dvc" a "intermediary.hostname".
- Se asignó "eventType" a "metadata.product_event_type".
- Se asignó "pattren" a "security_result.action_details".
- Se asignó "principalMac" a "principal.mac".
- Se asignó "principalIp" a "principal.ip".
- Se agregó la verificación de nulo para "dstIp" antes de la asignación a udm.
2022-07-04
- Mejora:
- Cuando “protocol” sea igual a “47”, establece “protocol” en “GRE”.
- Cuando “protocol” sea igual a “50”, establece “protocol” en “ESP”.
- Se agregó el bloque kv cuando "eventType" es igual a "events".
- Se asignó "identity" a "target.user.userid".
- Se asignó "last_known_client_ip" a "principal.ip".
- Cuando "eventSummary" es igual a "association".
- Se asignó "client_ip" a "principal.ip".
- Se asignó "client_mac" a "principal.mac".
- Se asignó "rssi" a "intermediary.asset.product_object_id".
- Se asignó "channel" a "security_result.detection_fields".
- Se asignó "aid" a "network.session_id".
2022-06-15
- Mejora:
- Se asignaron "lastSeen", "firstSeen" y "wiredLastSeen" a "security_result.detection_fields".
- Se asignó "wiredMacs" a "intermediary.mac".
- Se asignó "type" a "security_result.summary".
- Se asignó "description" a "security_result.description".
- Se asignó "deviceSerial" a "_target_hardware.serial_number".
- Se asignó "deviceName" a "target.hostname".
- Se asignaron "ssidName", "clientId" y "clientDescription" a "additional.fields".
- Se asignó "eventData.client_mac" a "principal.mac".
- Se asignó "eventData.identity" a "principal.hostname".
- Se asignó "eventData.aid" a "principal.asset_id".
- Se asignó “organizationId” a “principal.resource.id”.
- Se asignó "eventData.group" a "principal.group.group_display_name".
- Se asignó "eventData.client_ip" a "principal.ip".
- Se asignó "occurredAt" a "metadata.event_timestamp".
2022-05-04
- Mejora: Se agregó la asignación para el nombre de host.
13-4-2022
- Mejora: Se agregó el análisis de registros de tipo JSON.