Recopila registros de NetScaler

Se admite en los siguientes países:

En este documento, se describe cómo puedes recopilar los registros de NetScaler con un reenviador de Operaciones de seguridad de Google.

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

Configura NetScaler VPX

Para configurar el VPX de NetScaler de modo que envíe registros al reenviador de Google Security Operations, haz lo siguiente:

Verifica la configuración del nombre de host

  1. Accede a la interfaz web de NetScaler con las credenciales de administrador.
  2. Selecciona Configuración > Configuración.
  3. Haz clic en Nombre de host, dirección IP de DNS y zona horaria.
  4. Si el campo Nombre de host está vacío, ingresa el nombre de host. No incluyas espacios. Si este campo ya está configurado, no es necesario que realices ninguna acción.
  5. En el campo DNS IP address, verifica si se especifica la dirección IP de DNS local.
  6. En el campo Zona horaria, ingresa tu zona horaria.

Crea un servidor de auditoría

  1. En la interfaz web de NetScaler, selecciona Configuration > System > Auditing > Syslog > Servers.
  2. Especifica los detalles del syslog en los siguientes campos:
    • Nombre
    • Tipo de servidor
    • Dirección IP
    • Puerto
  3. Selecciona Niveles de registro como Personalizado.
  4. Selecciona todas las casillas de verificación, excepto el nivel DEBUG en la configuración.
  5. En la lista Log facility, selecciona LOCAL0.
  6. En la lista Date format, selecciona MMDDYYYY.
  7. Selecciona Zona horaria como GMT.
  8. Desmarca las siguientes casillas de verificación:
    • Registro de TCP
    • Registro de LCA
    • Mensajes de registro configurables por el usuario
    • Registros de AppFlow
    • Registro de NAT a gran escala
    • Registro de mensajes de ALG
    • Registro de suscriptores
    • DNS
    • Interceptación de SSL
    • Filtrado de URLs
    • Registro de inspección de contenido
  9. Haz clic en Aceptar para crear el servidor de auditoría.

Vincula la política de auditoría creada al servidor

  1. En la interfaz web de NetScaler, selecciona Configuration > System > Auditing > Syslog.
  2. Haz clic en la pestaña Políticas.
  3. En el campo Nombre, ingresa un nombre para la política.
  4. En la lista Servidor, selecciona la política de la sección anterior.
  5. Haz clic en Crear.
  6. Haz clic con el botón derecho en la política de auditoría creada y selecciona Acción > Vinculaciones globales.
  7. Haz clic en Agregar vinculación.
  8. En la ventana Vinculación de políticas, haz lo siguiente:
    1. En el campo Seleccionar política, ingresa la política de auditoría creada.
    2. En el panel Binding details, en el campo Priority, ingresa 120, ya que es la prioridad predeterminada.
    3. Haz clic en Bind.

Configura NetScaler SDX

Para configurar el SDX de NetScaler para que envíe registros al reenviador de Google Security Operations, haz lo siguiente:

Verifica la configuración del nombre de host para NetScaler SDX

  1. Accede a la interfaz web de NetScaler con las credenciales de administrador.
  2. En la interfaz web de NetScaler, selecciona System > System settings.
  3. Si el campo Nombre de host está vacío, ingresa el nombre de host. No incluyas espacios. Si este campo ya está configurado, no es necesario que realices ninguna acción.
  4. En el campo Zona horaria, selecciona UTC o GMT.

Configura el servidor syslog

  1. En la interfaz web de NetScaler, selecciona Sistema > Notificaciones > Servidores de Syslog.
  2. En el panel Detalles, haz clic en Agregar.
  3. En la ventana Create syslog server, especifica los valores de los siguientes parámetros del servidor de syslog:
    1. En el campo Nombre, ingresa un nombre.
    2. En el campo Dirección IP, ingresa la dirección IP del reenviador de Operaciones de seguridad de Google.
    3. En el campo Puerto, ingresa el número de puerto.
    4. Selecciona Niveles de registro como Personalizado.
    5. Selecciona todos los niveles de registro, excepto Debug.
  4. Haz clic en Crear.

Configura los parámetros de syslog

  1. En la interfaz web de NetScaler, selecciona Sistema > Notificaciones > Servidores de Syslog.
  2. En el panel Detalles, haz clic en Parámetros de Syslog.
  3. En la página Configure syslog parameters, selecciona Date format como MMDDYYYY y Time zone como GMT.
  4. Haz clic en Aceptar.

