Recoger registros de alertas de Proofpoint TAP
En este documento se describe cómo puede recoger registros de alertas de Proofpoint Targeted Attack Protection (TAP) configurando un feed de Google Security Operations.
Para obtener más información, consulta Ingestión de datos en Google Security Operations.
Una etiqueta de ingestión identifica el analizador que normaliza los datos de registro sin procesar en formato UDM estructurado. La información de este documento se aplica al analizador con la etiqueta de ingestión PROOFPOINT_MAIL.
Configurar alertas de Proofpoint TAP
- Inicia sesión en el portal de estadísticas de amenazas de Proofpoint con tus credenciales.
- En la pestaña Configuración, selecciona Aplicaciones conectadas. Aparecerá la sección Credenciales de servicio.
- En la sección Nombre, haz clic en Crear nueva credencial.
- Escribe el nombre de tu organización, como altostrat.com.
- Haz clic en Generar. En el cuadro de diálogo Credencial de servicio generada, aparecen los valores Principal de servicio y Secreto.
- Copia los valores de Principal de servicio y Secreto. Los valores solo se muestran en el momento de la creación y son obligatorios cuando configuras el feed de Google Security Operations.
- Haz clic en Listo.
Configurar feeds
Para configurar el feed, sigue estos pasos:
- Ve a Configuración de SIEM > Feeds.
- Haz clic en Añadir feed.
- Haga clic en el paquete de feeds Proofpoint.
- Busca el tipo de registro Alertas de Proofpoint Tap.
- Especifique los valores de los siguientes campos: - Tipo de fuente: API de terceros
- Nombre de usuario: especifica el nombre principal del servicio que has obtenido anteriormente.
- Secreto: especifica el secreto que has obtenido anteriormente.
 - Opciones avanzadas * Nombre del feed: valor rellenado automáticamente que identifica el feed. * Espacio de nombres de recursos: espacio de nombres asociado al feed. * Etiquetas de ingestión: etiquetas aplicadas a todos los eventos de este feed. 
