Recopila registros de Pulse Secure

Compatible con:

En este documento, se describe cómo recopilar registros de Pulse Secure con un retransmisor 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 en formato UDM estructurado. 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, realiza una de las siguientes acciones:

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

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

  1. Accede a la consola de Pulse Connect Secure.
  2. En la consola de Pulse Connect Secure, selecciona System > Log/monitoring > Settings. Puedes seleccionar Configuración en las pestañas Eventos, Acceso de usuario o Acceso de administrador.
  3. En la sección Selecciona los eventos que se registrarán, selecciona todas las casillas de verificación que correspondan a los eventos.
  4. En la sección Servidores Syslog, haz lo siguiente:
    1. En el campo Nombre o IP del servidor, especifica la dirección IP del reenvío de Google Security Operations.
    2. En la lista Facility, selecciona LOCAL0. La lista Facility proporciona ocho instalaciones: LOCAL0 a LOCAL7. Puedes usar uno de estos parámetros de configuración para asignar instalaciones en tu servidor syslog.
    3. En la lista Type, selecciona UDP o TCP.
  5. Haz clic en Agregar.
  6. Opcional: Para agregar varios servidores syslog para los registros de eventos, de acceso de administrador o de acceso de usuario, repite los pasos del 2 al 4.
  7. Haz clic en Guardar cambios.
  8. Para asegurarte de que el formato de registro estándar esté establecido como predeterminado, haz lo siguiente:
    1. Abre la consola de Pulse Connect Secure.
    2. En las pestañas Eventos, Acceso de usuario y Acceso de administrador, 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 versión 8.3R4 y posteriores de Pulse Secure VPN

  1. En la consola de Pulse Connect Secure, haz clic en la pestaña Events, User access o Admin access y, luego, configura Filters como New filter.
  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 Pulse Secure VPN
    • 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 System > Log/monitoring > Settings. Puedes seleccionar Configuración en las pestañas Eventos, Acceso de usuario o Acceso de administrador.
  2. En la sección Selecciona los eventos que se registrarán, 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 Servidor Syslog, ingresa información sobre los servidores Syslog.
  4. En la sección Servidores Syslog, haz lo siguiente:
    1. En el campo Nombre/IP del servidor, ingresa el nombre del servidor o la dirección IP del retransmisor de Google Security Operations.
    2. En la lista Facility, selecciona LOCAL0.
    3. En la lista Filter, selecciona el filtro que creaste anteriormente.
  5. Haz clic en Agregar.
  6. Opcional: Para agregar varios servidores syslog para los registros de eventos, acceso de administrador o acceso de usuario, 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 Events, User access o Admin access y, luego, selecciona Filters.
  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 System > Log/monitoring y, luego, selecciona la pestaña Settings.

  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/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 Instalación, selecciona un nivel de instalación del servidor 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, elige el certificado de cliente instalado que se usará para autenticar el servidor de syslog. Los certificados de cliente se definen en la ventana Certificados de autenticación de cliente de Configuración > Certificados >. Los certificados de cliente deben instalarse en el dispositivo antes de poder usarlos. Comunícate con la autoridad certificadora para obtener el certificado.

    4. En la lista Filtro, selecciona Personalizado.

  8. Haz clic en Agregar.

Configura el reenvío de Google Security Operations para transferir registros de Pulse Secure

  1. Selecciona SIEM Settings > Forwarders.
  2. Haz clic en Agregar un nuevo reenvío.
  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 reenvío 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 en el que 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íadores de Google Security Operations, consulta Administra la configuración de los reenvíadores a través de la IU de Google Security Operations.

Si tienes problemas para crear reenvíos, 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 VPN de Pulse Secure y controla los formatos de registros de eventos de Windows y syslog. Normaliza diversas estructuras de registros en un formato común, categoriza eventos como accesos, cierres de sesión, conexiones y cambios en las políticas, y los enriquece con datos contextuales como usuarios-agente, direcciones IP y marcas de tiempo.

Tabla de asignación de UDM

