Coletar registros do Cisco Secure Email Gateway
Este documento descreve como coletar os registros do Cisco Secure Email Gateway usando um encaminhador de operações de segurança do Google.
Para mais informações, consulte Ingestão de dados no Google SecOps.
Um rótulo de transferência identifica o analisador que normaliza os dados de registro brutos para o formato estruturado do UDM. As informações neste documento se aplicam ao analisador com o
rótulo de transferência CISCO-EMAIL-SECURITY
.
Configurar o Cisco Secure Email Gateway
- No console do Cisco Secure Email Gateway, selecione Administração do sistema > Assinaturas de registro.
- Na janela Nova assinatura de registro, faça o seguinte para adicionar
a assinatura de registro:
- No campo Tipo de registro, selecione Registros de eventos consolidados.
- Na seção Campos de registro disponíveis, selecione todos os campos disponíveis e clique em Adicionar para movê-los para os Campos de registro selecionados.
- Para selecionar um método de recuperação de registro para a assinatura de registro, selecione
Push do Syslog e faça o seguinte:
- No campo Nome do host, especifique o endereço IP do encaminhador do Google SecOps.
- No campo Protocolo, marque a caixa de seleção TCP.
- No campo Facility, use o valor padrão.
- Para salvar as alterações de configuração, clique em Enviar.
Configurar o forwarder do Google SecOps para ingerir o Cisco Secure Email Gateway
- Acesse Configurações do SIEM > Encaminhadores.
- Clique em Adicionar novo encaminhador.
- No campo Nome do encaminhador, insira um nome exclusivo.
- Clique em Enviar. O encaminhador é adicionado, e a janela Add collector configuration é exibida.
- No campo Nome do coletor, digite um nome.
- Selecione Cisco Email Security como o Tipo de registro.
- No campo Tipo de coletor, selecione Syslog.
- Configure os seguintes parâmetros de entrada obrigatórios:
- Protocolo: especifique o protocolo de conexão que o coletor usa para detectar dados do syslog.
- Endereço: especifique o endereço IP ou o nome do host de destino em que o coletor reside e escuta os dados do syslog.
- Porta: especifica a porta de destino em que o coletor reside e detecta dados do syslog.
- Clique em Enviar.
Para mais informações sobre os encaminhadores do Google SecOps, consulte Gerenciar configurações de encaminhadores na interface do Google SecOps.
Se você tiver problemas ao criar encaminhadores, entre em contato com o suporte do Google SecOps.
Referência do mapeamento de campo
Esse analisador processa registros estruturados (JSON, pares de chave-valor) e não estruturados (syslog) da Cisco Email Security. Ele normaliza diversos formatos de registro no UDM usando padrões grok
, extração de chave-valor e lógica condicional com base no campo product_event
para mapear campos relevantes da Cisco ESA para o UDM. Ele também realiza o enriquecimento de dados, como a conversão de carimbos de data/hora e o processamento de mensagens repetidas.
Tabela de mapeamento do UDM
Campo de registro | Mapeamento de UDM | Lógica |
---|---|---|
acl_decision_tag |
read_only_udm.security_result.detection_fields.value |
Mapeado diretamente se não estiver vazio, "-" ou "Nenhum". A chave é "ACL Decision Tag". |
access_or_decryption_policy_group |
read_only_udm.security_result.detection_fields.value |
Mapeado diretamente se não estiver vazio, "-" ou "Nenhum". A chave é "AccessOrDecryptionPolicyGroup". |
act |
read_only_udm.security_result.action_details |
Mapeado diretamente. |
authenticated_user |
read_only_udm.principal.user.userid |
Mapeado diretamente se não estiver vazio, "-" ou "Nenhum". |
cache_hierarchy_retrieval |
read_only_udm.security_result.detection_fields.value |
Mapeado diretamente se não estiver vazio, "-" ou "Nenhum". A chave é "Recuperação da hierarquia de cache". |
cipher |
read_only_udm.network.tls.cipher |
Mapeado diretamente. |
country |
read_only_udm.principal.location.country_or_region |
Mapeado diretamente. |
data_security_policy_group |
read_only_udm.security_result.detection_fields.value |
Mapeado diretamente se não estiver vazio, "-" ou "Nenhum". A chave é "DataSecurityPolicyGroup". |
description |
read_only_udm.metadata.description |
Mapeado diretamente para mensagens syslog. Para mensagens CEF, ela se torna a descrição geral do produto. Vários padrões de grok extraem descrições específicas com base no product_event . Algumas descrições são modificadas pelo gsub para remover espaços iniciais/finais e dois-pontos. |
deviceDirection |
read_only_udm.network.direction |
Se for "0", será mapeado para "INBOUND". Se for "1", o mapeamento é para "SAÍDA". Usado para determinar qual cifra e protocolo TLS mapear diretamente e qual mapear como rótulos. |
deviceExternalId |
read_only_udm.principal.asset.asset_id |
Mapeado como "ID do dispositivo: |
domain |
read_only_udm.target.administrative_domain |
Mapeados diretamente dos registros JSON. |
domain_age |
read_only_udm.security_result.about.labels.value |
Mapeado diretamente. A chave é "YoungestDomainAge". |
duser |
read_only_udm.target.user.email_addresses , read_only_udm.network.email.to |
Se contiver ";", divida em vários endereços de e-mail e mapeie cada um para os dois campos do UDM. Caso contrário, mapeie diretamente para os dois campos do UDM se for um endereço de e-mail válido. Também é usado para preencher network_to se ele estiver vazio. |
dvc |
read_only_udm.target.ip |
Mapeado diretamente. |
entries.collection_time.nanos , entries.collection_time.seconds |
read_only_udm.metadata.event_timestamp.nanos , read_only_udm.metadata.event_timestamp.seconds |
Usado para construir o carimbo de data/hora do evento. |
env-from |
read_only_udm.additional.fields.value.string_value |
Mapeado diretamente. A chave é "Env-From". |
ESAAttachmentDetails |
read_only_udm.security_result.about.file.full_path , read_only_udm.security_result.about.file.sha256 |
Analisado para extrair nomes de arquivos e hashes SHA256. Vários arquivos e hashes podem ser extraídos. |
ESADCID |
read_only_udm.security_result.about.labels.value |
Mapeado diretamente. A chave é "ESADCID". |
ESAFriendlyFrom |
read_only_udm.principal.user.user_display_name , read_only_udm.network.email.from |
Analisado para extrair o nome de exibição e o endereço de e-mail. |
ESAHeloDomain |
read_only_udm.intermediary.administrative_domain |
Mapeado diretamente. |
ESAHeloIP |
read_only_udm.intermediary.ip |
Mapeado diretamente. |
ESAICID |
read_only_udm.security_result.about.labels.value |
Mapeado diretamente. A chave é "ESAICID". |
ESAMailFlowPolicy |
read_only_udm.security_result.rule_name |
Mapeado diretamente. |
ESAMID |
read_only_udm.security_result.about.labels.value |
Mapeado diretamente. A chave é "ESAMID". |
ESAReplyTo |
read_only_udm.network.email.reply_to |
Mapeado diretamente se for um endereço de e-mail válido. Também é usado para preencher network_to . |
ESASDRDomainAge |
read_only_udm.security_result.about.labels.value |
Mapeado diretamente. A chave é "ESASDRDomainAge". |
ESASenderGroup |
read_only_udm.principal.group.group_display_name |
Mapeado diretamente. |
ESAStatus |
read_only_udm.security_result.about.labels.value |
Mapeado diretamente. A chave é "ESAStatus". |
ESATLSInCipher |
read_only_udm.network.tls.cipher ou read_only_udm.security_result.about.labels.value |
É mapeado diretamente para a cifra se deviceDirection for "0". Caso contrário, mapeado como um rótulo com a chave "ESATLSInCipher". |
ESATLSInProtocol |
read_only_udm.network.tls.version ou read_only_udm.security_result.about.labels.value |
A versão do TLS é extraída e mapeada diretamente se deviceDirection for "0". Caso contrário, é mapeado como um rótulo com a chave "ESATLSInProtocol". |
ESATLSOutCipher |
read_only_udm.network.tls.cipher ou read_only_udm.security_result.about.labels.value |
Mapeado diretamente para a cifra se deviceDirection for "1". Caso contrário, é mapeado como um rótulo com a chave "ESATLSOutCipher". |
ESATLSOutProtocol |
read_only_udm.network.tls.version ou read_only_udm.security_result.about.labels.value |
A versão do TLS é extraída e mapeada diretamente se deviceDirection for "1". Caso contrário, será mapeado como um rótulo com a chave "ESATLSOutProtocol". |
ESAURLDetails |
read_only_udm.target.url |
Analisado para extrair URLs. Apenas o primeiro URL é mapeado porque o campo não é repetido. |
external_dlp_policy_group |
read_only_udm.security_result.detection_fields.value |
Mapeado diretamente se não estiver vazio, "-" ou "Nenhum". A chave é "ExternalDlpPolicyGroup". |
ExternalMsgID |
read_only_udm.security_result.about.labels.value |
Mapeamento direto após a remoção de aspas simples e colchetes. A chave é "ExternalMsgID". |
from |
read_only_udm.network.email.from |
Mapeado diretamente se for um endereço de e-mail válido. Também é usado para preencher network_from . |
host.hostname |
read_only_udm.principal.hostname ou read_only_udm.intermediary.hostname |
Mapeado para o nome de host principal se o campo host for inválido. Também mapeado para o nome de host intermediário. |
host.ip |
read_only_udm.principal.ip ou read_only_udm.intermediary.ip |
Mapeado para o IP principal se o campo ip não estiver definido nos registros JSON. Também mapeado para o IP intermediário. |
hostname |
read_only_udm.target.hostname |
Mapeado diretamente. |
http_method |
read_only_udm.network.http.method |
Mapeado diretamente. |
http_response_code |
read_only_udm.network.http.response_code |
Mapeado diretamente e convertido em número inteiro. |
identity_policy_group |
read_only_udm.security_result.detection_fields.value |
Mapeado diretamente se não estiver vazio, "-" ou "Nenhum". A chave é "IdentityPolicyGroup". |
ip |
read_only_udm.principal.ip |
Mapeado diretamente. Substituído por source_ip , se presente. |
kv_msg |
Vários | Analisado usando o filtro kv. O pré-processamento inclui a substituição de espaços antes das chaves por "#" e a troca de valores de csLabel. |
log_type |
read_only_udm.metadata.log_type |
Fixado em "CISCO_EMAIL_SECURITY". |
loglevel |
read_only_udm.security_result.severity , read_only_udm.security_result.action |
Usado para determinar a gravidade e a ação. "Info", "", "Debug", "Trace" são mapeados para "INFORMATIONAL" e "ALLOW". "Warning" é associado a "MEDIUM" e "ALLOW". "Alto" é mapeado para "HIGH" e "BLOCK". "Critical" e "Alert" são mapeados para "CRITICAL", "BLOCK" e is_alert é definido como verdadeiro. |
mail_id |
read_only_udm.network.email.mail_id |
Mapeado diretamente dos registros JSON. |
mailto |
read_only_udm.target.user.email_addresses , read_only_udm.network.email.to |
Mapeado diretamente para os dois campos do UDM se for um endereço de e-mail válido. |
MailPolicy |
read_only_udm.security_result.about.labels.value |
Mapeado diretamente. A chave é "MailPolicy". |
message |
Vários | Analisado como JSON, se possível. Caso contrário, é processado como uma mensagem syslog. |
message_id |
read_only_udm.network.email.mail_id |
Mapeado diretamente. Também é usado para preencher network_data . |
msg |
read_only_udm.network.email.subject |
Mapeado diretamente após a decodificação UTF-8 e a remoção de retornos de carro, quebras de linha e aspas extras. Também é usado para preencher network_data . |
msg1 |
Vários | Analisado usando o filtro kv. Usado para extrair Hostname , helo , env-from e reply-to . |
outbound_malware_scanning_policy_group |
read_only_udm.security_result.detection_fields.value |
Mapeado diretamente se não estiver vazio, "-" ou "Nenhum". A chave é "DataSecurityPolicyGroup". |
port |
read_only_udm.target.port |
Mapeado diretamente e convertido em número inteiro. |
principalMail |
read_only_udm.principal.user.email_addresses |
Mapeado diretamente. |
principalUrl |
read_only_udm.principal.url |
Mapeado diretamente. |
product_event |
read_only_udm.metadata.product_event_type |
Mapeado diretamente. Usado para determinar quais padrões de grok aplicar. Os caracteres "%" iniciais são removidos. "amp" é substituído por "SIEM_AMPenginelogs". |
product_version |
read_only_udm.metadata.product_version |
Mapeado diretamente. |
protocol |
read_only_udm.network.tls.version |
Mapeado diretamente. |
received_bytes |
read_only_udm.network.received_bytes |
Mapeado diretamente e convertido em número inteiro não assinado. |
reply-to |
read_only_udm.additional.fields.value.string_value |
Mapeado diretamente. A chave é "Reply-To". |
reputation |
read_only_udm.security_result.confidence_details |
Mapeado diretamente. |
request_method_uri |
read_only_udm.target.url |
Mapeado diretamente. |
result_code |
read_only_udm.security_result.detection_fields.value |
Mapeado diretamente. A chave é "Código do resultado". |
routing_policy_group |
read_only_udm.security_result.detection_fields.value |
Mapeado diretamente se não estiver vazio, "-" ou "Nenhum". A chave é "RoutingPolicyGroup". |
rule |
read_only_udm.security_result.detection_fields.value |
Mapeado diretamente. A chave é "Condição correspondente". |
SDRThreatCategory |
read_only_udm.security_result.threat_name |
Mapeado diretamente se não estiver vazio ou "N/A". |
SenderCountry |
read_only_udm.principal.location.country_or_region |
Mapeado diretamente. |
senderGroup |
read_only_udm.principal.group.group_display_name |
Mapeado diretamente. |
security_description |
read_only_udm.security_result.description |
Mapeado diretamente. |
security_email |
read_only_udm.security_result.about.email ou read_only_udm.principal.hostname |
Mapeado para e-mail se for um endereço de e-mail válido. Caso contrário, é mapeado para o nome do host após a extração com grok. |
source |
read_only_udm.network.ip_protocol |
Se contiver "tcp", será mapeado para "TCP". |
sourceAddress |
read_only_udm.principal.ip |
Mapeado diretamente. |
sourceHostName |
read_only_udm.principal.administrative_domain |
Mapeado diretamente se não for "desconhecido". |
source_ip |
read_only_udm.principal.ip |
Mapeado diretamente. Substitui ip , se presente. |
Subject |
read_only_udm.network.email.subject |
Mapeado diretamente após a remoção de pontos finais. Também é usado para preencher network_data . |
suser |
read_only_udm.principal.user.email_addresses , read_only_udm.network.email.bounce_address |
Mapeado diretamente para os dois campos do UDM se for um endereço de e-mail válido. |
target_ip |
read_only_udm.target.ip |
Mapeado diretamente. |
to |
read_only_udm.network.email.to |
Mapeado diretamente se for um endereço de e-mail válido. Também é usado para preencher network_to . |
total_bytes |
read_only_udm.network.sent_bytes |
Mapeado diretamente e convertido em número inteiro não assinado. |
trackerHeader |
read_only_udm.additional.fields.value.string_value |
Mapeado diretamente. A chave é "Tracker Header". |
ts , ts1 , year |
read_only_udm.metadata.event_timestamp.seconds |
Usado para construir o carimbo de data/hora do evento. ts1 e year são combinados se ts1 estiver presente. Vários formatos são aceitos, com e sem o ano. Se o ano não estiver presente, o ano atual será usado. Fixado em "Cisco". Fixado em "Cisco Email Security". O padrão é "PERMITIR". Defina como "BLOCK" com base em loglevel ou description . O padrão é "INBOUND" se application_protocol estiver presente. Definido com base em deviceDirection para mensagens CEF. Determinado com base em uma combinação de campos, incluindo network_from , network_to , target_ip , ip , description , event_type , principal_host , Hostname , user_id e sourceAddress . O padrão é "GENERIC_EVENT". Defina como "SMTP" se application_protocol for "SMTP" ou "smtp" ou se target_ip e ip estiverem presentes. Defina como "AUTHTYPE_UNSPECIFIED" se login_status e user_id estiverem presentes nos registros do sshd. Defina como verdadeiro se loglevel for "Crítico" ou "Alerta". |
Alterações
2023-10-05
- Correção de bugs:
- O nome "product_event" foi renomeado de "amp" para "SIEM_AMPenginelogs".
2023-09-15
- Adição de suporte a "SIEM_proxylogs","SIEM_webrootlogs" e "SIEM_AMPenginelogs" de registros JSON.
2023-09-04
- Melhoria
- Adicionamos um padrão Grok para analisar logs não analisados e mapeamos os campos de acordo com isso.
- Adição de suporte a um novo padrão de registros JSON.
2022-12-16
- Melhoria
- Verificações condicionais modificadas para os campos mapeados para "network.email.to", "network.email.from", "principal.user.email_addresses", "target.user.email_addresses" e "network.email.reply_to".
- Adição de suporte a registros JSON :
- O campo "host" foi associado a "principal.hostname".
- O campo "domain" foi mapeado para "target.administrative_domain".
- O campo "mail_id" foi mapeado para "network.email.mail_id".
- Mapeou o campo "mailto" para "network.email.to" e "target.user.email_addresses".
- O campo "source" foi mapeado para "network.ip_protocol".
- O campo "reputation" foi mapeado para "security_result.confidence_details".
- O campo "log_type" foi mapeado para "security_result.severity" e "security_result.severity_details".
- O campo "cribl_pipe" foi mapeado para "additional.fields".
2022-09-22
- Melhoria
- Um padrão grok foi adicionado para registros não analisados, com o campo "product_event" vazio.
2022-08-02
- Melhoria
- Foram adicionadas condições para os novos event_type "STATUS_UPDATE", "USER_UNCATEGORIZED" e "SCAN_PROCESS".
- "attack" foi associado a "security_result.category_details"
- O analisador foi aprimorado para analisar o campo "ESAAttachmentDetails" de diferentes tipos de registros.
2022-06-09
- Melhoria: mapeamento de "from_user" para "principal.user.user_display_name".
- "metadata.product_event_type" foi atualizado de "Evento de registro consolidado" para "ESA_CONSOLIDATED_LOG_EVENT".
2022-06-07
- Melhoria: o usuário foi mapeado para network.email.bounce_address.
2022-05-17
- Melhoria: o usuário duser foi mapeado para network.email.to.
- Adição de on_error para os campos "product_version" e "product_description" para evitar o mapeamento de valores nulos para o UDM.
- Foi adicionada outra lógica para analisar registros que começam com o formato "DAY TIMESTAMP YEAR", por exemplo: Qua 18 de fev. 00:34:12 2021.
2022-05-05
- Enhancement-Used grok para network.email.from
2022-03-31
- Mapeamentos adicionados para novos campos.
- ESAReplyTo mapeado para network.email.reply_to.
- duser mapeado para network.email.to.