Recopila registros de Pulse Secure

Se admite en los siguientes países:

En este documento, se describe cómo puedes recopilar registros de Pulse Secure con un reenviador de Google Security Operations.

Para obtener más información, consulta la descripción general de la transferencia de datos a Google Security Operations.

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 PULSE_SECURE_VPN.

Configura la VPN de Pulse Secure

Para configurar la VPN de Pulse Secure, haz lo siguiente:

  • Configura la VPN de Pulse Secure versión 8.3R3 y anteriores
  • Configura la VPN de Pulse Secure versión 8.3R4 y posteriores

Configura la VPN de Pulse Secure versión 8.3R3 y anteriores

  1. Accede a la consola de Pulse Connect Secure.
  2. En la consola de Pulse Connect Secure, selecciona Sistema > Registro/supervisión > Configuración. Puedes seleccionar Configuración en la pestaña Eventos, Acceso de los usuarios o Acceso de administrador.
  3. En la sección Seleccionar eventos para registrar, selecciona todas las casillas de verificación que correspondan a los eventos.
  4. En la sección Servidores de Syslog, haz lo siguiente:
    1. En el campo Nombre o IP del servidor, especifica la dirección IP del reenviador de Google Security Operations.
    2. En la lista Facility, selecciona LOCAL0. La lista Facility proporciona ocho instalaciones: de LOCAL0 a LOCAL7. Puedes usar uno de estos parámetros de configuración para asignar instalaciones en tu servidor de syslog.
    3. En la lista Tipo, selecciona UDP o TCP.
  5. Haz clic en Agregar.
  6. Opcional: Para agregar varios servidores syslog para eventos, acceso de administrador o registros de acceso de usuarios, repite los pasos del 2 al 4.
  7. Haz clic en Guardar cambios.
  8. Para asegurarte de que el formato de registro estándar se establezca de forma predeterminada, haz lo siguiente:
    1. Abre la consola de Pulse Connect Secure.
    2. En las pestañas Eventos, Acceso de los usuarios y Acceso de los administradores, establece Filtros en Estándar.
    3. Si el filtro estándar no está definido como el filtro predeterminado, haz clic en Establecer como predeterminado.
    4. Haz clic en Guardar.

Configura la VPN de Pulse Secure versión 8.3R4 y posteriores

  1. En la consola de Pulse Connect Secure, haz clic en la pestaña Eventos, Acceso de los usuarios o Acceso de los administradores y, luego, establece Filtros en Nuevo filtro.
  2. En el campo Nombre del filtro, ingresa un nombre para el filtro.
  3. En la sección Formato de exportación, selecciona Personalizado y, luego, ingresa el siguiente formato en el campo:

    [SecureConnect] %date% %time% - %node% - [%sourceip%] %user%(%realm%)[%role%] - %msg%

  4. Haz clic en Guardar.

  5. Según la versión de tu dispositivo para habilitar la configuración de syslog, haz una de las siguientes acciones:

    • Habilita el registro de syslog en la VPN de Pulse Secure
    • Habilita el registro de syslog en Ivanti Connect Secure

Habilita el registro de syslog en la VPN de Pulse Secure

  1. En la consola de Pulse Connect Secure, selecciona Sistema > Registro/supervisión > Configuración. Puedes seleccionar Configuración en la pestaña Eventos, Acceso de los usuarios o Acceso de administrador.
  2. En la sección Seleccionar eventos para registrar, selecciona todas las casillas de verificación, excepto las de Acceso HTML5, Mensajes de control de admisión y Solicitudes no autenticadas.
  3. En el campo Syslog server, ingresa información sobre los servidores syslog.
  4. En la sección Servidores de Syslog, haz lo siguiente:
    1. En el campo Nombre o IP del servidor, ingresa el nombre del servidor o la dirección IP del reenviador de Google Security Operations.
    2. En la lista Facility, selecciona LOCAL0.
    3. En la lista Filtro, selecciona el filtro que creaste antes.
  5. Haz clic en Agregar.
  6. Opcional: Para agregar varios servidores syslog para eventos, acceso de administrador o registros de acceso de usuarios, repite los pasos del 2 al 4.
  7. Haz clic en Guardar cambios.

