Recopila registros de NetScaler
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.
- Crea un servidor de auditoría.
- Vincula la política de auditoría creada al servidor.
Verifica la configuración del nombre de host
- Accede a la interfaz web de NetScaler con las credenciales de administrador.
- Selecciona Configuración > Configuración.
- Haz clic en Nombre de host, dirección IP de DNS y zona horaria.
- 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.
- En el campo DNS IP address, verifica si se especifica la dirección IP de DNS local.
- En el campo Zona horaria, ingresa tu zona horaria.
Crea un servidor de auditoría
- En la interfaz web de NetScaler, selecciona Configuration > System > Auditing > Syslog > Servers.
- Especifica los detalles del syslog en los siguientes campos:
- Nombre
- Tipo de servidor
- Dirección IP
- Puerto
- Selecciona Niveles de registro como Personalizado.
- Selecciona todas las casillas de verificación, excepto el nivel DEBUG en la configuración.
- En la lista Log facility, selecciona LOCAL0.
- En la lista Date format, selecciona MMDDYYYY.
- Selecciona Zona horaria como GMT.
- 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
- Haz clic en Aceptar para crear el servidor de auditoría.
Vincula la política de auditoría creada al servidor
- En la interfaz web de NetScaler, selecciona Configuration > System > Auditing > Syslog.
- Haz clic en la pestaña Políticas.
- En el campo Nombre, ingresa un nombre para la política.
- En la lista Servidor, selecciona la política de la sección anterior.
- Haz clic en Crear.
- Haz clic con el botón derecho en la política de auditoría creada y selecciona Acción > Vinculaciones globales.
- Haz clic en Agregar vinculación.
- En la ventana Vinculación de políticas, haz lo siguiente:
- En el campo Seleccionar política, ingresa la política de auditoría creada.
- En el panel Binding details, en el campo Priority, ingresa 120, ya que es la prioridad predeterminada.
- 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.
- Configura el servidor syslog.
- Configura los parámetros de syslog.
Verifica la configuración del nombre de host para NetScaler SDX
- Accede a la interfaz web de NetScaler con las credenciales de administrador.
- En la interfaz web de NetScaler, selecciona System > System settings.
- 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.
- En el campo Zona horaria, selecciona UTC o GMT.
Configura el servidor syslog
- En la interfaz web de NetScaler, selecciona Sistema > Notificaciones > Servidores de Syslog.
- En el panel Detalles, haz clic en Agregar.
- En la ventana Create syslog server, especifica los valores de los siguientes parámetros del servidor de syslog:
- En el campo Nombre, ingresa un nombre.
- En el campo Dirección IP, ingresa la dirección IP del reenviador de Operaciones de seguridad de Google.
- En el campo Puerto, ingresa el número de puerto.
- Selecciona Niveles de registro como Personalizado.
- Selecciona todos los niveles de registro, excepto Debug.
- Haz clic en Crear.
Configura los parámetros de syslog
- En la interfaz web de NetScaler, selecciona Sistema > Notificaciones > Servidores de Syslog.
- En el panel Detalles, haz clic en Parámetros de Syslog.
- En la página Configure syslog parameters, selecciona Date format como MMDDYYYY y Time zone como GMT.
- Haz clic en Aceptar.
Configura el reenviador de Google Security Operations para transferir registros de NetScaler
- Selecciona Configuración de SIEM > Redireccionamientos.
- Haz clic en Agregar nuevo remitente.
- En el campo Nombre del reenviador, ingresa un nombre único para el reenviador.
- Haz clic en Enviar y, luego, en Confirmar. Se agregará el reenviador y aparecerá la ventana Add collector configuration.
- En el campo Nombre del recopilador, escribe un nombre único para el recopilador.
- Selecciona Citrix NetScaler 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 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