Campo de registro Asignación de UDM Lógica
acción security_result.action_details Se asigna directamente desde el campo action.
aplicación principal.application Se asigna 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 asigna directamente desde el campo client_host.
cmd principal.process.command_line Se asigna directamente desde el campo cmd.
connection_status security_result.detection_fields.value.string_value Se asigna directamente desde el campo connection_status.
data_time metadata.event_timestamp.seconds Se analizó a partir del campo data_time con varios formatos de marca de tiempo (MM-dd-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 asigna directamente desde el campo devname.
dstip target.ip, target.asset.ip Se asigna directamente desde el campo dstip.
dstport target.port Se asigna directamente desde el campo dstport y se convierte en un 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 un 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 respectivos. De lo contrario, se asigna a los campos de nombre de host respectivos.
event_type metadata.product_event_type Se asigna directamente desde el campo event_type.
failure_reason security_result.description Se asigna directamente desde el campo failure_reason. Si el mensaje contiene "porque el host", el texto "host" se antepone al motivo del error.
has_principal event.idm.read_only_udm.principal (presencia) Se establece como "true" si se completó algún campo principal; de lo contrario, se establece como "false". Se deriva de la lógica del analizador.
has_target event.idm.read_only_udm.target (presencia) Se establece como "true" si se completó algún campo de destino; de lo contrario, se establece como "false". 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 target.user.userid está completado y en "false" en caso contrario. Se deriva de la lógica del analizador.
host_ip principal.ip, principal.asset.ip Se asigna 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 asigna directamente desde el campo http_method.
http_response network.http.response_code Se asigna directamente desde el campo http_response y se convierte en un número entero.
info_desc about.labels.value Se asigna directamente desde el campo info_desc.
ip_new target.ip, target.asset.ip Se asigna directamente desde el campo ip_new.
level security_result.severity, security_result.severity_details La security_result.severity se deriva del campo level (“error”/“advertencia” -> ALTA, “aviso” -> MEDIA, “información”/“info” -> BAJA). El valor sin procesar de level también se asigna a security_result.severity_details.
logid metadata.product_log_id Se asigna directamente desde el campo logid.
locip principal.ip, principal.asset.ip Se asigna directamente desde el campo locip.
mensaje metadata.description Se usa para extraer varios campos con los filtros grok y kv. Si el mensaje contiene "EventID", se procesa 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, se extrae el tipo de producto y se asigna a metadata.product_event_type, y el resto del mensaje se asigna a metadata.description.
msg_hostname principal.hostname, principal.asset.hostname Se asigna directamente desde el campo msg_hostname.
msg_ip principal.ip, principal.asset.ip Se asigna 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 un número entero.
policyid security_result.rule_id Se asigna directamente desde el campo policyid.
policyname security_result.rule_name Se asigna directamente desde el campo policyname.
policytype security_result.rule_type Se asigna 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 "Gravedad" (consulta la lógica).
prod_name metadata.product_name Se asigna directamente desde el campo prod_name.
product_type metadata.product_event_type Se asigna directamente desde el campo product_type.
product_version metadata.product_version Se asigna 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 de IP a través de una búsqueda.
pwd principal.process.file.full_path Se asigna directamente desde el campo pwd.
dominio principal.group.attribute.labels.value Se asigna 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 asigna directamente desde el campo remip.
resource_name target.resource.name Se asigna directamente desde el campo resource_name después de quitar los espacios en blanco y los guiones iniciales o finales.
resource_status security_result.description Se asigna directamente desde el campo resource_status.
resource_user_group principal.user.group_identifiers Se asigna directamente desde el campo resource_user_group.
resource_user_name principal.user.userid Se asigna directamente desde el campo resource_user_name.
roles principal.user.group_identifiers Se asigna 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 asigna directamente desde el campo session_id.
sessionid network.session_id Se asigna directamente desde el campo sessionid.
srcip principal.ip, principal.asset.ip Se asigna directamente desde el campo srcip.
srcport principal.port Se asigna directamente desde el campo srcport y se convierte en un 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 asigna directamente desde el campo target_file.
target_host target.hostname, target.asset.hostname Se asigna directamente desde el campo target_host.
target_ip target.ip, target.asset.ip Se asigna directamente desde el campo target_ip.
target_port target.port Se asigna directamente desde el campo target_port y se convierte en un número entero.
target_url target.url Se asigna directamente desde el campo target_url.
hora metadata.event_timestamp.seconds Se analiza a partir del 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 asigna directamente desde el campo u_observer_ip.
u_prin_ip principal.ip, principal.asset.ip Se asigna directamente desde el campo u_prin_ip.
usuario target.user.userid Se asigna 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 En la mayoría de los casos, se asigna a target.user.group_identifiers. 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 asigna 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 En la mayoría de los casos, se asigna a principal.user.userid. 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 asigna directamente desde el campo username_removed.
vd principal.administrative_domain Se asigna directamente desde el campo vd.

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 se derivan o establecen según la lógica del analizador en función de las condiciones que se describen en la columna Logic.

¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.