Habilita el registro de syslog en Ivanti Connect Secure

  1. En la consola de Pulse Connect Secure, haz clic en la pestaña Eventos, Acceso de usuario o Acceso de administrador y, luego, selecciona Filtros.
  2. Haz clic en la pestaña Filtro nuevo.
  3. En la sección Formato de exportación, selecciona Personalizado y, luego, ingresa el siguiente formato en el campo:

    [SecureConnect] %date% %time% - %node% - [%sourceip%] %user%(%realm%)[%role%] - %msg%

  4. Haz clic en Guardar.

  5. Haz clic en Sistema > Registro/supervisión y, luego, selecciona la pestaña Configuración.

  6. En el campo Tamaño máximo del registro, especifica el tamaño máximo del registro y selecciona los eventos que se registrarán.

  7. Especifica la configuración del servidor de la siguiente manera:

    1. En el campo Nombre o IP del servidor, especifica el nombre de dominio completamente calificado o la dirección IP del reenviador de Google Security Operations para el servidor syslog.

      Si seleccionas Seguridad de la capa de transporte (TLS) en la lista de tipos, el nombre del servidor debe coincidir con el CN en el subjectDN del certificado obtenido del servidor.

    2. En la lista Facility, selecciona un nivel de facilidad del servidor de syslog.

    3. En la lista Tipo, selecciona el tipo de conexión al servidor de syslog como UDP, TCP o TLS. TLS usa protocolos criptográficos para proporcionar una comunicación segura.

      Si seleccionas TLS, selecciona el certificado de cliente instalado que se usará para autenticar el servidor de syslog. Los certificados de cliente se definen en la ventana Configuration > Certificates > Client auth certificates. Los certificados de cliente deben instalarse en el dispositivo para poder usarlos. Comunícate con tu autoridad certificadora para obtener el certificado.

    4. En la lista Filtro, selecciona Personalizado.

  8. Haz clic en Agregar.

Configura el reenviador de Google Security Operations para transferir registros de Pulse Secure

  1. Selecciona Configuración de SIEM > Redireccionamientos.
  2. Haz clic en Agregar nuevo remitente.
  3. En el campo Nombre del reenviador, ingresa un nombre único para el reenviador.
  4. Haz clic en Enviar y, luego, en Confirmar. Se agregará el reenviador y aparecerá la ventana Add collector configuration.
  5. En el campo Nombre del recopilador, escribe un nombre único para el recopilador.
  6. Selecciona Pulse Secure como el Tipo de registro.
  7. Selecciona Syslog como el tipo de recopilador.
  8. 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.
  9. Haz clic en Enviar.

Para obtener más información sobre los reenvíos de Google Security Operations, consulta Cómo administrar las configuraciones de reenvío a través de la IU de Google Security Operations.

Si tienes problemas cuando creas reenvío de correo, comunícate con el equipo de asistencia de Operaciones de seguridad de Google.

Referencia de la asignación de campos

Este analizador extrae campos de los registros de la VPN de Pulse Secure y controla los formatos de registro de eventos de Windows y syslog. Normaliza diversas estructuras de registro en un formato común, clasificando eventos como accesos, salidas, conexiones y cambios de política, y enriqueciéndolos con datos contextuales, como usuarios-agentes, direcciones IP y marcas de tiempo.

Tabla de asignación de la UDM