Configura el reenviador de Google Security Operations para transferir registros de NetScaler

  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 Citrix NetScaler como el Tipo de registro.
  7. En el campo Tipo de recopilador, selecciona Syslog.
  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 procesa los registros SYSLOG de Citrix Netscaler en formato clave-valor, extrae datos con formato JSON del campo message y enriquece la UDM con información de otros campos, como host.hostname y user_agent.original, después de limpiarlos. Controla los casos en los que el mensaje principal está vacío recurriendo al mensaje de registro original.

Tabla de asignación de la UDM

Campo de registro Asignación de UDM Lógica
ID de transacción de AAA security_result.detection_fields[].value Es el valor extraído del campo "AAA trans id".
Acceso security_result.action_details Si “Acceso” está configurado como “Permitido”, establece security_result.action en PERMITIR. Si “Acceso” es “Denegado”, establece security_result.action en BLOQUEAR.
applicationName principal.application Es el valor extraído del campo "applicationName".
Browser_type network.http.user_agent Es el valor extraído del campo "Browser_type".
ClientIP principal.ip, principal.asset.ip Es el valor extraído del campo "ClientIP".
ClientPort principal.port Es el valor extraído del campo "ClientPort".
client_cookie additional.fields[].value.string_value Es el valor extraído del campo "client_cookie".
Comando target.process.command_line Es el valor extraído del campo "Command".
connectionId security_result.detection_fields[].value Es el valor extraído del campo "connectionId".
Destino target.ip, target.asset.ip Es el valor extraído del campo "Destino".
Destino target.ip, target.asset.ip Es el valor extraído del campo "Destino".
device_serial_number target.asset_id target.asset_id se establece en "device_serial_number:".
Duración network.session_duration.seconds La duración se convierte en segundos y se asigna.
Hora de finalización security_result.detection_fields[].value Es el valor extraído del campo "Hora de finalización".
Failure_reason metadata.description Es el valor extraído del campo "Failure_reason".
flags additional.fields[].value.string_value Es el valor extraído del campo "flags".
Grupos target.group.group_display_name Es el valor extraído del campo "Grupos".
Motivo metadata.description Es el valor extraído del campo "Motivo".
Remote_ip target.ip, target.asset.ip Es el valor extraído del campo "Remote_ip".
ServerIP target.ip, target.asset.ip Es el valor extraído del campo "ServerIP".
ServerPort target.port Es el valor extraído del campo "ServerPort".
session_guid metadata.product_log_id Es el valor extraído del campo "session_guid".
ID sesión network.session_id Es el valor extraído del campo "SessionId".
Fuente principal.ip, principal.asset.ip Es el valor extraído del campo "Fuente".
Hora de inicio security_result.detection_fields[].value Es el valor extraído del campo "Hora de inicio".
startTime security_result.detection_fields[].value Es el valor extraído del campo "startTime".
Estado security_result.description Es el valor extraído del campo "Estado".
Total_bytes_recv network.received_bytes Es el valor extraído del campo "Total_bytes_recv".
Total_bytes_send network.sent_bytes Es el valor extraído del campo "Total_bytes_send".
Total_bytes_wire_recv security_result.detection_fields[].value Es el valor extraído del campo "Total_bytes_wire_recv".
Total_bytes_wire_send security_result.detection_fields[].value Es el valor extraído del campo "Total_bytes_wire_send".
Usuario principal.user.userid Es el valor extraído del campo "Usuario".
VserverServiceIP target.ip, target.asset.ip Es el valor extraído del campo "VserverServiceIP".
VserverServicePort target.port Es el valor extraído del campo "VserverServicePort". Está codificado de forma fija en "CITRIX". Está codificado de forma fija en "NETSCALER". Se codifica de forma fija en "CITRIX_NETSCALER". El analizador lo determina en función del producto_event_type. Ejemplos: NETWORK_CONNECTION, USER_LOGIN, USER_LOGOUT, USER_STATS, STATUS_UPDATE, USER_UNCATEGORIZED, GENERIC_EVENT. Es el valor extraído del prefijo de registro (p.ej., CONN_DELINK, CONN_TERMINATE, OTHERCONN_DELINK, etcétera). Es una descripción breve del evento, que a veces se deriva de otros campos, como "Reason" o "Failure_reason". Se calcula a partir de los campos de fecha y hora de la entrada de registro. El analizador controla varios formatos y zonas horarias. Se extrae del campo "nombredeusuario:nombrededominio" y se toma la parte que está después del dos puntos. Se codifica en TCP para eventos con "TCP" en metadata.product_event_type. Establece ALLOW para los accesos y comandos correctos, y BLOCK para los accesos fallidos y el acceso bloqueado a los recursos. Se derivan de campos como "Estado", "Motivo_error" y "Acceso". Se establece en USERNAME_PASSWORD cuando se usan el nombre de usuario y la contraseña para la autenticación (se infiere de ciertos mensajes de registro). Se establece en VPN para los eventos de acceso o salida relacionados con la VPN. Se analiza desde el campo network.http.user_agent con una biblioteca de análisis de usuario-agente.