- Haga clic en Crear feed. 
Para obtener más información sobre los feeds de Google Security Operations, consulta la documentación de los feeds de Google Security Operations. Para obtener información sobre los requisitos de cada tipo de feed, consulta el artículo Configuración de feeds por tipo. Si tienes problemas al crear feeds, ponte en contacto con el equipo de Asistencia de Google Security Operations.
Referencia de asignación de campos
Este analizador gestiona los registros de correo de Proofpoint en formato JSON o de clave-valor, y extrae los detalles de la actividad de correo y de red. Asigna campos de registro al UDM, categoriza eventos como transacciones de correo electrónico y solicitudes HTTP de red, y los enriquece con detalles de seguridad como acciones, categorías e información sobre amenazas.
Tabla de asignación de UDM
| Campo de registro | Asignación de UDM | Observación | 
|---|---|---|
| action | security_result.action_details | El valor de actiondel registro sin procesar se asigna directamente. | 
| adultscore | additional.fields[].key: "adultscore"additional.fields[].value.string_value: valor de adultscore | El valor de adultscoredel registro sin procesar se coloca enadditional_fields. | 
| attachments | additional.fields[].key: "attachments"additional_fields[].value.string_value: valor de los archivos adjuntos | El valor de attachmentsdel registro sin procesar se coloca enadditional_fields. | 
| campaignID | security_result.rule_id | El valor de campaignIDdel registro sin procesar se asigna directamente. | 
| ccAddresses | Sin asignar | Aunque está presente en los registros sin procesar, este campo no se asigna al objeto IDM en el UDM proporcionado. | 
| cid | additional.fields[].key:cidadditional_fields[].value.string_value: valor decid | El valor de ciddel registro sin procesar se coloca enadditional_fields. | 
| cipher/tls | network.tls.cipher | Si cipherestá presente y no es "NONE", se usa su valor. De lo contrario, sitlsestá presente y no es "NONE", se usa su valor. | 
| classification | security_result.category_details | El valor de classificationdel registro sin procesar se asigna directamente. | 
| clickIP | principal.asset.ipprincipal.ip | El valor de clickIPdel registro sin procesar se asigna directamente. | 
| clicks.impostorScore | security_result.detection_fields | Asignado a un par clave-valor en security_result.detection_fields | 
| clicks.malwareScore | security_result.detection_fields | Asignado a un par clave-valor en security_result.detection_fields | 
| clicks.phishScore | security_result.detection_fields | Asignado a un par clave-valor en security_result.detection_fields | 
| clicks.quarantineFolder | security_result.priorityosecurity_result.detection_fields | Si click.quarantineFolderes igual a "prioridad baja" o "prioridad alta", asigna el valor al camposecurity_result.priorityde UDM. De lo contrario, asigna el valor asecurity_result.detection_fields. | 
| clicks.quarantineRule | security_result.rule_name | Asignado a un par clave-valor en security_result.rule_name | 
| clicks.sender | Sin asignar | |
| clicks.senderIP | principal.ip | Asignado a un par clave-valor en principal.ip | 
| clicks.spamScore | security_result.detection_fields | Asignado a un par clave-valor en security_result.detection_fields | 
| clicksBlocked[].campaignId | Sin asignar | Aunque está presente en los registros sin procesar, este campo no se asigna al objeto IDM en el UDM proporcionado. | 
| clicksBlocked[].clickIP | principal.asset.ipprincipal.ip | Se asigna el valor de clickIPen la matrizclicksBlocked. | 
| clicksBlocked[].clickTime | metadata.event_timestamp.seconds | El analizador convierte la cadena clickTimeen una marca de tiempo y la asigna. | 
| clicksBlocked[].classification | security_result.category_details | Se asigna el valor de classificationen la matrizclicksBlocked. | 
| clicksBlocked[].GUID | metadata.product_log_id | Se asigna el valor de GUIDen la matrizclicksBlocked. | 
| clicksBlocked[].id | Sin asignar | Aunque está presente en los registros sin procesar, este campo no se asigna al objeto IDM en el UDM proporcionado. | 
| clicksBlocked[].messageID | network.email.mail_id | Se asigna el valor de messageIDen la matrizclicksBlocked. | 
| clicksBlocked[].recipient | target.user.email_addresses | Se asigna el valor de recipienten la matrizclicksBlocked. | 
| clicksBlocked[].sender | principal.user.email_addresses | Se asigna el valor de senderen la matrizclicksBlocked. | 
| clicksBlocked[].senderIP | about.ip | Se asigna el valor de senderIPen la matrizclicksBlocked. La entrada generalsenderIPse asigna aprincipal.asset.ipoprincipal.ip. | 
| clicksBlocked[].threatID | security_result.threat_id | Se asigna el valor de threatIDen la matrizclicksBlocked. | 
| clicksBlocked[].threatTime | Sin asignar | Aunque está presente en los registros sin procesar, este campo no se asigna al objeto IDM en el UDM proporcionado. | 
| clicksBlocked[].threatURL | security_result.url_back_to_product | Se asigna el valor de threatURLen la matrizclicksBlocked. | 
| clicksBlocked[].threatStatus | security_result.threat_status | Se asigna el valor de threatStatusen la matrizclicksBlocked. | 
| clicksBlocked[].url | target.url | Se asigna el valor de urlen la matrizclicksBlocked. | 
| clicksBlocked[].userAgent | network.http.user_agent | Se asigna el valor de userAgenten la matrizclicksBlocked. | 
| clicksPermitted[].campaignId | Sin asignar | Aunque está presente en los registros sin procesar, este campo no se asigna al objeto IDM en el UDM proporcionado. | 
| clicksPermitted[].clickIP | principal.asset.ipprincipal.ip | Se asigna el valor de clickIPen la matrizclicksPermitted. | 
| clicksPermitted[].clickTime | metadata.event_timestamp.seconds | El analizador convierte la cadena clickTimeen una marca de tiempo y la asigna. | 
| clicksPermitted[].classification | security_result.category_details | Se asigna el valor de classificationen la matrizclicksPermitted. | 
| clicksPermitted[].guid | metadata.product_log_id | Se asigna el valor de guiden la matrizclicksPermitted. | 
| clicksPermitted[].id | Sin asignar | Aunque está presente en los registros sin procesar, este campo no se asigna al objeto IDM en el UDM proporcionado. | 
| clicksPermitted[].messageID | Sin asignar | Aunque está presente en los registros sin procesar, este campo no se asigna al objeto IDM en el UDM proporcionado. | 
| clicksPermitted[].recipient | target.user.email_addresses | Se asigna el valor de recipienten la matrizclicksPermitted. | 
| clicksPermitted[].sender | principal.user.email_addresses | Se asigna el valor de senderen la matrizclicksPermitted. | 
| clicksPermitted[].senderIP | about.ip | Se asigna el valor de senderIPen la matrizclicksPermitted. | 
| clicksPermitted[].threatID | security_result.threat_id | Se asigna el valor de threatIDen la matrizclicksPermitted. | 
| clicksPermitted[].threatTime | Sin asignar | Aunque está presente en los registros sin procesar, este campo no se asigna al objeto IDM en el UDM proporcionado. | 
| clicksPermitted[].threatURL | security_result.url_back_to_product | Se asigna el valor de threatURLen la matrizclicksPermitted. | 
| clicksPermitted[].url | target.url | Se asigna el valor de urlen la matrizclicksPermitted. | 
| clicksPermitted[].userAgent | network.http.user_agent | Se asigna el valor de userAgenten la matrizclicksPermitted. | 
| clickTime | metadata.event_timestamp.seconds | El analizador convierte la cadena clickTimeen una marca de tiempo y la asigna. | 
| cmd | principal.process.command_lineonetwork.http.method | Si se incluye sts(código de estado HTTP),cmdse asigna anetwork.http.method. De lo contrario, se asigna aprincipal.process.command_line. | 
| collection_time.seconds | metadata.event_timestamp.seconds | El valor de collection_time.secondsdel registro sin procesar se asigna directamente. | 
| completelyRewritten | security_result.detection_fields[].key: "completelyRewritten"security_result.detection_fields[].value: valor de completelyRewritten | El valor de completelyRewrittendel registro sin procesar se coloca ensecurity_result.detection_fields. | 
| contentType | about.file.mime_type | El valor de contentTypedel registro sin procesar se asigna directamente. | 
| country | principal.location.country_or_region | El valor de countrydel registro sin procesar se asigna directamente. | 
| create_time.seconds | Sin asignar | Aunque está presente en los registros sin procesar, este campo no se asigna al objeto IDM en el UDM proporcionado. | 
| data | (Varios campos) | La carga útil JSON del campo datase analiza y se asigna a varios campos de UDM. | 
| date/date_log_rebase | metadata.event_timestamp.seconds | El analizador vuelve a basar la fecha en una marca de tiempo usando los campos date_log_rebaseodateytimeStamp. | 
| dict | security_result.category_details | El valor de dictdel registro sin procesar se asigna directamente. | 
| disposition | Sin asignar | Aunque está presente en los registros sin procesar, este campo no se asigna al objeto IDM en el UDM proporcionado. | 
| dnsid | network.dns.id | El valor de dnsiddel registro sin procesar se asigna directamente y se convierte en un número entero sin signo. | 
| domain/hfrom_domain | principal.administrative_domain | Si domainestá presente, se usa su valor. De lo contrario, sihfrom_domainestá presente, se usa su valor. | 
| duration | Sin asignar | Aunque está presente en los registros sin procesar, este campo no se asigna al objeto IDM en el UDM proporcionado. | 
| eid | additional.fields[].key: "eid"additional_fields[].value.string_value: valor de eid | El valor de eiddel registro sin procesar se coloca enadditional_fields. | 
| engine | metadata.product_version | El valor de enginedel registro sin procesar se asigna directamente. | 
| err/msg/result_detail/tls-alert | security_result.description | Se asigna el primer valor disponible de msg,err,result_detailotls-alert(después de quitar las comillas). | 
| file/name | principal.process.file.full_path | Si fileestá presente, se usa su valor. De lo contrario, sinameestá presente, se usa su valor. | 
| filename | about.file.full_path | El valor de filenamedel registro sin procesar se asigna directamente. | 
| folder | additional.fields[].key: "folder"additional_fields[].value.string_value: valor de la carpeta | El valor de folderdel registro sin procesar se coloca enadditional_fields. | 
| from/hfrom/value | network.email.from | Se aplica una lógica compleja (consulta el código del analizador).  Gestiona los caracteres <y>, y comprueba que el formato del correo sea válido. | 
| fromAddress | Sin asignar | Aunque está presente en los registros sin procesar, este campo no se asigna al objeto IDM en el UDM proporcionado. | 
| GUID | metadata.product_log_id | El valor de GUIDdel registro sin procesar se asigna directamente. | 
| headerCC | Sin asignar | Aunque está presente en los registros sin procesar, este campo no se asigna al objeto IDM en el UDM proporcionado. | 
| headerFrom | additional.fields[].key: "headerFrom"additional_fields[].value.string_value: valor de headerFrom | El valor de headerFromdel registro sin procesar se coloca enadditional_fields. | 
| headerReplyTo | Sin asignar | Aunque está presente en los registros sin procesar, este campo no se asigna al objeto IDM en el UDM proporcionado. | 
| headerTo | Sin asignar | Aunque está presente en los registros sin procesar, este campo no se asigna al objeto IDM en el UDM proporcionado. | 
| helo | Sin asignar | Aunque está presente en los registros sin procesar, este campo no se asigna al objeto IDM en el UDM proporcionado. | 
| hops-ip/lip | intermediary.ip | Si hops-ipestá presente, se usa su valor. De lo contrario, silipestá presente, se usa su valor. | 
| host | principal.hostname | El valor de hostdel registro sin procesar se asigna directamente. | 
| id | Sin asignar | Aunque está presente en los registros sin procesar, este campo no se asigna al objeto IDM en el UDM proporcionado. | 
| impostorScore | security_result.detection_fields | |
| ip | principal.asset.ipprincipal.ip | El valor de ipdel registro sin procesar se asigna directamente. | 
| log_level | security_result.severity_details | El valor de log_levelse asigna y también se usa para obtenersecurity_result.severity. | 
| m | network.email.mail_id | Se asigna el valor de m(después de quitar los caracteres<y>). | 
| malwareScore | security_result.detection_fields | |
| md5 | about.file.md5 | El valor de md5del registro sin procesar se asigna directamente. | 
| messageID | network.email.mail_id | Se asigna el valor de messageID(después de quitar los caracteres<y>). | 
| messagesBlocked(array) | (Varios campos) | Se itera la matriz de objetos messagesBlockedy los campos de cada objeto se asignan a los campos de UDM. | 
| messagesBlocked[].ccAddresses | Sin asignar | Aunque está presente en los registros sin procesar, este campo no se asigna al objeto IDM en el UDM proporcionado. | 
| messagesBlocked[].cluster | Sin asignar | Aunque está presente en los registros sin procesar, este campo no se asigna al objeto IDM en el UDM proporcionado. | 
| messagesBlocked[].completelyRewritten | security_result.detection_fields[].key: "completelyRewritten"security_result.detection_fields[].value: valor de completelyRewritten | El valor de completelyRewrittendel registro sin procesar se coloca ensecurity_result.detection_fields. | 
| messagesBlocked[].fromAddress | Sin asignar | Aunque está presente en los registros sin procesar, este campo no se asigna al objeto IDM en el UDM proporcionado. | 
| messagesBlocked[].GUID | metadata.product_log_id | El valor de GUIDdel registro sin procesar se asigna directamente. | 
| messagesBlocked[].headerFrom | additional.fields[].key: "headerFrom"additional_fields[].value.string_value: valor de headerFrom | El valor de headerFromdel registro sin procesar se coloca enadditional_fields. | 
| messagesBlocked[].headerReplyTo | Sin asignar | Aunque está presente en los registros sin procesar, este campo no se asigna al objeto IDM en el UDM proporcionado. | 
| messagesBlocked[].id | Sin asignar | Aunque está presente en los registros sin procesar, este campo no se asigna al objeto IDM en el UDM proporcionado. | 
| messagesBlocked[].impostorScore | additional.fields[].key: "impostorScore"additional_fields[].value.number_value: valor de impostorScore | El valor de impostorScoredel registro sin procesar se coloca enadditional_fields. | 
| messagesBlocked[].malwareScore | additional.fields[].key: "malwareScore"additional_fields[].value.number_value: valor de malwareScore | El valor de malwareScoredel registro sin procesar se coloca enadditional_fields. | 
| messagesBlocked[].messageID | network.email.mail_id | Se asigna el valor de messageID(después de quitar los caracteres<y>). | 
| messagesBlocked[].messageParts | about.file(repetido) | Cada objeto de la matriz messagePartsse asigna a un objetoabout.fileindependiente. | 
| messagesBlocked[].messageParts[].contentType | about.file.mime_type | El valor de contentTypedel registro sin procesar se asigna directamente. | 
| messagesBlocked[].messageParts[].disposition | Sin asignar | Aunque está presente en los registros sin procesar, este campo no se asigna al objeto IDM en el UDM proporcionado. | 
| messagesBlocked[].messageParts[].filename | about.file.full_path | El valor de filenamedel registro sin procesar se asigna directamente. | 
| messagesBlocked[].messageParts[].md5 | about.file.md5 | El valor de md5del registro sin procesar se asigna directamente. | 
| messagesBlocked[].messageParts[].sandboxStatus | Sin asignar | Aunque está presente en los registros sin procesar, este campo no se asigna al objeto IDM en el UDM proporcionado. | 
| messagesBlocked[].messageParts[].sha256 | about.file.sha256 | El valor de sha256del registro sin procesar se asigna directamente. | 
| messagesBlocked[].messageSize | additional.fields[].key: "messageSize"additional_fields[].value.number_value: valor de messageSize | El valor de messageSizedel registro sin procesar se coloca enadditional_fields. | 
| messagesBlocked[].messageTime | Sin asignar | Aunque está presente en los registros sin procesar, este campo no se asigna al objeto IDM en el UDM proporcionado. | 
| messagesBlocked[].modulesRun | Sin asignar | Aunque está presente en los registros sin procesar, este campo no se asigna al objeto IDM en el UDM proporcionado. | 
| messagesBlocked[].phishScore | additional.fields[].key: "phishScore"additional_fields[].value.number_value: valor de phishScore | El valor de phishScoredel registro sin procesar se coloca enadditional_fields. | 
| messagesBlocked[].policyRoutes | additional.fields[].key: "PolicyRoutes"additional_fields[].value.list_value.values[].string_value: valor de policyRoutes | Los valores de policyRoutesdel registro sin procesar se colocan como una lista enadditional_fields. | 
| messagesBlocked[].QID | Sin asignar | Aunque está presente en los registros sin procesar, este campo no se asigna al objeto IDM en el UDM proporcionado. | 
| messagesBlocked[].quarantineFolder | additional.fields[].key: "quarantineFolder"additional_fields[].value.string_value: valor de quarantineFolder | El valor de quarantineFolderdel registro sin procesar se coloca enadditional_fields. | 
| messagesBlocked[].quarantineRule | additional.fields[].key: "quarantineRule"additional_fields[].value.string_value: valor de quarantineRule | El valor de quarantineRuledel registro sin procesar se coloca enadditional_fields. | 
| messagesBlocked[].recipient | target.user.email_addresses | El valor de recipientdel registro sin procesar se asigna directamente. | 
| messagesBlocked[].replyToAddress | network.email.reply_to | El valor de replyToAddressdel registro sin procesar se asigna directamente. | 
| messagesBlocked[].sender | principal.user.email_addresses | El valor de senderdel registro sin procesar se asigna directamente. | 
| messagesBlocked[].senderIP | principal.asset.ipprincipal.ip | El valor de senderIPdel registro sin procesar se asigna directamente. | 
| messagesBlocked[].spamScore | additional.fields[].key: "spamScore"additional_fields[].value.number_value: valor de spamScore | El valor de spamScoredel registro sin procesar se coloca enadditional_fields. | 
| messagesBlocked[].subject | network.email.subject | El valor de subjectdel registro sin procesar se asigna directamente. | 
| messagesBlocked[].threatsInfoMap | security_result(repetido) | Cada objeto de la matriz threatsInfoMapse asigna a un objetosecurity_resultindependiente. | 
| messagesBlocked[].threatsInfoMap[].classification | security_result.category_details | El valor de classificationdel registro sin procesar se asigna directamente. | 
| messagesBlocked[].threatsInfoMap[].threat | security_result.about.url | El valor de threatdel registro sin procesar se asigna directamente. | 
| messagesBlocked[].threatsInfoMap[].threatID | security_result.threat_id | El valor de threatIDdel registro sin procesar se asigna directamente. | 
| messagesBlocked[].threatsInfoMap[].threatStatus | security_result.threat_status | El valor de threatStatusdel registro sin procesar se asigna directamente. | 
| messagesBlocked[].threatsInfoMap[].threatTime | Sin asignar | Aunque está presente en los registros sin procesar, este campo no se asigna al objeto IDM en el UDM proporcionado. | 
| messagesBlocked[].threatsInfoMap[].threatType | security_result.threat_name | El valor de threatTypedel registro sin procesar se asigna directamente. | 
| messagesBlocked[].threatsInfoMap[].threatUrl | security_result.url_back_to_product | El valor de threatUrldel registro sin procesar se asigna directamente. | 
| messagesBlocked[].toAddresses | network.email.to | El valor de toAddressesdel registro sin procesar se asigna directamente. | 
| messagesBlocked[].xmailer | Sin asignar | Aunque está presente en los registros sin procesar, este campo no se asigna al objeto IDM en el UDM proporcionado. | 
| messagesDelivered(array) | (Varios campos) | Se itera la matriz de objetos messagesDeliveredy los campos de cada objeto se asignan a los campos de UDM.  Lógica similar a la demessagesBlocked. | 
| message | (Varios campos) | Si el campo messagees un JSON válido, se analiza y se asigna a varios campos de UDM. | 
| metadata.event_type | metadata.event_type | Se asigna el valor "EMAIL_TRANSACTION" si messageno es JSON. De lo contrario, se deriva de los datos JSON.  Se asigna el valor "GENERIC_EVENT" si no se puede analizar el mensaje syslog. | 
| metadata.log_type | metadata.log_type | Codificado como "PROOFPOINT_MAIL". | 
| metadata.product_event_type | metadata.product_event_type | Asigna el valor "messagesBlocked", "messagesDelivered", "clicksPermitted" o "clicksBlocked" en función de los datos JSON. | 
| metadata.product_name | metadata.product_name | Se ha codificado como "TAP". | 
| metadata.vendor_name | metadata.vendor_name | Codificado como "PROOFPOINT". | 
| mime | principal.process.file.mime_type | El valor de mimedel registro sin procesar se asigna directamente. | 
| mod | additional.fields[].key: "module"additional_fields[].value.string_value: valor de mod | El valor de moddel registro sin procesar se coloca enadditional_fields. | 
| msg.imposterScore | security_result.detection_fields | Asignado a un par clave-valor en security_result.detection_fields | 
| msg.malwareScore | security_result.detection_fields | Asignado a un par clave-valor en security_result.detection_fields | 
| msg.phishScore | security_result.detection_fields | Asignado a un par clave-valor en security_result.detection_fields | 
| msg.quarantineFolder | security_result.priorityosecurity_result.detection_fields | Si msg.quarantineFolderes igual a "prioridad baja" o "prioridad alta", asigna el valor al camposecurity_result.priorityde UDM. De lo contrario, asigna el valor asecurity_result.detection_fields. | 
| msg.quarantineRule | security_result.rule_name | |
| msg.spamScore | security_result.detection_fields | |
| msgPart.contentType | Sin asignar | |
| oContentType | Sin asignar | Aunque está presente en los registros sin procesar, este campo no se asigna al objeto IDM en el UDM proporcionado. | 
| partData.contentType | about.file.mime_type | |
| partData.disposition | additional.fields | |
| partData.filename | about.file.full_path | |
| partData.md5 | about.file.md5 | |
| partData.sha256 | about.file.sha256 | |
| partData.contentType | security_result.detection_fields | |
| path/uri | principal.url | Si pathestá presente, se usa su valor. De lo contrario, siuriestá presente, se usa su valor. | 
| phishScore | security_result.detection_fields | |
| pid | principal.process.pid | El valor de piddel registro sin procesar se asigna directamente. | 
| policy | network.direction | Si policyes "inbound", el campo UDM se define como "INBOUND". Sipolicyes "outbound", el campo UDM se define como "OUTBOUND". | 
| policyRoutes | additional.fields[].key: "PolicyRoutes"additional_fields[].value.list_value.values[].string_value: valor de policyRoutes | Los valores de policyRoutesdel registro sin procesar se colocan como una lista enadditional_fields. | 
| profile | additional.fields[].key: "profile"additional_fields[].value.string_value: valor del perfil | El valor de profiledel registro sin procesar se coloca enadditional_fields. | 
| prot | proto | El valor de protse extrae aprotocol, se convierte a mayúsculas y, a continuación, se asigna aproto. | 
| proto | network.application_protocol | Se asigna el valor de proto(o el valor derivado deprot). Si el valor es "ESMTP", se cambia a "SMTP" antes de la asignación. | 
| querydepth | additional.fields[].key: "querydepth"additional_fields[].value.string_value: valor de querydepth | El valor de querydepthdel registro sin procesar se coloca enadditional_fields. | 
| queryEndTime | Sin asignar | Aunque está presente en los registros sin procesar, este campo no se asigna al objeto IDM en el UDM proporcionado. | 
| qid | additional.fields[].key: "qid"additional_fields[].value.string_value: valor de qid | El valor de qiddel registro sin procesar se coloca enadditional_fields. | 
| quarantineFolder | security_result.priorityosecurity_result.detection_fields | Si quarantineFolderes igual a "prioridad baja" o "prioridad alta", asigna el valor al camposecurity_result.priorityde UDM. De lo contrario, asigna el valor asecurity_result.detection_fields. | 
| rcpt/rcpts | network.email.to | Si rcptestá presente y es una dirección de correo válida, se combina con el campoto.  La lógica es la misma pararcpts. | 
| recipient | target.user.email_addresses | El valor de recipientdel registro sin procesar se asigna directamente. | 
| relay | intermediary.hostnameintermediary.ip | El campo relayse analiza para extraer el nombre de host y la dirección IP, que se asignan aintermediary.hostnameyintermediary.ip, respectivamente. | 
| replyToAddress | network.email.reply_to | El valor de replyToAddressdel registro sin procesar se asigna directamente. | 
| result | security_result.action | Si resultes "pass", el campo UDM se define como "ALLOW". Siresultes "fail", el campo UDM se define como "BLOCK". | 
| routes | additional.fields[].key: "routes"additional_fields[].value.string_value: valor de las rutas | El valor de routesdel registro sin procesar se coloca enadditional_fields. | 
| s | network.session_id | El valor de sdel registro sin procesar se asigna directamente. | 
| sandboxStatus | Sin asignar | Aunque está presente en los registros sin procesar, este campo no se asigna al objeto IDM en el UDM proporcionado. | 
| selector | additional.fields[].key: "selector"additional_fields[].value.string_value: valor del selector | El valor de selectordel registro sin procesar se coloca enadditional_fields. | 
| sender | principal.user.email_addresses | El valor de senderdel registro sin procesar se asigna directamente. | 
| senderIP | principal.asset.ipprincipal.ipoabout.ip | Si se encuentra en un evento de clic, se asigna a about.ip. De lo contrario, se asigna aprincipal.asset.ipyprincipal.ip. | 
| sha256 | security_result.about.file.sha256oabout.file.sha256 | Si está en un threatInfoMap, se asigna a security_result.about.file.sha256. De lo contrario, se asigna aabout.file.sha256. | 
| size | principal.process.file.sizeoadditional.fields[].key: "messageSize"additional_fields[].value.number_value: valor de messageSize | Si está dentro de un evento de mensaje, se asigna a additional.fields[].messageSizey se convierte en un entero sin signo. De lo contrario, se asigna aprincipal.process.file.sizey se convierte en un número entero sin signo. | 
| spamScore | security_result.detection_fields | |
| stat | additional.fields[].key: "status"additional_fields[].value.string_value: valor de la estadística | El valor de statdel registro sin procesar se coloca enadditional_fields. | 
| status | additional.fields[].key: "status"additional_fields[].value.string_value: valor del estado | El valor de status(después de quitar las comillas) del registro sin procesar se coloca enadditional_fields. | 
| sts | network.http.response_code | El valor de stsdel registro sin procesar se asigna directamente y se convierte en un número entero. | 
| subject | network.email.subject | El valor de subjectdel registro sin procesar se asigna directamente después de quitar las comillas. | 
| threatID | security_result.threat_id | El valor de threatIDdel registro sin procesar se asigna directamente. | 
| threatStatus | security_result.threat_status | El valor de threatStatusdel registro sin procesar se asigna directamente. | 
| threatTime | Sin asignar | Aunque está presente en los registros sin procesar, este campo no se asigna al objeto IDM en el UDM proporcionado. | 
| threatType | security_result.threat_name | El valor de threatTypedel registro sin procesar se asigna directamente. | 
| threatUrl/threatURL | security_result.url_back_to_product | El valor de threatUrlothreatURLdel registro sin procesar se asigna directamente. | 
| threatsInfoMap | security_result(repetido) | Cada objeto de la matriz threatsInfoMapse asigna a un objetosecurity_resultindependiente. | 
| tls | network.tls.cipher | Si cipherno está presente o es "NONE", se usa el valor detlssi no es "NONE". | 
| tls_verify/verify | security_result.action | Si verifyestá presente, su valor se usa para determinar la acción. De lo contrario, se usatls_verify. "FAIL" se asigna a "BLOCK" y "OK" se asigna a "ALLOW". | 
| tls_version/version | network.tls.version | Si tls_versionestá presente y no es "NONE", se usa su valor. De lo contrario, siversioncoincide con "TLS", se usa su valor. | 
| to | network.email.to | Se asigna el valor de to(después de quitar los caracteres<y>). Si no es una dirección de correo válida, se añade aadditional_fields. | 
| toAddresses | network.email.to | El valor de toAddressesdel registro sin procesar se asigna directamente. | 
| timestamp.seconds | metadata.event_timestamp.seconds | El valor de timestamp.secondsdel registro sin procesar se asigna directamente. | 
| type | Sin asignar | Aunque está presente en los registros sin procesar, este campo no se asigna al objeto IDM en el UDM proporcionado. | 
| url | target.urloprincipal.url | Si se encuentra en un evento de clic, se asigna a target.url. De lo contrario, se asigna aprincipal.url. | 
| userAgent | network.http.user_agent | El valor de userAgentdel registro sin procesar se asigna directamente. | 
| uri | principal.url | Si pathno está presente, se usa el valor deuri. | 
| value | network.email.from | Si fromyhfromno son direcciones de correo válidas yvaluesí lo es (después de eliminar los caracteres<y>), se asigna. | 
| vendor | Sin asignar | Aunque está presente en los registros sin procesar, este campo no se asigna al objeto IDM en el UDM proporcionado. | 
| verify | security_result.action | Si verifyestá presente, se usa para determinar la acción. "NOT" se asigna a "BLOCK", y otros valores se asignan a "ALLOW". | 
| version | network.tls.version | Si tls_versionno está presente o tiene el valor "NONE" yversioncontiene "TLS", se asigna. | 
| virusthreat | security_result.threat_name | El valor de virusthreatdel registro sin procesar se asigna directamente si no es "unknown". | 
| virusthreatid | security_result.threat_id | El valor de virusthreatid(después de quitar las comillas) del registro sin procesar se asigna directamente si no es "unknown". | 
| xmailer | Sin asignar | Aunque está presente en los registros sin procesar, este campo no se asigna al objeto IDM en el UDM proporcionado. | 
Referencia de delta de asignación de UDM
El 9 de septiembre del 2025, Google SecOps lanzó una nueva versión del analizador de Symantec Endpoint Protection, que incluye cambios significativos en la asignación de campos de registro de Symantec Endpoint Protection a campos de UDM y actualizaciones de las clasificaciones de tipos de eventos (asignaciones).
Delta de asignación de campos de registro
En la siguiente tabla se muestran los cambios en la forma en que se asignan los campos de registro de Symantec Endpoint Protection a los campos de UDM. En la columna Asignación antigua se muestran los campos expuestos antes del 9 de septiembre del 2025, y en la columna Asignación actual se muestran los campos nuevos.
| Campo de registro | Asignación antigua | Asignación actual | 
|---|---|---|
| clicks.impostorScore | additional.fields | security_result.detection_fields | 
| clicks.malwareScore | additional.fields | security_result.detection_fields | 
| clicks.phishScore | additional.fields | security_result.detection_fields | 
| clicks.quarantineFolder | additional.fields | Si quarantineFolderes igual alow priorityohigh priority,asigna el valorsecurity_result.priority. De lo contrario, asigna el valorsecurity_result.detection_fields. | 
| clicks.quarantineRule | additional.fields | security_result.rule_name | 
| clicks.sender | about.email | Not Mapped | 
| clicks.senderIP | about.ip | principal.ip | 
| clicks.spamScore | additional.fields | security_result.detection_fields | 
| impostorScore | additional.fields | security_result.detection_fields | 
| malwareScore | additional.fields | security_result.detection_fields | 
| msg.impostorScore | additional.fields | security_result.detection_fields | 
| msg.malwareScore | additional.fields | security_result.detection_fields | 
| msg.phishScore | additional.fields | security_result.detection_fields | 
| msg.quarantineFolder | additional.fields | Si quarantineFolderes igual alow priorityohigh priority,asigna el valorsecurity_result.priority. De lo contrario, asigna el valorsecurity_result.detection_fields. | 
| msg.quarantineRule | additional.fields | security_result.rule_name | 
| msg.spamScore | additional.fields | security_result.detection_fields | 
| msgPart.contentType | additional.fields | Not Mapped | 
| partData.contentType | principal.process.file.mime_type | about.file.mime_type | 
| partData.disposition | security_result.detection_fields | additional.fields | 
| partData.filename | principal.process.file.full_path | about.file.full_path | 
| partData.md5 | principal.process.file.md5 | about.file.md5 | 
| partData.sha256 | about.file.sha1 | about.file.sha256 | 
| phishScore | additional.fields | security_result.detection_fields | 
| quarantineFolder | additional.fields | ifquarantineFolderis equal toprioridad bajaorprioridad altathen map to UDM fieldsecurity_result.priorityelse security_result.detection_fields | 
| spamScore | additional.fields | security_result.detection_fields | 
Delta de asignación de tipos de eventos
Varios eventos que antes se clasificaban como eventos genéricos ahora se clasifican correctamente con tipos de eventos más significativos.
En la siguiente tabla se muestra la diferencia en la gestión de los tipos de eventos de Symantec Endpoint Protection antes del 9 de septiembre del 2025 y después (se indican en las columnas event_type antiguo y event_type actual, respectivamente).
| Formato | eventType del registro | Old event_type | Current event_type | 
|---|---|---|---|
| SYSLOG+KV | Si el registro tiene los campos fromAddress,toAddresses,hfrom,from,value,to,rcpt,rcpts,mailer,protoomod | EMAIL_TRANSACTION | |
| Si el registro solo contiene detalles de mail_id | EMAIL_TRANSACTION | EMAIL_UNCATEGORIZED | |
| Registros de CEF | eventname= messagesDelivered,messagesBlocked | EMAIL_TRANSACTION | |
| si el registro tiene emails,sender,headerReplyTooorig_recipient | USER_UNCATEGORIED | ||
| Si el registro tiene src,host | STATUS_UPDATE | ||
| SYSLOG+JSON | eventname= messagesDelivered,messagesBlocked,clicksPermitted,clicksBlocked | EMAIL_TRANSACTION | |
| JSON | record.address | USER_UNCATEGORIZED | |
| lookalikeDomain.name | STATUS_UPDATE | 
¿Necesitas más ayuda? Recibe respuestas de los miembros de la comunidad y de los profesionales de Google SecOps.