Campo de registro Asignación de UDM Lógica
acción security_result.action_details Se asignan directamente desde el campo action.
aplicación principal.application Se asignan directamente desde el campo application.
bytes_read network.received_bytes Se asigna directamente desde el campo bytes_read y se convierte en un número entero sin signo.
bytes_written network.sent_bytes Se asigna directamente desde el campo bytes_written y se convierte en un número entero sin signo.
client_host principal.hostname, principal.asset.hostname Se asignan directamente desde el campo client_host.
cmd principal.process.command_line Se asignan directamente desde el campo cmd.
connection_status security_result.detection_fields.value.string_value Se asignan directamente desde el campo connection_status.
data_time metadata.event_timestamp.seconds Se analiza desde el campo data_time con varios formatos de marca de tiempo (dd-MM-aaaa HH:mm:ss Z, RFC 3339, ISO8601, MMM d HH:mm:ss, MMM d HH:mm:ss).
devname principal.hostname, principal.asset.hostname Se asignan directamente desde el campo devname.
dstip target.ip, target.asset.ip Se asignan directamente desde el campo dstip.
dstport target.port Se asigna directamente desde el campo dstport y se convierte en número entero.
dstcountry target.location.country_or_region Se asigna directamente desde el campo dstcountry si no está "reservado" o vacío.
duración network.session_duration.seconds Se asigna directamente desde el campo duration y se convierte en número entero.
dvc intermediary.hostname o intermediary.ip Si el campo dvc se puede convertir en una dirección IP, se asigna a intermediary.ip. De lo contrario, se asigna a intermediary.hostname.
dvc_hostname intermediary.hostname, principal.hostname, principal.asset.hostname o intermediary.ip, principal.ip, principal.asset.ip Si el campo dvc_hostname se puede convertir en una dirección IP, se asigna a los campos de IP correspondientes. De lo contrario, se asigna a los campos de nombre de host correspondientes.
event_type metadata.product_event_type Se asignan directamente desde el campo event_type.
failure_reason security_result.description Se asignan directamente desde el campo failure_reason. Si el mensaje contiene "because host", el texto "host" se agrega al principio del motivo de la falla.
has_principal event.idm.read_only_udm.principal (presencia) Se establece como "verdadero" si se propagan campos principales, "falso" de lo contrario. Se deriva de la lógica del analizador.
has_target event.idm.read_only_udm.target (presencia) Se establece como "verdadero" si se propagan campos de destino; de lo contrario, se establece como "falso". Se deriva de la lógica del analizador.
has_target_user event.idm.read_only_udm.target.user.userid (presencia) Se establece en "true" si se propaga target.user.userid, "false" de lo contrario. Se deriva de la lógica del analizador.
host_ip principal.ip, principal.asset.ip Se asignan directamente desde el campo host_ip.
host_mac principal.mac Se asigna directamente desde el campo host_mac y reemplaza los guiones por dos puntos.
http_method network.http.method Se asignan directamente desde el campo http_method.
http_response network.http.response_code Se asigna directamente desde el campo http_response y se convierte en número entero.
info_desc about.labels.value Se asignan directamente desde el campo info_desc.
ip_new target.ip, target.asset.ip Se asignan directamente desde el campo ip_new.
level security_result.severity, security_result.severity_details El security_result.severity se deriva del campo level ("error"/"warning" -> HIGH, "notice" -> MEDIUM, "information"/"info" -> LOW). El valor sin procesar de level también se asigna a security_result.severity_details.
logid metadata.product_log_id Se asignan directamente desde el campo logid.
locip principal.ip, principal.asset.ip Se asignan directamente desde el campo locip.
mensaje metadata.description Se usa para extraer varios campos con filtros grok y kv. Si el mensaje contiene "EventID", se procesará como un registro de eventos de Windows.
message_info metadata.description Se asigna directamente a metadata.description si no se usa de otra manera en patrones de grok más específicos.
msg metadata.product_event_type, metadata.description Si el campo msg está presente, el tipo de producto se extrae y se asigna a metadata.product_event_type, y el mensaje restante se asigna a metadata.description.
msg_hostname principal.hostname, principal.asset.hostname Se asignan directamente desde el campo msg_hostname.
msg_ip principal.ip, principal.asset.ip Se asignan directamente desde el campo msg_ip.
msg_user_agent network.http.user_agent, network.http.parsed_user_agent, metadata.product_version La cadena del usuario-agente se asigna a network.http.user_agent, el usuario-agente analizado se asigna a network.http.parsed_user_agent y la versión del producto (si está presente) se asigna a metadata.product_version.
network_duration network.session_duration.seconds Se asigna directamente desde el campo network_duration y se convierte en número entero.
policyid security_result.rule_id Se asignan directamente desde el campo policyid.
policyname security_result.rule_name Se asignan directamente desde el campo policyname.
policytype security_result.rule_type Se asignan directamente desde el campo policytype.
priority_code about.labels.value Se asigna directamente desde el campo priority_code y también se usa para derivar about.labels.value para la clave "Severity" (consulta la sección Lógica).
prod_name metadata.product_name Se asignan directamente desde el campo prod_name.
product_type metadata.product_event_type Se asignan directamente desde el campo product_type.
product_version metadata.product_version Se asignan directamente desde el campo product_version.
protocolo network.ip_protocol Se asigna a network.ip_protocol después de convertirse en un nombre de protocolo IP mediante una búsqueda.
pwd principal.process.file.full_path Se asignan directamente desde el campo pwd.
dominio principal.group.attribute.labels.value Se asignan directamente desde el campo realm.
rcvdbyte network.received_bytes Se asigna directamente desde el campo rcvdbyte y se convierte en un número entero sin signo.
remip target.ip Se asignan directamente desde el campo remip.
resource_name target.resource.name Se asignan directamente desde el campo resource_name después de quitar los espacios en blanco iniciales o finales y los guiones.
resource_status security_result.description Se asignan directamente desde el campo resource_status.
resource_user_group principal.user.group_identifiers Se asignan directamente desde el campo resource_user_group.
resource_user_name principal.user.userid Se asignan directamente desde el campo resource_user_name.
roles principal.user.group_identifiers Se asignan directamente desde el campo roles.
sentbyte network.sent_bytes Se asigna directamente desde el campo sentbyte y se convierte en un número entero sin signo.
session_id network.session_id Se asignan directamente desde el campo session_id.
sessionid network.session_id Se asignan directamente desde el campo sessionid.
srcip principal.ip, principal.asset.ip Se asignan directamente desde el campo srcip.
srcport principal.port Se asigna directamente desde el campo srcport y se convierte en número entero.
srccountry principal.location.country_or_region Se asigna directamente desde el campo srccountry si no está "reservado" o vacío.
subtype metadata.product_event_type Se usa junto con type para formar metadata.product_event_type.
target_file target.file.full_path Se asignan directamente desde el campo target_file.
target_host target.hostname, target.asset.hostname Se asignan directamente desde el campo target_host.
target_ip target.ip, target.asset.ip Se asignan directamente desde el campo target_ip.
target_port target.port Se asigna directamente desde el campo target_port y se convierte en número entero.
target_url target.url Se asignan directamente desde el campo target_url.
hora metadata.event_timestamp.seconds Se analiza desde el campo time con el formato “aaaa-mm-dd HH:mm:ss”.
tipo metadata.product_event_type Se usa junto con subtype para formar metadata.product_event_type.
u_event_source_ip principal.ip, principal.asset.ip o target.ip Si target_ip o target_host están presentes, u_event_source_ip se asigna a principal.ip y principal.asset.ip. De lo contrario, si target_ip, target_host y target_url están vacíos, u_event_source_ip se asigna a target.ip.
u_observer_ip observer.ip Se asignan directamente desde el campo u_observer_ip.
u_prin_ip principal.ip, principal.asset.ip Se asignan directamente desde el campo u_prin_ip.
usuario target.user.userid Se asignan directamente desde el campo user.
user_agent network.http.user_agent, network.http.parsed_user_agent La cadena del usuario-agente se asigna a network.http.user_agent, y el usuario-agente analizado se asigna a network.http.parsed_user_agent.
user_group_identifier target.user.group_identifiers o principal.user.group_identifiers Se asigna a target.user.group_identifiers en la mayoría de los casos. Se asigna a principal.user.group_identifiers en los eventos de cambio de IP (USER_UNCATEGORIZED) y de restricciones de Realm.
user_ip principal.ip, principal.asset.ip Se asignan directamente desde el campo user_ip. Si está vacío y u_event_source_ip no está vacío, toma el valor de u_event_source_ip.
nombre de usuario principal.user.userid o target.user.userid Se asigna a principal.user.userid en la mayoría de los casos. Se asigna a target.user.userid en algunas situaciones específicas (p.ej., cuando detect_user_logout_failed es falso y detect_policy_change_failed es falso).
username_removed target.user.userid Se asignan directamente desde el campo username_removed.
vd principal.administrative_domain Se asignan directamente desde el campo vd.

