Raccogliere i log di Cisco Secure Email Gateway
Questo documento descrive come raccogliere i log di Cisco Secure Email Gateway utilizzando un forwarder di Google Security Operations.
Per ulteriori informazioni, vedi Importazione dei dati in Google SecOps.
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 all'analizzatore con l'etichetta di importazione CISCO-EMAIL-SECURITY
.
Configura Cisco Secure Email Gateway
- Nella console di Cisco Secure Email Gateway, seleziona Amministrazione di sistema > Abbonamenti ai log.
- Nella finestra Nuovo abbonamento ai log, procedi nel seguente modo per aggiungere l'abbonamento ai log:
- Nel campo Tipo di log, seleziona Log eventi consolidati.
- Nella sezione Campi log disponibili, seleziona tutti i campi disponibili, poi fai clic su Aggiungi per spostarli in Campi log selezionati.
- Per selezionare un metodo di recupero dei log per l'abbonamento ai log, seleziona
Push Syslog e svolgi i seguenti passaggi:
- Nel campo Hostname (Nome host), specifica l'indirizzo IP del forwarder Google SecOps.
- Nel campo Protocollo, seleziona la casella di controllo TCP.
- Nel campo Struttura, utilizza il valore predefinito.
- Per salvare le modifiche alla configurazione, fai clic su Invia.
Configura l'inoltrare di Google SecOps per importare Cisco Secure Email Gateway
- 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 Email Security come Tipo di log.
- Nel campo Tipo di raccoglitore, seleziona Syslog.
- Configura i seguenti parametri di input obbligatori:
- Protocollo: specifica il protocollo di connessione utilizzato dal collector per ascoltare i dati syslog.
- 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 SecOps, consulta Gestire le configurazioni dei forwarder tramite l'interfaccia utente di Google SecOps.
Se riscontri problemi durante la creazione dei forwarder, contatta l'assistenza Google SecOps.
Riferimento alla mappatura dei campi
Questo parser gestisce i log di Cisco Email Security sia strutturati (JSON, coppie chiave-valore) che non strutturati (syslog). Normalizza diversi formati di log in UDM sfruttando i pattern grok
, l'estrazione chiave-valore e la logica condizionale in base al campo product_event
per mappare i campi Cisco ESA pertinenti a UDM. Esegue anche l'arricchimento dei dati, ad esempio la conversione dei timestamp e la gestione dei messaggi ripetuti.
Tabella di mappatura UDM
Campo log | Mappatura UDM | Logic |
---|---|---|
acl_decision_tag |
read_only_udm.security_result.detection_fields.value |
Mappato direttamente se non vuoto, "-" o "NESSUNO". La chiave è "ACL Decision Tag". |
access_or_decryption_policy_group |
read_only_udm.security_result.detection_fields.value |
Mappato direttamente se non vuoto, "-" o "NESSUNO". La chiave è "AccessOrDecryptionPolicyGroup". |
act |
read_only_udm.security_result.action_details |
Mappatura diretta. |
authenticated_user |
read_only_udm.principal.user.userid |
Mappato direttamente se non vuoto, "-" o "NESSUNO". |
cache_hierarchy_retrieval |
read_only_udm.security_result.detection_fields.value |
Mappato direttamente se non vuoto, "-" o "NESSUNO". La chiave è "Recupero gerarchia cache". |
cipher |
read_only_udm.network.tls.cipher |
Mappatura diretta. |
country |
read_only_udm.principal.location.country_or_region |
Mappatura diretta. |
data_security_policy_group |
read_only_udm.security_result.detection_fields.value |
Mappato direttamente se non vuoto, "-" o "NESSUNO". La chiave è "DataSecurityPolicyGroup". |
description |
read_only_udm.metadata.description |
Mappato direttamente per i messaggi syslog. Per i messaggi CEF, diventa la descrizione generale del prodotto. Vari pattern grok estraggono descrizioni specifiche in base al product_event . Alcune descrizioni vengono modificate da gsub per rimuovere spazi iniziali/finali e due punti. |
deviceDirection |
read_only_udm.network.direction |
Se "0", corrisponde a "INBOUND". Se "1", corrisponde a "OUTBOUND". Utilizzato per determinare quali algoritmi di crittografia e protocolli TLS mappare direttamente e quali mappare come etichette. |
deviceExternalId |
read_only_udm.principal.asset.asset_id |
Mappato come "ID dispositivo: |
domain |
read_only_udm.target.administrative_domain |
Mappato direttamente dai log JSON. |
domain_age |
read_only_udm.security_result.about.labels.value |
Mappatura diretta. La chiave è "YoungestDomainAge". |
duser |
read_only_udm.target.user.email_addresses , read_only_udm.network.email.to |
Se contiene ";", suddividilo in più indirizzi email e mappa ciascuno a entrambi i campi UDM. In caso contrario, mappa direttamente a entrambi i campi UDM se si tratta di un indirizzo email valido. Viene utilizzato anche per compilare network_to se è vuoto. |
dvc |
read_only_udm.target.ip |
Mappatura diretta. |
entries.collection_time.nanos , entries.collection_time.seconds |
read_only_udm.metadata.event_timestamp.nanos , read_only_udm.metadata.event_timestamp.seconds |
Utilizzato per creare il timestamp dell'evento. |
env-from |
read_only_udm.additional.fields.value.string_value |
Mappatura diretta. La chiave è "Env-From". |
ESAAttachmentDetails |
read_only_udm.security_result.about.file.full_path , read_only_udm.security_result.about.file.sha256 |
Analizzati per estrarre i nomi dei file e gli hash SHA256. È possibile estrarre più file e hash. |
ESADCID |
read_only_udm.security_result.about.labels.value |
Mappatura diretta. La chiave è "ESADCID". |
ESAFriendlyFrom |
read_only_udm.principal.user.user_display_name , read_only_udm.network.email.from |
Analizzati per estrarre il nome visualizzato e l'indirizzo email. |
ESAHeloDomain |
read_only_udm.intermediary.administrative_domain |
Mappatura diretta. |
ESAHeloIP |
read_only_udm.intermediary.ip |
Mappatura diretta. |
ESAICID |
read_only_udm.security_result.about.labels.value |
Mappatura diretta. La chiave è "ESAICID". |
ESAMailFlowPolicy |
read_only_udm.security_result.rule_name |
Mappatura diretta. |
ESAMID |
read_only_udm.security_result.about.labels.value |
Mappatura diretta. La chiave è "ESAMID". |
ESAReplyTo |
read_only_udm.network.email.reply_to |
Se è un indirizzo email valido, viene mappato direttamente. Utilizzato anche per compilare network_to . |
ESASDRDomainAge |
read_only_udm.security_result.about.labels.value |
Mappatura diretta. La chiave è "ESASDRDomainAge". |
ESASenderGroup |
read_only_udm.principal.group.group_display_name |
Mappatura diretta. |
ESAStatus |
read_only_udm.security_result.about.labels.value |
Mappatura diretta. La chiave è "ESAStatus". |
ESATLSInCipher |
read_only_udm.network.tls.cipher o read_only_udm.security_result.about.labels.value |
Mappato direttamente al cifrario se deviceDirection è "0". In caso contrario, viene mappato come etichetta con chiave "ESATLSInCipher". |
ESATLSInProtocol |
read_only_udm.network.tls.version o read_only_udm.security_result.about.labels.value |
Versione TLS estratta e mappata direttamente se deviceDirection è "0". In caso contrario, viene mappato come etichetta con chiave "ESATLSInProtocol". |
ESATLSOutCipher |
read_only_udm.network.tls.cipher o read_only_udm.security_result.about.labels.value |
Mappato direttamente alla crittografia se deviceDirection è "1". In caso contrario, viene mappato come etichetta con chiave "ESATLSOutCipher". |
ESATLSOutProtocol |
read_only_udm.network.tls.version o read_only_udm.security_result.about.labels.value |
Versione TLS estratta e mappata direttamente se deviceDirection è "1". In caso contrario, viene mappato come etichetta con chiave "ESATLSOutProtocol". |
ESAURLDetails |
read_only_udm.target.url |
Analizzati per estrarre gli URL. Viene mappato solo il primo URL perché il campo non viene ripetuto. |
external_dlp_policy_group |
read_only_udm.security_result.detection_fields.value |
Mappato direttamente se non vuoto, "-" o "NESSUNO". La chiave è "ExternalDlpPolicyGroup". |
ExternalMsgID |
read_only_udm.security_result.about.labels.value |
Mappato direttamente dopo la rimozione delle virgolette singole e delle parentesi angolari. La chiave è "ExternalMsgID". |
from |
read_only_udm.network.email.from |
Se è un indirizzo email valido, viene mappato direttamente. Utilizzato anche per compilare network_from . |
host.hostname |
read_only_udm.principal.hostname o read_only_udm.intermediary.hostname |
Mappato al nome host principale se il campo host non è valido. Inoltre, è mappato al nome host intermedio. |
host.ip |
read_only_udm.principal.ip o read_only_udm.intermediary.ip |
Mappato all'IP principale se il campo ip non è impostato nei log JSON. Inoltre, è mappato all'IP intermedio. |
hostname |
read_only_udm.target.hostname |
Mappatura diretta. |
http_method |
read_only_udm.network.http.method |
Mappatura diretta. |
http_response_code |
read_only_udm.network.http.response_code |
Mappato direttamente e convertito in numero intero. |
identity_policy_group |
read_only_udm.security_result.detection_fields.value |
Mappato direttamente se non vuoto, "-" o "NESSUNO". La chiave è "IdentityPolicyGroup". |
ip |
read_only_udm.principal.ip |
Mappatura diretta. Sostituito da source_ip , se presente. |
kv_msg |
Vari | Analizzata utilizzando il filtro kv. La preelaborazione include la sostituzione degli spazi prima delle chiavi con "#" e lo scambio dei valori csLabel. |
log_type |
read_only_udm.metadata.log_type |
Hardcoded su "CISCO_EMAIL_SECURITY". |
loglevel |
read_only_udm.security_result.severity , read_only_udm.security_result.action |
Utilizzato per determinare la gravità e l'azione. "Info", "", "Debug", "Trace" corrispondono a "INFORMATIONAL" e "ALLOW". "Avviso" corrisponde a "MEDIO" e "CONSENTI". "Alto" corrisponde a "HIGH" e "BLOCK". "Critica" e "Allarme" vengono mappati a "CRITICAL", "BLOCK" e impostano is_alert su true. |
mail_id |
read_only_udm.network.email.mail_id |
Mappato direttamente dai log JSON. |
mailto |
read_only_udm.target.user.email_addresses , read_only_udm.network.email.to |
Se è un indirizzo email valido, viene mappato direttamente a entrambi i campi UDM. |
MailPolicy |
read_only_udm.security_result.about.labels.value |
Mappatura diretta. La chiave è "MailPolicy". |
message |
Vari | Analizza come JSON, se possibile. In caso contrario, viene elaborato come messaggio syslog. |
message_id |
read_only_udm.network.email.mail_id |
Mappatura diretta. Utilizzato anche per compilare network_data . |
msg |
read_only_udm.network.email.subject |
Mappato direttamente dopo la decodifica UTF-8 e la rimozione di ritorni a capo, righe nuove e virgolette aggiuntive. Utilizzato anche per compilare network_data . |
msg1 |
Vari | Analizzata utilizzando il filtro kv. Utilizzato per estrarre Hostname , helo , env-from e reply-to . |
outbound_malware_scanning_policy_group |
read_only_udm.security_result.detection_fields.value |
Mappato direttamente se non vuoto, "-" o "NESSUNO". La chiave è "DataSecurityPolicyGroup". |
port |
read_only_udm.target.port |
Mappato direttamente e convertito in numero intero. |
principalMail |
read_only_udm.principal.user.email_addresses |
Mappatura diretta. |
principalUrl |
read_only_udm.principal.url |
Mappatura diretta. |
product_event |
read_only_udm.metadata.product_event_type |
Mappatura diretta. Utilizzato per determinare quali pattern Grok applicare. I caratteri "%" iniziali vengono rimossi. "amp" viene sostituito con "SIEM_AMPenginelogs". |
product_version |
read_only_udm.metadata.product_version |
Mappatura diretta. |
protocol |
read_only_udm.network.tls.version |
Mappatura diretta. |
received_bytes |
read_only_udm.network.received_bytes |
Mappato direttamente e convertito in numero intero non firmato. |
reply-to |
read_only_udm.additional.fields.value.string_value |
Mappatura diretta. La chiave è "Reply-To". |
reputation |
read_only_udm.security_result.confidence_details |
Mappatura diretta. |
request_method_uri |
read_only_udm.target.url |
Mappatura diretta. |
result_code |
read_only_udm.security_result.detection_fields.value |
Mappatura diretta. La chiave è "Codice risultato". |
routing_policy_group |
read_only_udm.security_result.detection_fields.value |
Mappato direttamente se non vuoto, "-" o "NESSUNO". La chiave è "RoutingPolicyGroup". |
rule |
read_only_udm.security_result.detection_fields.value |
Mappatura diretta. La chiave è "Condizione soddisfatta". |
SDRThreatCategory |
read_only_udm.security_result.threat_name |
Mappato direttamente se non vuoto o "N/A". |
SenderCountry |
read_only_udm.principal.location.country_or_region |
Mappatura diretta. |
senderGroup |
read_only_udm.principal.group.group_display_name |
Mappatura diretta. |
security_description |
read_only_udm.security_result.description |
Mappatura diretta. |
security_email |
read_only_udm.security_result.about.email o read_only_udm.principal.hostname |
Mappato all'email se si tratta di un indirizzo email valido. In caso contrario, viene mappato al nome host dopo l'estrazione con grok. |
source |
read_only_udm.network.ip_protocol |
Se contiene "tcp", viene mappato a "TCP". |
sourceAddress |
read_only_udm.principal.ip |
Mappatura diretta. |
sourceHostName |
read_only_udm.principal.administrative_domain |
Mappato direttamente se non "sconosciuto". |
source_ip |
read_only_udm.principal.ip |
Mappatura diretta. Sostituisce ip , se presente. |
Subject |
read_only_udm.network.email.subject |
Mappato direttamente dopo la rimozione dei punti finali. Utilizzato anche per compilare network_data . |
suser |
read_only_udm.principal.user.email_addresses , read_only_udm.network.email.bounce_address |
Se è un indirizzo email valido, viene mappato direttamente a entrambi i campi UDM. |
target_ip |
read_only_udm.target.ip |
Mappatura diretta. |
to |
read_only_udm.network.email.to |
Se è un indirizzo email valido, viene mappato direttamente. Utilizzato anche per compilare network_to . |
total_bytes |
read_only_udm.network.sent_bytes |
Mappato direttamente e convertito in numero intero non firmato. |
trackerHeader |
read_only_udm.additional.fields.value.string_value |
Mappatura diretta. La chiave è "Tracker Header". |
ts , ts1 , year |
read_only_udm.metadata.event_timestamp.seconds |
Utilizzato per creare il timestamp dell'evento. ts1 e year vengono combinati se è presente ts1 . Sono supportati vari formati, con e senza l'anno. Se l'anno non è presente, viene utilizzato l'anno corrente. Hardcoded su "Cisco". Hardcoded su "Cisco Email Security". Il valore predefinito è "ALLOW". Imposta su "BLOCK" in base a loglevel o description . Il valore predefinito è "INBOUND" se è presente application_protocol . Impostato in base a deviceDirection per i messaggi CEF. Determinato in base a una combinazione di campi, tra cui network_from , network_to , target_ip , ip , description , event_type , principal_host , Hostname , user_id e sourceAddress . Il valore predefinito è "GENERIC_EVENT". Imposta su "SMTP" se application_protocol è "SMTP" o "smtp" oppure se sono presenti target_ip e ip . Imposta su "AUTHTYPE_UNSPECIFIED" se login_status e user_id sono presenti nei log di sshd. Impostato su true se loglevel è "Critico" o "Allarme". |
Modifiche
2023-10-05
- Correzione di bug:
- Il campo "product_event" è stato rinominato da "amp" in "SIEM_AMPenginelogs".
2023-09-15
- È stato aggiunto il supporto per "SIEM_proxylogs","SIEM_webrootlogs","SIEM_AMPenginelogs" dei log JSON.
2023-09-04
- Miglioramento
- È stato aggiunto un pattern Grok per analizzare i log non analizzati e sono stati mappati i campi di conseguenza.
- È stato aggiunto il supporto per il nuovo pattern dei log JSON.
2022-12-16
- Miglioramento
- Controlli condizionali modificati per i campi mappati a "network.email.to", "network.email.from", "principal.user.email_addresses", "target.user.email_addresses" e "network.email.reply_to".
- È stato aggiunto il supporto per i log JSON :
- Il campo "host" è stato mappato a "principal.hostname".
- È stato mappato il campo "domain" a "target.administrative_domain".
- È stato mappato il campo "mail_id" a "network.email.mail_id".
- È stato mappato il campo "mailto" a "network.email.to" e "target.user.email_addresses".
- È stato mappato il campo "source" a "network.ip_protocol".
- È stato mappato il campo "reputation" a "security_result.confidence_details".
- È stato mappato il campo "log_type" a "security_result.severity" e "security_result.severity_details".
- È stato mappato il campo "cribl_pipe" a "additional.fields".
2022-09-22
- Miglioramento
- È stato aggiunto un pattern Grok per i log non analizzati, con il campo "product_event" vuoto.
2022-08-02
- Miglioramento
- Sono state aggiunte condizioni per i nuovi valori di event_type "STATUS_UPDATE", "USER_UNCATEGORIZED", "SCAN_PROCESS"
- "attacco" è stato mappato a "security_result.category_details"
- È stato migliorato il parser per analizzare il campo "ESAAttachmentDetails" di diversi tipi di log.
2022-06-09
- Miglioramento: è stata mappata la proprietà "from_user" a "principal.user.user_display_name".
- "metadata.product_event_type" è stato aggiornato da "Consolidated Log Event" a "ESA_CONSOLIDATED_LOG_EVENT".
2022-06-07
- Miglioramento: utente amministratore mappato a network.email.bounce_address.
2022-05-17
- Miglioramento: è stato mappato duser a network.email.to.
- È stato aggiunto on_error per i campi product_version e product_description per evitare la mappatura del valore null all'UDM.
- È stata aggiunta una logica aggiuntiva per analizzare i log che iniziano con il formato "DAY TIMESTAMP YEAR", ad esempio: Wed Feb 18 00:34:12 2021.
2022-05-05
- Miglioramento: utilizzato per la regex network.email.from
2022-03-31
- Miglioramento: sono state aggiunte mappature per i nuovi campi.
- ESAReplyTo mappato a network.email.reply_to.
- duser mappato a network.email.to.