Raccogliere i log di Cisco Meraki
Questo documento descrive come raccogliere i log di Cisco Meraki utilizzando un forwarder di Google Security Operations.
Per ulteriori informazioni, consulta Importazione dei dati in Google Security Operations.
Un'etichetta di importazione identifica l'analizzatore sintattico che normalizza i dati dei log non elaborati
in formato UDM strutturato. Le informazioni contenute in questo documento si applicano al parser con l'etichetta di importazione CISCO_MERAKI
.
Configurare Cisco Meraki
- Accedi alla dashboard di Cisco Meraki.
- Nella dashboard di Cisco Meraki, seleziona Configura > Avvisi e amministrazione.
- Nella sezione Logging, segui questi passaggi:
- Nel campo Indirizzo IP del server, specifica l'indirizzo IP del forwarder di Google Security Operations.
- Nel campo Porta, specifica il valore della porta, ad esempio 514.
- Nel campo Ruoli, seleziona le quattro opzioni disponibili per visualizzare tutti i log o qualsiasi combinazione in base alle tue esigenze.
- Fai clic su Salva modifiche.
Configura il forwarder di Google Security Operations e syslog per importare i log di Cisco Meraki
- Vai a Impostazioni SIEM > Inoltratori.
- Fai clic su Aggiungi nuovo mittente.
- Nel campo Nome del forwarder, inserisci un nome univoco per il forwarder.
- Fai clic su Invia. Il forwarder viene aggiunto e viene visualizzata la finestra Aggiungi configurazione del raccoglitore.
- Digita un nome nel campo Nome del raccoglitore.
- Seleziona Cisco Meraki come Tipo di log.
- Seleziona Syslog come Tipo di collettore.
- Configura i seguenti parametri di input obbligatori:
- Protocollo: specifica il protocollo.
- Indirizzo: specifica l'indirizzo IP o il nome host di destinazione in cui risiede il collector e ascolta i dati syslog.
- Porta: specifica la porta di destinazione in cui risiede il raccoglitore e che ascolta i dati syslog.
- Fai clic su Invia.
Per ulteriori informazioni sui forwarder di Google Security Operations, consulta la documentazione sui forwarder di Google Security Operations.
Per informazioni sui requisiti per ciascun tipo di inoltro, consulta Configurazione degli inoltratori per tipo.
Se riscontri problemi durante la creazione dei reindirizzamenti, contatta l'assistenza di Google Security Operations.
Riferimento alla mappatura dei campi
Questo parser gestisce i log di Cisco Meraki (identificati come Cisco/Meraki) in formato SYSLOG o JSON, normalizzandoli in UDM. Utilizza pattern grok per analizzare i messaggi syslog e la logica condizionale in base al campo eventType
per estrarre informazioni pertinenti, gestire vari tipi di eventi come flussi di rete, richieste URL, eventi firewall ed eventi generici, mappandoli ai campi UDM appropriati e arricchendo i dati con un contesto aggiuntivo. Se l'input non è syslog, tenta di analizzarlo come JSON e mappa i campi pertinenti a UDM.
Tabella di mappatura UDM
Campo log | Mappatura UDM | Logica |
---|---|---|
action |
security_result.action |
Il valore viene convertito in lettere maiuscole. Se il valore è "deny", viene sostituito con "BLOCK". Se sc_action contiene "allow", il valore viene sostituito con "ALLOW". In caso contrario, se decision contiene "block", il valore viene sostituito con "BLOCK". In caso contrario, se authorization è "success", viene impostato su "ALLOW" e se è "failure", viene impostato su "BLOCK". In caso contrario, se pattern è "1 all", "deny all" o "Group Policy Deny", viene impostato su "BLOCK". Se pattern è "consenti tutto", "Consenti criteri di gruppo" o "0 all", viene impostato su "ALLOW". In caso contrario, viene impostato su "UNKNOWN_ACTION". Se decision contiene "block", è impostato su "BLOCK". |
adId |
principal.user.user_display_name |
Mappato direttamente dal campo adId nei log JSON. |
agent |
network.http.user_agent |
Gli apostrofi vengono rimossi. Mappato direttamente dal campo agent . Convertito anche in network.http.parsed_user_agent utilizzando il filtro parseduseragent . |
aid |
network.session_id |
Mappato direttamente dal campo aid . |
appProtocol |
network.application_protocol |
Convertito in maiuscolo. Mappato direttamente dal campo appProtocol . |
attr |
additional.fields |
Aggiunto come coppia chiave-valore all'array additional.fields con la chiave "attr". |
authorization |
security_result.action_details |
Mappato direttamente dal campo authorization nei log JSON. |
band |
additional.fields |
Aggiunto come coppia chiave-valore all'array additional.fields con la chiave "band". |
bssids.bssid |
principal.mac |
Convertito in minuscolo. Unito all'array principal.mac . |
bssids.detectedBy.device |
intermediary.asset.asset_id |
Deve essere formattato come "ID dispositivo: |
bssids.detectedBy.rssi |
intermediary.asset.product_object_id |
Convertito in una stringa. |
Channel |
about.resource.attribute.labels |
Aggiunto come coppia chiave-valore all'array about.resource.attribute.labels con la chiave "Canale". |
clientDescription |
additional.fields |
Aggiunto come coppia chiave-valore all'array additional.fields con la chiave "clientDescription". |
clientId |
additional.fields |
Aggiunto come coppia chiave-valore all'array additional.fields con la chiave "clientId". |
clientIp |
principal.ip , principal.asset.ip |
Mappato direttamente dal campo clientIp . |
clientMac |
principal.mac |
Convertito in minuscolo. Mappato direttamente dal campo clientMac nei log JSON. |
client_ip |
principal.ip , principal.asset.ip |
Mappato direttamente dal campo client_ip . |
client_mac |
principal.mac |
Convertito in minuscolo. Mappato direttamente dal campo client_mac . |
code |
additional.fields |
Aggiunto come coppia chiave-valore all'array additional.fields con la chiave "code". |
collection_time |
metadata.event_timestamp |
I campi secondi e nanos vengono combinati per creare un timestamp. |
Conditions |
security_result.about.resource.attribute.labels |
I ritorni a capo, i nuovi riga e le tabulazioni vengono sostituiti con spazi e vengono sostituiti valori specifici. Il valore modificato viene aggiunto come coppia chiave-valore all'array security_result.about.resource.attribute.labels con la chiave "Condizioni". |
decision |
security_result.action |
Se il valore è "blocked", viene impostato su "BLOCK". |
desc |
metadata.description |
Mappato direttamente dal campo desc . |
description |
security_result.description |
Mappato direttamente dal campo description nei log JSON. |
DestAddress |
target.ip , target.asset.ip |
Mappato direttamente dal campo DestAddress . |
DestPort |
target.port |
Convertito in un numero intero. Mappato direttamente dal campo DestPort . |
deviceIp |
target.ip |
Mappato direttamente dal campo deviceIp . |
deviceMac |
target.mac |
Convertito in minuscolo. Mappato direttamente dal campo deviceMac . |
deviceName |
target.hostname , target.asset.hostname |
Mappato direttamente dal campo deviceName nei log JSON. |
deviceSerial |
target.asset.hardware.serial_number |
Mappato direttamente dal campo deviceSerial nei log JSON. |
Direction |
network.direction |
I caratteri speciali vengono rimossi e il valore viene mappato a network.direction . |
DisabledPrivilegeList |
target.user.attribute |
I ritorni a capo, i nuovi riga e le tabulazioni vengono sostituiti e il valore modificato viene analizzato come JSON e unito all'oggetto target.user.attribute . |
dport |
target.port |
Convertito in un numero intero. Mappato direttamente dal campo dport . |
dst |
target.ip , target.asset.ip |
Mappato direttamente dal campo dst . |
dstIp |
target.ip , target.asset.ip |
Mappato direttamente dal campo dstIp . |
dstPort |
target.port |
Convertito in un numero intero. Mappato direttamente dal campo dstPort . |
dvc |
intermediary.hostname |
Mappato direttamente dal campo dvc . |
EnabledPrivilegeList |
target.user.attribute |
I ritorni a capo, i nuovi riga e le tabulazioni vengono sostituiti e il valore modificato viene analizzato come JSON e unito all'oggetto target.user.attribute . |
eventData.aid |
principal.asset_id |
Deve essere formattato come "ASSET_ID: |
eventData.client_ip |
principal.ip , principal.asset.ip |
Mappato direttamente dal campo eventData.client_ip nei log JSON. |
eventData.client_mac |
principal.mac |
Convertito in minuscolo. Mappato direttamente dal campo eventData.client_mac nei log JSON. |
eventData.group |
principal.group.group_display_name |
Mappato direttamente dal campo eventData.group nei log JSON. |
eventData.identity |
principal.hostname |
Mappato direttamente dal campo eventData.identity nei log JSON. |
eventData.ip |
principal.ip , principal.asset.ip |
Mappato direttamente dal campo eventData.ip nei log JSON. |
EventID |
metadata.product_event_type , security_result.rule_name |
Convertito in una stringa. Mappatura a metadata.product_event_type . Utilizzato anche per creare security_result.rule_name nel formato "EventID: event_type e sec_action . |
eventSummary |
security_result.summary , metadata.description |
Mappato direttamente dal campo eventSummary . Utilizzato anche in security_result.description per alcuni eventi. |
eventType |
metadata.product_event_type |
Mappato direttamente dal campo eventType . Utilizzato per determinare quale logica di analisi applicare. |
filename |
principal.process.file.full_path |
Mappato direttamente dal campo filename . |
FilterId |
target.resource.product_object_id |
Mappato direttamente dal campo FilterId per l'EventID 5447. |
FilterName |
target.resource.name |
Mappato direttamente dal campo FilterName per l'EventID 5447. |
FilterRTID |
security_result.detection_fields |
Aggiunto come coppia chiave-valore all'array security_result.detection_fields con la chiave "FilterRTID". |
firstSeen |
security_result.detection_fields |
Convertito in una stringa. Aggiunto come coppia chiave-valore all'array security_result.detection_fields con la chiave "firstSeen". |
gatewayDeviceMac |
target.mac |
Convertito in minuscolo. Unito all'array target.mac . |
group |
additional.fields |
Aggiunto come coppia chiave-valore all'array additional.fields con la chiave "group". |
GroupMembership |
target.user |
I ritorni a capo, i nuovi riga, i tabulatori e i caratteri speciali vengono rimossi. Il valore modificato viene analizzato come JSON e unito all'oggetto target.user . |
Hostname |
principal.hostname , principal.asset.hostname |
Mappato direttamente dal campo Hostname . |
identity |
target.user.userid |
Mappato direttamente dal campo identity . |
instigator |
additional.fields |
Aggiunto come coppia chiave-valore all'array additional.fields con la chiave "instigator". |
int_ip |
intermediary.ip |
Mappato direttamente dal campo int_ip . |
ip_msg |
principal.resource.attribute.labels |
Aggiunto come coppia chiave-valore all'array principal.resource.attribute.labels con la chiave "IP". |
is_8021x |
additional.fields |
Aggiunto come coppia chiave-valore all'array additional.fields con la chiave "is_8021x". |
KeyName |
target.resource.name |
Mappato direttamente dal campo KeyName . |
KeyFilePath |
target.file.full_path |
Mappato direttamente dal campo KeyFilePath . |
lastSeen |
security_result.detection_fields |
Convertito in una stringa. Aggiunto come coppia chiave-valore all'array security_result.detection_fields con la chiave "lastSeen". |
last_known_client_ip |
principal.ip , principal.asset.ip |
Mappato direttamente dal campo last_known_client_ip . |
LayerName |
security_result.detection_fields |
Aggiunto come coppia chiave-valore all'array security_result.detection_fields con la chiave "Nome livello". |
LayerRTID |
security_result.detection_fields |
Aggiunto come coppia chiave-valore all'array security_result.detection_fields con la chiave "LayerRTID". |
localIp |
principal.ip , principal.asset.ip |
Mappato direttamente dal campo localIp . |
login |
principal.user.email_addresses |
Mappato direttamente dal campo login nei log JSON se corrisponde a un formato di indirizzo email. |
LogonGuid |
additional.fields |
Aggiunto come coppia chiave-valore all'array additional.fields con la chiave "LogonGuid". |
LogonType |
extensions.auth.mechanism |
Mappato a un meccanismo di autenticazione specifico in base al relativo valore. Se PreAuthType è presente, sostituisce LogonType . I valori vengono mappati come segue: 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, altri -> MECHANISM_UNSPECIFIED. |
mac |
principal.mac |
Convertito in minuscolo. Unito all'array principal.mac . |
MandatoryLabel |
additional.fields |
Aggiunto come coppia chiave-valore all'array additional.fields con la chiave "MandatoryLabel". |
Message |
security_result.description , security_result.summary |
Se è presente AccessReason , Message viene mappato a security_result.summary e AccessReason a security_result.description . In caso contrario, Message viene mappato a security_result.description . |
method |
network.http.method |
Mappato direttamente dal campo method . |
msg |
security_result.description |
Mappato direttamente dal campo msg . |
name |
principal.user.user_display_name |
Mappato direttamente dal campo name nei log JSON. |
natsrcIp |
principal.nat_ip |
Mappato direttamente dal campo natsrcIp . |
natsrcport |
principal.nat_port |
Convertito in un numero intero. Mappato direttamente dal campo natsrcport . |
network_id |
additional.fields |
Aggiunto come coppia chiave-valore all'array additional.fields con la chiave "ID rete". |
NewProcessId |
target.process.pid |
Mappato direttamente dal campo NewProcessId . |
NewProcessName |
target.process.file.full_path |
Mappato direttamente dal campo NewProcessName . |
NewSd |
target.resource.attribute.labels |
Aggiunto come coppia chiave-valore all'array target.resource.attribute.labels con la chiave "Nuovo descrittore di sicurezza". |
occurredAt |
metadata.event_timestamp |
Analizzata come timestamp utilizzando il formato ISO8601. |
ObjectName |
target.file.full_path , target.registry.registry_key , target.process.file.full_path , additional.fields |
Se EventID è 4663 e ObjectType è "Elabora", viene mappato a target.process.file.full_path . Se ObjectType è "Key", viene mappato a target.registry.registry_key . In caso contrario, viene mappato a target.file.full_path . Per gli altri eventi, viene aggiunto come coppia chiave/valore all'array additional.fields con la chiave "ObjectName". |
ObjectType |
additional.fields |
Aggiunto come coppia chiave-valore all'array additional.fields con la chiave "ObjectType". Utilizzato per determinare event_type . |
OldSd |
target.resource.attribute.labels |
Aggiunto come coppia chiave-valore all'array target.resource.attribute.labels con la chiave "Descrittore di sicurezza originale". |
organizationId |
principal.resource.id |
Mappato direttamente dal campo organizationId nei log JSON. |
ParentProcessName |
target.process.parent_process.file.full_path |
Mappato direttamente dal campo ParentProcessName . |
pattern |
security_result.description |
Mappato direttamente a security_result.description . Utilizzato per determinare security_result.action . |
peer_ident |
target.user.userid |
Mappato direttamente dal campo peer_ident . |
PreAuthType |
extensions.auth.mechanism |
Utilizzato per determinare il meccanismo di autenticazione, se presente. Sostituisce LogonType . |
principalIp |
principal.ip , principal.asset.ip |
Mappato direttamente dal campo principalIp . |
principalMac |
principal.mac |
Convertito in minuscolo. Unito all'array principal.mac . |
principalPort |
principal.port |
Convertito in un numero intero. Mappato direttamente dal campo principalPort . |
prin_ip2 |
principal.ip , principal.asset.ip |
Mappato direttamente dal campo prin_ip2 . |
prin_url |
principal.url |
Mappato direttamente dal campo prin_url . |
priority |
security_result.priority |
Mappato a un livello di priorità in base al relativo valore: 1 -> HIGH_PRIORITY, 2 -> MEDIUM_PRIORITY, 3 -> LOW_PRIORITY, altro -> UNKNOWN_PRIORITY. |
ProcessID |
principal.process.pid |
Convertito in una stringa. Mappato direttamente dal campo ProcessID . |
ProcessName |
principal.process.file.full_path , target.process.file.full_path |
Se EventID è 4689, è mappato a target.process.file.full_path . In caso contrario, viene mappato a principal.process.file.full_path . |
prod_log_id |
metadata.product_log_id |
Mappato direttamente dal campo prod_log_id . |
protocol |
network.ip_protocol |
Convertito in maiuscolo. Se si tratta di un numero, viene convertito nel nome del protocollo IP corrispondente. Se è "ICMP6", viene sostituito con "ICMP". Mappato direttamente dal campo protocol . |
ProviderGuid |
metadata.product_deployment_id |
Mappato direttamente dal campo ProviderGuid . |
query |
network.dns.questions.name |
Mappato direttamente dal campo query . |
query_type |
network.dns.questions.type |
Rinominato in question.type e unito all'array network.dns.questions . Mappato a un valore numerico in base al tipo di query DHCP. |
radio |
additional.fields |
Aggiunto come coppia chiave-valore all'array additional.fields con la chiave "radio". |
reason |
additional.fields |
Aggiunto come coppia chiave-valore all'array additional.fields con la chiave "reason". |
rec_bytes |
network.received_bytes |
Convertito in un numero intero non firmato. Mappato direttamente dal campo rec_bytes . |
RecordNumber |
metadata.product_log_id |
Convertito in una stringa. Mappato direttamente dal campo RecordNumber . |
RelativeTargetName |
target.process.file.full_path |
Mappato direttamente dal campo RelativeTargetName . |
response_ip |
principal.ip , principal.asset.ip |
Mappato direttamente dal campo response_ip . |
rssi |
intermediary.asset.product_object_id |
Mappato direttamente dal campo rssi . |
sc_action |
security_result.action_details |
Mappato direttamente dal campo sc_action . |
sec_action |
security_result.action |
Unito all'array security_result.action . |
server_ip |
client_ip |
Mappato direttamente al campo client_ip . |
Severity |
security_result.severity |
Mappato a un livello di gravità in base al relativo valore: "Info" -> INFORMATIONAL, "Error" -> ERROR, "Warning" -> MEDIUM, altro -> UNKNOWN_SEVERITY. |
sha256 |
target.file.sha256 |
Mappato direttamente dal campo sha256 . |
signature |
additional.fields |
Aggiunto come coppia chiave-valore all'array additional.fields con la chiave "signature". |
SourceAddress |
principal.ip , principal.asset.ip |
Mappato direttamente dal campo SourceAddress . |
SourceHandleId |
src.resource.id |
Mappato direttamente dal campo SourceHandleId . |
SourceModuleName |
observer.labels |
Aggiunto come coppia chiave-valore all'array observer.labels con la chiave "SourceModuleName". |
SourceModuleType |
observer.application |
Mappato direttamente dal campo SourceModuleType . |
SourcePort |
principal.port |
Convertito in un numero intero. Mappato direttamente dal campo SourcePort . |
SourceProcessId |
src.process.pid |
Mappato direttamente dal campo SourceProcessId . |
source_client_ip |
client_ip |
Mappato direttamente al campo client_ip . |
sport |
principal.port |
Convertito in un numero intero. Mappato direttamente dal campo sport . |
src |
principal.ip , principal.asset.ip |
Mappato direttamente dal campo src . |
ssid |
network.session_id |
Mappato direttamente dal campo ssid nei log JSON. |
ssidName |
additional.fields |
Aggiunto come coppia chiave-valore all'array additional.fields con la chiave "ssidName". |
state |
additional.fields |
Aggiunto come coppia chiave-valore all'array additional.fields con la chiave "state". |
Status |
additional.fields |
Aggiunto come coppia chiave-valore all'array additional.fields con la chiave "Status". |
status_code |
network.http.response_code |
Convertito in un numero intero. Mappato direttamente dal campo status_code . |
SubjectDomainName |
principal.administrative_domain |
Mappato direttamente dal campo SubjectDomainName . |
SubjectLogonId |
principal.resource.attribute.labels |
Aggiunto come coppia chiave-valore all'array principal.resource.attribute.labels con la chiave "SubjectLogonId". |
SubjectUserName |
principal.user.userid |
Mappato direttamente dal campo SubjectUserName . |
SubjectUserSid |
principal.user.windows_sid |
Mappato direttamente dal campo SubjectUserSid . |
targetHost |
target.hostname , target.asset.hostname |
Se possibile, convertito in un indirizzo IP. In caso contrario, viene analizzato per estrarre il nome host e mappato a target.hostname e target.asset.hostname . |
TargetHandleId |
target.resource.id |
Mappato direttamente dal campo TargetHandleId . |
TargetLogonId |
principal.resource.attribute.labels |
Aggiunto come coppia chiave-valore all'array principal.resource.attribute.labels con la chiave"TargetLogonId" se è diverso da SubjectLogonId . |
TargetProcessId |
target.process.pid |
Mappato direttamente dal campo TargetProcessId . |
TargetUserName |
target.user.userid |
Mappato direttamente dal campo TargetUserName . |
TargetUserSid |
target.user.windows_sid |
Mappato direttamente dal campo TargetUserSid . |
Task |
additional.fields |
Convertito in una stringa. Aggiunto come coppia chiave-valore all'array additional.fields con la chiave "Task". |
timestamp |
metadata.event_timestamp |
Il campo secondi viene utilizzato per creare un timestamp. |
ts |
metadata.event_timestamp |
Se ts è vuoto, viene creato combinando tsDate , tsTime e tsTZ . Se contiene " |
type |
security_result.summary , metadata.product_event_type |
Mappato direttamente dal campo type nei log JSON. In alcuni casi viene utilizzato anche come eventSummary e metadata.product_event_type . |
url |
target.url , principal.url |
Mappato direttamente dal campo url . |
url1 |
target.url |
Mappato direttamente dal campo url1 . |
user |
target.user.group_identifiers |
Unito all'array target.user.group_identifiers . |
user_id |
target.user.userid |
Mappato direttamente dal campo user_id . |
UserID |
principal.user.windows_sid |
Mappato direttamente dal campo UserID . |
UserName |
principal.user.userid |
Mappato direttamente dal campo UserName . |
user_agent |
network.http.user_agent |
Mappato direttamente dal campo user_agent . |
userId |
target.user.userid |
Mappato direttamente dal campo userId . |
vap |
additional.fields |
Aggiunto come coppia chiave-valore all'array additional.fields con la chiave "vap". |
VirtualAccount |
security_result.about.labels |
Aggiunto come coppia chiave-valore all'array security_result.about.labels con la chiave "VirtualAccount". |
wiredLastSeen |
security_result.detection_fields |
Convertito in una stringa. Aggiunto come coppia chiave-valore all'array security_result.detection_fields con la chiave "wiredLastSeen". |
wiredMacs |
intermediary.mac |
Convertito in minuscolo. Unito all'array intermediary.mac . |
WorkstationName |
principal.hostname , principal.asset.hostname |
Mappato direttamente dal campo WorkstationName . |
Modifiche
2024-03-19
- È stato aggiunto un pattern Grok per mappare l'indirizzo IP del dispositivo di invio a "intermediary.ip".
2024-02-06
- Log analizzati in cui "eventSummary" è "cli_set_rad_parms" o "cli_set_rad_pmksa_parms".
- "group" e "attr" sono stati mappati a "additional.fields".
2023-12-26
- Log analizzati contenenti "eventSummary" come "status changed" e "changed STP role".
2023-10-09
- Imposta "sec_res.action" su "BLOCK" quando "pattern" è in "1 all", "deny all" o "Group Policy Deny".
- Imposta "sec_res.action" su "ALLOW" quando "pattern" è in "0 all", "allow all" o "Group Policy Allow".
2023-07-19
- Correzione di bug -
- Log syslog non analizzati analizzati di tipo "firewall".
2023-07-14
- Miglioramento:
- Per il tipo "splash_auth", "event_type" è stato mappato a "USER_LOGIN".
- per il tipo "device_packet_flood", "packet_flood" ha mappato "event_type" a "GENERIC_EVENT".
- Per il tipo "vpn_connectivity_change", "wpa_deauth", "wpa_auth" è stato mappato "event_type" a "STATUS_UPDATE".
- "agent" è stato mappato a "network.http.parsed_user_agent".
- Se "protocol" == "47", mappa "network.ip_protocol" a "GRE".
- Se "protocol" == "103", mappa "network.ip_protocol" a "PIM".
2023-07-04
- Miglioramento:
- Sono stati utilizzati filtri chiave/valore anziché un pattern Grok per analizzare i log di tipo "urls", "firewall", "vpn_firewall".
2023-06-16
- Miglioramento:
- "src" è stato mappato a "principal.ip"
- "dst" è stato mappato a "target.ip"
- "protocol" è stato mappato a "network.ip_protocol"
- "sport" è stato mappato a "principal.port"
- "dport" è stato mappato a "target.port"
- "mac" è stato mappato a "principal.mac".
- "pattern" è stato mappato a "security_result.description".
2023-06-09
- Miglioramento:
- È stato mappato "metadata.event_type" a "USER_LOGOUT" quando "type" = "8021x_deauth".
- Sono stati mappati "radio","vap","reason","is_8021x","instigator","band" a "additional.fields" per "type" = "disassociation".
2023-05-26
- Miglioramento:
- Per il tipo "security_filtering_file_scanned", è stato modificato "metadata.event_type" da "STATUS_UPDATE" a "SCAN_FILE".
- È stato aggiunto il pattern Grok per analizzare i log syslog.
- "ip" mappato a "principal.ip"
- "mac" è stato mappato a "principal.mac".
2023-03-03
- Miglioramento:
- È stato aggiunto il pattern Grok per analizzare i log che contengono il campo "ip_flow_end".
- "natsrcIp" mappato a "principal.nat_ip".
- "natsrcport" mappato a "principal.nat_port".
2022-11-25
- Miglioramento:
- È stato aggiunto il supporto per i log JSON non analizzati, i log delle query network_dns e i log syslog+kv_data con errori.
- "metadata.eventType" è stato mappato 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 in base a "EventID" per i log JSON.
- "DisabledPrivilegeList" e "EnabledPrivilegeList" sono stati mappati a "target.user.attribute.permissions".
- "GroupMembership" è stato mappato a "target.user.group_identifiers".
- "AccessList" è stato mappato a "target.resource.attribute".
- "auth_mechanism" è stato mappato a "extensions.auth.mechanism".
- "question" è stato mappato a "network.dns.questions".
- Imposta "security_result.priority" in base al valore "priority".
- "RecordNumber" è stato mappato a "metadata.product_log_id".
2022-10-06
- Miglioramento:
- "dvc" è stato mappato a "intermediary.hostname".
- "eventType" è stato mappato a "metadata.product_event_type".
- "pattren" è stato mappato a "security_result.action_details".
- "principalMac" è stato mappato a "principal.mac".
- "principalIp" è stato mappato a "principal.ip".
- È stato aggiunto il controllo null per "dstIp" prima della mappatura a UDM.
2022-07-04
- Miglioramento:
- Quando "protocol" è uguale a "47", imposta "protocol" su "GRE".
- Quando "protocol" è uguale a "50", imposta "protocol" su "ESP".
- È stato aggiunto il blocco kv quando "eventType" è uguale a "events".
- "identity" è stato mappato a "target.user.userid".
- "last_known_client_ip" è stato mappato a "principal.ip".
- Quando "eventSummary" è uguale a "association".
- "client_ip" è stato mappato a "principal.ip".
- "client_mac" è stato mappato a "principal.mac".
- "rssi" è stato mappato a "intermediary.asset.product_object_id".
- "channel" è stato mappato a "security_result.detection_fields".
- "aid" è stato mappato a "network.session_id".
2022-06-15
- Miglioramento:
- Sono stati mappati "lastSeen", "firstSeen" e "wiredLastSeen" a "security_result.detection_fields".
- "wiredMacs" è stato mappato a "intermediary.mac".
- "type" è stato mappato a "security_result.summary".
- "description" è stato mappato a "security_result.description".
- "deviceSerial" è stato mappato a "_target_hardware.serial_number".
- "deviceName" è stato mappato a "target.hostname".
- "ssidName", "clientId" e "clientDescription" sono stati mappati a "additional.fields".
- "eventData.client_mac" è stato mappato a "principal.mac".
- "eventData.identity" è stato mappato a "principal.hostname".
- "eventData.aid" è stato mappato a "principal.asset_id".
- "organizationId" è stato mappato a "principal.resource.id".
- "eventData.group" è stato mappato a "principal.group.group_display_name".
- "eventData.client_ip" è stato mappato a "principal.ip".
- "occurredAt" è stato mappato a "metadata.event_timestamp".
2022-05-04
- Miglioramento: è stata aggiunta la mappatura per il nome host.
2022-04-13
- Miglioramento: è stata aggiunta l'analisi dei log di tipo JSON.