La lógica del analizador deriva o establece metadata.vendor_name, metadata.product_name, metadata.event_type, metadata.log_type, network.ip_protocol, security_result.action, security_result.severity y extensions.auth.type en función de las condiciones que se describen en la columna Lógica.

Cambios

2024-05-27

  • Se asignó "observer_hostname" a "observer.hostname".
  • Cuando “dvc_hostname” es una dirección IP válida, se asigna a “principal.ip”, de lo contrario, se asigna a “principal.hostname”.
  • Se asignaron "priority_code", "Syslog_version" y "info_desc" a "about.labels".
  • Se asignó "prod_name" a "metadata.product_event_type".

2024-04-16

  • Se agregó un nuevo patrón GROK para analizar un nuevo patrón de registros SYSLOG.
  • Se asignó "connection_status" a "security_result.detection_fields".

2024-02-26

  • Se agregó un bloque "kv" para analizar datos de par clave-valor.
  • Se asignó "username" a "target.user.userid".
  • Se agregó una verificación condicional para "message_info".
  • Se asignó "u_prin_ip" a "principal.ip".
  • Se asignó "u_observer_ip" a "observer.ip".

2023-11-07

  • Corrección de errores:
  • Se modificó la asignación de "observer_host" de "observer.hostname" a "additional.fields".