Cambios

2024-05-21

  • Se modificó un patrón de Grok para analizar los registros descartados.

2024-05-20

  • Se agregó un nuevo patrón de Grok para analizar registros sin analizar.

2024-05-08

  • Se actualizó la asignación de la información de duración de "security_results" a "network.session_duration" .

2024-04-29

  • Se agregó la verificación condicional de "Browser_type" y se asignó a "network.http.parsed_user_agent".
  • Se agregó una verificación condicional para "userId" y "user_email".
  • Se asignó "Navegador" a "network.http.parsed_user_agent".

2024-02-23

  • Se actualizó el patrón Grok para analizar el nombre de host como se espera en el campo de la UDM.

2024-01-25

  • Se agregaron patrones de Grok para analizar registros en los que "message_type" es "Message", "NONHTTP_RESOURCEACCESS_DENIED", "UDPFLOWSTAT" y "EXTRACTED_GROUPS".
  • Se agregó compatibilidad para analizar registros en los que "feature" es "GUI" y "EVENT".
  • Se asignó "principal_port" a "principal.port".
  • Se asignó "ClientIP" a "principal.asset.ip".
  • Se asignó "principal_ip" a "principal.ip" y "principal.asset.ip".
  • Se asignó "target_ip" a "target.ip" y "target.asset.ip".
  • Se asignó "target_port" a "target.port".
  • Se asignó "description" a "metadata.description".
  • Se asignaron "type", "aaa_trans_id", "pcb_trans_id", "pcb_state", "pcb_label", "trans_id", "authPolicyLen", "login_attempts", "PromptLen", "partitionLen", "cmdPolicyLen" y "ssh_pubkey_len" a "security_result.detection_fields".
  • Se asignó "principal_hostname" a "principal.hostname" y "principal.asset.hostname".
  • Se asignó "hostname" a "intermediary.asset.hostname".
  • Se asignó "hostname" a "observer.asset.hostname".
  • Se asignaron "cip", "ServerIP", "VIP", "VserverServiceIP" y "Remote_ip" a "target.asset.ip".
  • Cuando "message_type" es "Message", se asigna "User" a "principal.user.userid".
  • Cuando "principal_ip" y "target_ip" estén presentes, establece "metadata.event_type" en "NETWORK_CONNECTION".
  • Cuando "Client_ip" y "target_ip" estén presentes, establece "metadata.event_type" en "NETWORK_CONNECTION".
  • Cuando "message_type" sea "NONHTTP_RESOURCEACCESS_DENIED" y "UDPFLOWSTAT", establece "metadata.event_type" en "USER_STATS".
  • Cuando "message_type" sea "Message" y "User" esté presente, establece "metadata.event_type" en "USER_UNCATEGORIZED".
  • Cuando "principal_ip" esté presente, establece "metadata.event_type" en "STATUS_UPDATE".

2023-11-26

  • Enhancement-
  • Se agregaron patrones de Grok para analizar registros en los que "message_type" es "Message".

2023-07-21

  • Mejora: Se actualizó el analizador para analizar correctamente los registros que contienen la función "CLI".

2022-09-26

  • Mejora: Se migraron los analizadores personalizados al analizador predeterminado.

2022-06-09

  • Mejora: Se agregaron las asignaciones solicitadas:
  • Se asignaron "startTime", "endTime" y "Duration" a "security_result.detection_fields".
  • Se actualizó el analizador para analizar los registros que contienen message_type: "CHANNEL_UPDATE", "NETWORK_UPDATE", "AAATM Message".

2022-05-09

  • Se corrigió un error: Se actualizó el analizador para que analice correctamente los registros que contienen message_type: "TCPCONNSTAT".
  • Se actualizó la función grok para incluir el nombre de dominio completo en "principal.administrative_domain".
  • Se analizaron los registros que fallaron durante las pruebas de la API de Validation.

2022-04-27

  • Mejora: Se agregaron las asignaciones solicitadas
  • Campo intermediary.hostname asignado
  • Registros de API analizados con errores