Recopila registros de la puerta de enlace de correo electrónico seguro de Cisco
En este documento, se describe cómo puedes recopilar los registros de Cisco Secure Email Gateway con un reenviador de Google Security Operations.
Para obtener más información, consulta Transferencia de datos a Google SecOps.
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-EMAIL-SECURITY
.
Configura la puerta de enlace de correo electrónico seguro de Cisco
- En la consola de Cisco Secure Email Gateway, selecciona Administración del sistema > Registrar suscripciones.
- En la ventana New log subscription, haz lo siguiente para agregar una suscripción de registro:
- En el campo Tipo de registro, selecciona Registros de eventos consolidados.
- En la sección Available log fields, selecciona todos los campos disponibles y, luego, haz clic en Add para moverlos a Selected log fields.
- Para seleccionar un método de recuperación de registros para la suscripción a registros, elige Syslog push y haz lo siguiente:
- En el campo Nombre de host, especifica la dirección IP del reenviador de SecOps de Google.
- En el campo Protocolo, selecciona la casilla de verificación TCP.
- En el campo Facility, usa el valor predeterminado.
- Para guardar los cambios de configuración, haz clic en Enviar.
Configura el reenviador de Google SecOps para transferir la puerta de enlace de correo electrónico segura de Cisco
- Ve a Configuración de SIEM > Redireccionamientos.
- Haz clic en Agregar nuevo reenviador.
- 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 Email Security como el Tipo de registro.
- En el campo Tipo de recopilador, selecciona Syslog.
- Configura los siguientes parámetros de entrada obligatorios:
- Protocolo: Especifica el protocolo de conexión que usa el recopilador para escuchar los datos de syslog.
- 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íos de Google SecOps, consulta Cómo administrar las configuraciones de reenvío a través de la IU de Google SecOps.
Si tienes problemas para crear reenvío, comunícate con el equipo de asistencia de SecOps de Google.
Referencia de la asignación de campos
Este analizador controla los registros estructurados (JSON, pares clave-valor) y sin estructura (syslog) de Cisco Email Security. Normaliza diversos formatos de registro en la UDM aprovechando los patrones grok
, la extracción de par clave-valor y la lógica condicional basada en el campo product_event
para asignar los campos relevantes de ESA de Cisco a la UDM. También realiza el enriquecimiento de datos, como la conversión de marcas de tiempo y el manejo de mensajes repetidos.
Tabla de asignación de UDM
Campo de registro | Asignación de UDM | Lógica |
---|---|---|
acl_decision_tag |
read_only_udm.security_result.detection_fields.value |
Se asignan directamente si no están vacíos, "-" o "NONE". La clave es "Etiqueta de decisión de ACL". |
access_or_decryption_policy_group |
read_only_udm.security_result.detection_fields.value |
Se asignan directamente si no están vacíos, "-" o "NONE". La clave es "AccessOrDecryptionPolicyGroup". |
act |
read_only_udm.security_result.action_details |
Se asignan directamente. |
authenticated_user |
read_only_udm.principal.user.userid |
Se asignan directamente si no están vacíos, "-" o "NONE". |
cache_hierarchy_retrieval |
read_only_udm.security_result.detection_fields.value |
Se asignan directamente si no están vacíos, "-" o "NONE". La clave es "Recuperación de jerarquía de caché". |
cipher |
read_only_udm.network.tls.cipher |
Se asignan directamente. |
country |
read_only_udm.principal.location.country_or_region |
Se asignan directamente. |
data_security_policy_group |
read_only_udm.security_result.detection_fields.value |
Se asignan directamente si no están vacíos, "-" o "NONE". La clave es "DataSecurityPolicyGroup". |
description |
read_only_udm.metadata.description |
Se asignan directamente para los mensajes de syslog. En el caso de los mensajes CEF, se convierte en la descripción general del producto. Varios patrones de grok extraen descripciones específicas según el product_event . Algunas descripciones se modifican con gsub para quitar los espacios iniciales y finales, y los dos puntos. |
deviceDirection |
read_only_udm.network.direction |
Si es "0", se asigna a "INBOUND". Si es "1", se asigna a "OUTBOUND". Se usa para determinar qué algoritmo de cifrado y protocolo de TLS asignar directamente y cuáles asignar como etiquetas. |
deviceExternalId |
read_only_udm.principal.asset.asset_id |
Se asigna como "ID de dispositivo: |
domain |
read_only_udm.target.administrative_domain |
Se asignan directamente desde los registros JSON. |
domain_age |
read_only_udm.security_result.about.labels.value |
Se asignan directamente. La clave es "YoungestDomainAge". |
duser |
read_only_udm.target.user.email_addresses , read_only_udm.network.email.to |
Si contiene ";", divídelo en varias direcciones de correo electrónico y asócialas a ambos campos de la AUA. De lo contrario, asigna directamente ambos campos de la UDM si es una dirección de correo electrónico válida. También se usa para propagar network_to si está vacío. |
dvc |
read_only_udm.target.ip |
Se asignan directamente. |
entries.collection_time.nanos , entries.collection_time.seconds |
read_only_udm.metadata.event_timestamp.nanos , read_only_udm.metadata.event_timestamp.seconds |
Se usa para crear la marca de tiempo del evento. |
env-from |
read_only_udm.additional.fields.value.string_value |
Se asignan directamente. La clave es "Env-From". |
ESAAttachmentDetails |
read_only_udm.security_result.about.file.full_path , read_only_udm.security_result.about.file.sha256 |
Se analiza para extraer nombres de archivos y valores hash SHA256. Se pueden extraer varios archivos y hashes. |
ESADCID |
read_only_udm.security_result.about.labels.value |
Se asignan directamente. La clave es "ESADCID". |
ESAFriendlyFrom |
read_only_udm.principal.user.user_display_name , read_only_udm.network.email.from |
Se analiza para extraer el nombre visible y la dirección de correo electrónico. |
ESAHeloDomain |
read_only_udm.intermediary.administrative_domain |
Se asignan directamente. |
ESAHeloIP |
read_only_udm.intermediary.ip |
Se asignan directamente. |
ESAICID |
read_only_udm.security_result.about.labels.value |
Se asignan directamente. La clave es "ESAICID". |
ESAMailFlowPolicy |
read_only_udm.security_result.rule_name |
Se asignan directamente. |
ESAMID |
read_only_udm.security_result.about.labels.value |
Se asignan directamente. La clave es "ESAMID". |
ESAReplyTo |
read_only_udm.network.email.reply_to |
Se asigna directamente si es una dirección de correo electrónico válida. También se usa para propagar network_to . |
ESASDRDomainAge |
read_only_udm.security_result.about.labels.value |
Se asignan directamente. La clave es "ESASDRDomainAge". |
ESASenderGroup |
read_only_udm.principal.group.group_display_name |
Se asignan directamente. |
ESAStatus |
read_only_udm.security_result.about.labels.value |
Se asignan directamente. La clave es "ESAStatus". |
ESATLSInCipher |
read_only_udm.network.tls.cipher o read_only_udm.security_result.about.labels.value |
Se asigna directamente al algoritmo de cifrado si deviceDirection es "0". De lo contrario, se asigna como una etiqueta con la clave "ESATLSInCipher". |
ESATLSInProtocol |
read_only_udm.network.tls.version o read_only_udm.security_result.about.labels.value |
La versión de TLS se extrae y se asigna directamente si deviceDirection es "0". De lo contrario, se asigna como una etiqueta con la clave "ESATLSInProtocol". |
ESATLSOutCipher |
read_only_udm.network.tls.cipher o read_only_udm.security_result.about.labels.value |
Se asigna directamente al algoritmo de cifrado si deviceDirection es “1”. De lo contrario, se asigna como una etiqueta con la clave "ESATLSOutCipher". |
ESATLSOutProtocol |
read_only_udm.network.tls.version o read_only_udm.security_result.about.labels.value |
La versión de TLS se extrae y se asigna directamente si deviceDirection es "1". De lo contrario, se asigna como una etiqueta con la clave "ESATLSOutProtocol". |
ESAURLDetails |
read_only_udm.target.url |
Se analiza para extraer URLs. Solo se asigna la primera URL porque el campo no se repite. |
external_dlp_policy_group |
read_only_udm.security_result.detection_fields.value |
Se asignan directamente si no están vacíos, "-" o "NONE". La clave es "ExternalDlpPolicyGroup". |
ExternalMsgID |
read_only_udm.security_result.about.labels.value |
Se asigna directamente después de quitar las comillas simples y los corchetes angulares. La clave es "ExternalMsgID". |
from |
read_only_udm.network.email.from |
Se asigna directamente si es una dirección de correo electrónico válida. También se usa para propagar network_from . |
host.hostname |
read_only_udm.principal.hostname o read_only_udm.intermediary.hostname |
Se asigna al nombre de host principal si el campo host no es válido. También se asigna al nombre de host intermedio. |
host.ip |
read_only_udm.principal.ip o read_only_udm.intermediary.ip |
Se asigna a la IP principal si no se configura el campo ip en los registros JSON. También se asigna a la IP intermediaria. |
hostname |
read_only_udm.target.hostname |
Se asignan directamente. |
http_method |
read_only_udm.network.http.method |
Se asignan directamente. |
http_response_code |
read_only_udm.network.http.response_code |
Se asignan directamente y se convierten en números enteros. |
identity_policy_group |
read_only_udm.security_result.detection_fields.value |
Se asignan directamente si no están vacíos, "-" o "NONE". La clave es "IdentityPolicyGroup". |
ip |
read_only_udm.principal.ip |
Se asignan directamente. Si está presente, source_ip lo reemplaza. |
kv_msg |
Varios | Se analiza con el filtro kv. El procesamiento previo incluye reemplazar los espacios antes de las claves por "#" y cambiar los valores de csLabel. |
log_type |
read_only_udm.metadata.log_type |
Está codificado en "CISCO_EMAIL_SECURITY". |
loglevel |
read_only_udm.security_result.severity , read_only_udm.security_result.action |
Se usa para determinar la gravedad y la acción. "Info", "", "Debug" y "Trace" se asignan a "INFORMATIONAL" y "ALLOW". "Advertencia" se asigna a "MEDIA" y "PERMITIR". "Alto" se asigna a "HIGH" y "BLOCK". "Crítico" y "Alerta" se asignan a "CRITICAL" y "BLOCK", y se establece is_alert como verdadero. |
mail_id |
read_only_udm.network.email.mail_id |
Se asignan directamente a partir de registros JSON. |
mailto |
read_only_udm.target.user.email_addresses , read_only_udm.network.email.to |
Se asigna directamente a ambos campos de la AUA si es una dirección de correo electrónico válida. |
MailPolicy |
read_only_udm.security_result.about.labels.value |
Se asignan directamente. La clave es "MailPolicy". |
message |
Varios | Se analiza como JSON si es posible. De lo contrario, se procesará como un mensaje de syslog. |
message_id |
read_only_udm.network.email.mail_id |
Se asignan directamente. También se usa para propagar network_data . |
msg |
read_only_udm.network.email.subject |
Se asignan directamente después de la decodificación UTF-8 y se quitan los saltos de línea, las líneas nuevas y las comillas adicionales. También se usa para propagar network_data . |
msg1 |
Varios | Se analiza con el filtro kv. Se usa para extraer Hostname , helo , env-from y reply-to . |
outbound_malware_scanning_policy_group |
read_only_udm.security_result.detection_fields.value |
Se asignan directamente si no están vacíos, "-" o "NONE". La clave es "DataSecurityPolicyGroup". |
port |
read_only_udm.target.port |
Se asignan directamente y se convierten en números enteros. |
principalMail |
read_only_udm.principal.user.email_addresses |
Se asignan directamente. |
principalUrl |
read_only_udm.principal.url |
Se asignan directamente. |
product_event |
read_only_udm.metadata.product_event_type |
Se asignan directamente. Se usa para determinar qué patrones de grok aplicar. Se quitan los caracteres "%" iniciales. “amp” se reemplaza por “SIEM_AMPenginelogs”. |
product_version |
read_only_udm.metadata.product_version |
Se asignan directamente. |
protocol |
read_only_udm.network.tls.version |
Se asignan directamente. |
received_bytes |
read_only_udm.network.received_bytes |
Se asignan directamente y se convierten en números enteros sin signo. |
reply-to |
read_only_udm.additional.fields.value.string_value |
Se asignan directamente. La clave es “Reply-To”. |
reputation |
read_only_udm.security_result.confidence_details |
Se asignan directamente. |
request_method_uri |
read_only_udm.target.url |
Se asignan directamente. |
result_code |
read_only_udm.security_result.detection_fields.value |
Se asignan directamente. La clave es "Result Code". |
routing_policy_group |
read_only_udm.security_result.detection_fields.value |
Se asignan directamente si no están vacíos, "-" o "NONE". La clave es "RoutingPolicyGroup". |
rule |
read_only_udm.security_result.detection_fields.value |
Se asignan directamente. La clave es "Condición coincidente". |
SDRThreatCategory |
read_only_udm.security_result.threat_name |
Se asignan directamente si no están vacíos o si son “N/A”. |
SenderCountry |
read_only_udm.principal.location.country_or_region |
Se asignan directamente. |
senderGroup |
read_only_udm.principal.group.group_display_name |
Se asignan directamente. |
security_description |
read_only_udm.security_result.description |
Se asignan directamente. |
security_email |
read_only_udm.security_result.about.email o read_only_udm.principal.hostname |
Se asigna a un correo electrónico si es una dirección válida. De lo contrario, se asigna al nombre de host después de extraerlo con grok. |
source |
read_only_udm.network.ip_protocol |
Si contiene "tcp", se asigna a "TCP". |
sourceAddress |
read_only_udm.principal.ip |
Se asignan directamente. |
sourceHostName |
read_only_udm.principal.administrative_domain |
Se asignan directamente si no son "desconocidos". |
source_ip |
read_only_udm.principal.ip |
Se asignan directamente. Reemplaza ip si está presente. |
Subject |
read_only_udm.network.email.subject |
Se asignan directamente después de quitar los puntos finales. También se usa para propagar network_data . |
suser |
read_only_udm.principal.user.email_addresses , read_only_udm.network.email.bounce_address |
Se asigna directamente a ambos campos de la AUA si es una dirección de correo electrónico válida. |
target_ip |
read_only_udm.target.ip |
Se asignan directamente. |
to |
read_only_udm.network.email.to |
Se asigna directamente si es una dirección de correo electrónico válida. También se usa para propagar network_to . |
total_bytes |
read_only_udm.network.sent_bytes |
Se asignan directamente y se convierten en números enteros sin signo. |
trackerHeader |
read_only_udm.additional.fields.value.string_value |
Se asignan directamente. La clave es "Encabezado del servicio de seguimiento". |
ts , ts1 , year |
read_only_udm.metadata.event_timestamp.seconds |
Se usa para crear la marca de tiempo del evento. ts1 y year se combinan si ts1 está presente. Se admiten varios formatos, con y sin el año. Si no se incluye el año, se usa el año actual. Está codificado de forma fija en “Cisco”. Está codificado de forma fija en "Cisco Email Security". El valor predeterminado es “ALLOW”. Se establece en "BLOQUEAR" según loglevel o description . El valor predeterminado es "INBOUND" si application_protocol está presente. Se establece en función de deviceDirection para los mensajes de CEF. Se determina en función de una combinación de campos, incluidos network_from , network_to , target_ip , ip , description , event_type , principal_host , Hostname , user_id y sourceAddress . El valor predeterminado es "GENERIC_EVENT". Se establece en "SMTP" si application_protocol es "SMTP" o "smtp", o si target_ip y ip están presentes. Establece en "AUTHTYPE_UNSPECIFIED" si login_status y user_id están presentes en los registros de sshd. Se establece como verdadero si loglevel es "Crítico" o "Alerta". |
Cambios
2023-10-05
- Corrección de errores:
- Se cambió el nombre de "product_event" de "amp" a "SIEM_AMPenginelogs".
2023-09-15
- Se agregó compatibilidad con "SIEM_proxylogs","SIEM_webrootlogs" y "SIEM_AMPenginelogs" de los registros JSON.
2023-09-04
- Mejora
- Se agregó un patrón Grok para analizar registros sin analizar y se asignaron los campos según corresponda.
- Se agregó compatibilidad con el nuevo patrón de registros JSON.
2022-12-16
- Mejora
- Se modificaron las verificaciones condicionales para los campos asignados a "network.email.to", "network.email.from", "principal.user.email_addresses", "target.user.email_addresses" y "network.email.reply_to".
- Se agregó compatibilidad con los registros JSON :
- Se asignó el campo "host" a "principal.hostname".
- Se asignó el campo "domain" a "target.administrative_domain".
- Se asignó el campo "mail_id" a "network.email.mail_id".
- Se asignó el campo "mailto" a "network.email.to" y "target.user.email_addresses".
- Se asignó el campo "source" a "network.ip_protocol".
- Se asignó el campo "reputation" a "security_result.confidence_details".
- Se asignó el campo "log_type" a "security_result.severity" y "security_result.severity_details".
- Se asignó el campo "cribl_pipe" a "additional.fields".
2022-09-22
- Mejora
- Se agregó un patrón grok para los registros sin analizar, con el campo "product_event" vacío.
2022-08-02
- Mejora
- Se agregaron condiciones para los nuevos tipos de eventos "STATUS_UPDATE", "USER_UNCATEGORIZED" y "SCAN_PROCESS".
- Se asignó "attack" a "security_result.category_details"
- Se agregó un analizador mejorado para analizar el campo "ESAAttachmentDetails" de diferentes tipos de registros.
2022-06-09
- Mejora: Se asignó "from_user" a "principal.user.user_display_name".
- Se actualizó "metadata.product_event_type" de "Consolidated Log Event" a "ESA_CONSOLIDATED_LOG_EVENT".
2022-06-07
- Mejora: Se asignó el usuario a network.email.bounce_address.
2022-05-17
- Mejora: Se asignó duser a network.email.to.
- Se agregó on_error para los campos product_version y product_description para evitar la asignación de valores nulos a la AUA.
- Se agregó lógica adicional para analizar registros que comienzan con el formato "DÍA MARCA DE TIEMPO AÑO", por ejemplo: Mié 18 de feb 00:34:12 2021.
2022-05-05
- Mejora: Se usó grok para network.email.from
2022-03-31
- Se agregaron asignaciones para campos nuevos.
- ESAReplyTo se asignó a network.email.reply_to.
- duser asignado a network.email.to.
¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.