2023-08-19

  • Se agregó un patrón Grok para analizar los registros con errores.

2023-05-26

  • Se agregó un patrón de Grok para admitir los nuevos registros de syslog.

2023-01-06

  • Se modificó grok para analizar "product_type" y se asignó a "metadata.product_event_type".

2022-10-25

  • Se agregaron nuevos patrones de Grok para “message_info” para extraer session_id.
  • Se asignó "session_id" a "network.session_id".
  • Se cambió target.ip a principal.ip cuando detect_policy_change_failed es falso.
  • Se cambió target.mac a principal.mac cuando detect_policy_change_failed es falso.

2022-10-12

  • Mejora: Se agregaron asignaciones para los siguientes campos:
  • Se extrajo el valor de la IP del campo "msg" y se asignó a "principal.ip".
  • Se extrajo el valor del nombre de host del campo "msg" y se asignó a "principal.hostname".
  • Se asignó "user" a "target.user.userid".
  • Se asignó "realm" a "principal.group.attribute.labels".
  • Se asignó "roles" a "principal.user.group_identifiers".
  • Se modificó el valor de "metadata.event_type" de "GENERIC_EVENT" a "USER_UNCATEGORIZED".

2022-10-03

  • Mejora: Se analizaron los registros que contienen "sudo".
  • Se agregó compatibilidad con nuevos formatos de registro de tipo de par clave-valor.

2022-07-01

  • Mejora: Se generó un evento nuevo para el ID de evento: 4624
  • Se cambió metadata.event_type de "GENERIC_EVENT" a "STATUS_UPDATE" o "NETWORK_CONNECTION", donde "principal.ip", "target.ip" o "principal.hostname" no son nulos.

13-4-2022

  • Mejora: Se agregaron asignaciones para campos nuevos en el tipo de evento GENERIC_EVENT:
  • user_ip a event.idm.read_only_udm.principal.ip.
  • user_group_identifier a event.idm.read_only_udm.target.user.group_identifiers.
  • Se modificó la marca de tiempo en todos los event_type para incluir la zona horaria.
  • Se modificó el campo user_ip, target_ip para los tipos de eventos GENERIC y NETWORK_CONNECTION.