ADC

Cómo registrar un seguimiento de paquetes en NetScaler

Este artículo de solución de problemas explica cómo un administrador puede registrar un seguimiento de paquetes de red mediante la GUI de NetScaler.

Puntos que tener en cuenta

  • Citrix recomienda utilizar la versión reciente de Wireshark de la “sección de compilación automatizada” disponible en la siguiente página web: http://www.wireshark.org/download/automated.

  • En NetScaler versión 11.1 o posterior, para descifrar la captura y garantizar que los parámetros ECC (criptografía de curva elíptica), reutilización de sesiones y DH estén inhabilitados en el servidor virtual. Debe hacerlo antes de capturar un rastro.

Registrar el seguimiento de paquetes en NetScaler versión 11.1

  1. Vaya a la página Sistema > Diagnóstico.
  2. haga clic en el enlace Iniciar nuevo seguimiento en la página Diagnóstico, como se muestra en la siguiente captura de pantalla.

    Acceso a la página Diagnóstico

  3. Actualice el tamaño del paquete a 0 en el campo Tamaño del paquete.

    Tamaño del paquete

  4. Haga clic en Iniciar para comenzar a registrar el seguimiento de paquetes de red.
  5. Haga clic en Detener y descargar para detener el registro del seguimiento de paquetes de red una vez finalizada la prueba.

    Detener y descargar seguimiento

  6. Seleccione el archivo deseado y haga clic en Seleccionar y, a continuación, en Descargar.

    Descargar el seguimiento de paquetes

  7. Abra el archivo de seguimiento de paquetes de red con la utilidad Wireshark para mostrar el contenido del archivo.

    Nota: Seleccione Paquetes SSL descifrados (SSLPLAIN) para descifrar el seguimiento del paquete sin la clave privada.

    Paquetes SSL descifrados

Capturar claves maestras SSL

En las versiones 11.0, 11.1 y superiores, hay una opción para capturar las claves de sesión que es válida solo para esa sesión/nstrace en particular y esta opción se puede usar si no desea compartir la clave privada o usar el modo SSLPLAIN. Para obtener más información, consulte https://support.citrix.com/article/CTX135889.

Exportar claves de sesión sin compartir clave privada

En la mayoría de los casos, la clave privada no está disponible ni se comparte. En estos casos, podemos sugerir exportar las claves de sesión SSL en lugar de la clave privada. Consulte [Cómo exportar y utilizar claves de sesión SSL para descifrar rastros SSL sin compartir la clave privada SSL, consulte https://support.citrix.com/article/CTX135889.

Filtros

Además, siempre se recomienda agregar filtros basados en IP mientras se toman rastros. El proceso garantiza que solo capture el tráfico interesado, lo que facilita la solución de problemas. La adición de filtros también reduce la carga en el dispositivo mientras se realizan los seguimientos.

Sección de filtros

Los filtros simples basados en IP son suficientes para obtener las capturas correctas. Para obtener más información sobre nstrace los filtros y ejemplos, consulte la página de documentación de NetScaler.

Caso de uso para capturar un seguimiento de paquetes con filtro IP del servidor virtual (tanto front-end como back-end)

Mediante un filtro de la dirección IP del servidor virtual y la habilitación de la opción “—link” en la CLI o la selección de la opción “Rastrear tráfico de pares de conexión filtrada” en la GUI (disponible 10.1 y superior), puede capturar tanto el tráfico de front-end como el de back-end para la dirección IP.

start nstrace -size 0 -filter "CONNECTION.IP.EQ(1.1.1.1)" -link ENABLED

show nstrace
        State:  RUNNING          Scope:  LOCAL            TraceLocation:  "/var/nstrace/24Mar2017_16_00_19/..." Nf:  24                  Time:  3600              Size:  0                 Mode:  TXB NEW_RX
        Traceformat:  NSCAP      PerNIC:  DISABLED        FileName:  24Mar2017_16_00_19 Filter:  "CONNECTION.IP.EQ(1.1.1.1)" Link:  ENABLED           Merge:  ONSTOP           Doruntimecleanup:  ENABLED
        TraceBuffers:  5000      SkipRPC:  DISABLED       Capsslkeys:  DISABLED    InMemoryTrace:  DISABLED
<!--NeedCopy-->

Merge

Captura de rastros cíclicos

Siempre es un desafío solucionar un problema intermitente. El seguimiento cíclico es el más adecuado para los problemas que son intermitentes. Los rastros se pueden ejecutar en un lapso de pocas horas o días antes de que se produzca el problema. Además, puede usar un filtro específico y evaluar el tamaño de los archivos de seguimiento que se generan antes de ejecutarlo durante más tiempo.

Ejecute el siguiente comando desde la CLI:

start nstrace -nf 60 -time 30 -size 0
This particular trace will create 60 files each of them for 30 sec. This means the files will start getting overwritten after 60 trace files or 30 mins
Show nstrace à To check the status of the nstrace
Stop nstrace à To stop the nstrace.

<!--NeedCopy-->

Prácticas recomendadas

En una unidad que maneja GB de tráfico por segundo, la captura de tráfico es un proceso que requiere muchos recursos. El impacto en los recursos se debe principalmente a la CPU y al espacio en disco. El impacto del espacio en disco se puede reducir mediante el uso de expresiones de filtrado. Sin embargo, el impacto en la CPU se mantiene y, a veces, provoca un ligero aumento, ya que el dispositivo ahora necesita procesar los paquetes de acuerdo con el filtro antes de capturarlos.

La práctica recomendada para el rastreo es:

  1. La duración durante la cual se ejecuta el seguimiento debe ser lo más limitada posible cuando se asegure de que se capturan los paquetes de interés.
  2. Programe la actividad de rastreo para que se produzca en un momento en el que el número de usuarios (y, por lo tanto, el tráfico) se reduzca considerablemente, por ejemplo, fuera del horario laboral.

Más recursos

Inhabilitar la reutilización de sesiones en el servidor virtual desde la interfaz

La reutilización de sesiones se inhabilita cuando se captura un seguimiento para completar un protocolo de enlace SSL en el seguimiento. Cuando está habilitada, puede capturar un apretón de manos parcial en el seguimiento. Asegúrese de habilitar la opción después de la recopilación de trazas. No inhabilites la reutilización de una sesión SSL cuando el método de persistencia es sslsession, ya que interrumpe la persistencia de las conexiones existentes. Para obtener más información, consulte https://support.citrix.com/article/CTX121925.

  1. Abra el servidor virtual y vaya a Parámetros de SSL.
  2. Desactive Activar reutilización de sesiones si está habilitada

    Activar reutilización de sesiones

Inhabilitar la reutilización de sesiones en el servidor virtual desde la CL

  1. SSH a la consola del dispositivo.
  2. Ejecute el siguiente comando para inhabilitar DH Param del servidor virtual:

    set ssl vserver "vServer_Name" -sessReuse DISABLED

Inhabilitar el parámetro DH en el servidor virtual desde la GUI

Consulte https://support.citrix.com/article/CTX213335 para comprender el parámetro DH.

  1. Abra el servidor virtual y vaya a Parámetros de SSL.
  2. Desactive DH Param si está habilitado.

    Parámetros SSL

Inhabilitar el parámetro DH en el servidor virtual desde la CLI

  1. SSH a la consola del dispositivo.
  2. Ejecute el siguiente comando para inhabilitar DH Param del servidor virtual:

    set ssl vserver "vServer_Name" -dh DISABLED

Inhabilitar la curva ECC en el servidor virtual desde la GUI

La curva ECC está inhabilitada para descifrar el seguimiento SSL capturado con clave privada. No debe inhabilitar las claves si se utilizan los cifrados SSL relacionados. Para obtener más información sobre la curva ECC, consulte https://support.citrix.com/article/CTX205289

  1. Abra el servidor virtual y vaya a ECC Curve.

    Curva ECC

  2. Si no hay ninguna curva de ECC enlazada al servidor virtual, no se requiere ninguna otra acción.

    Sin curva CC

  3. Si alguna curva ECC está enlazada al servidor virtual, haga clic en la curva ECC y desvincúlela del servidor virtual.

Inhabilitar la curva ECC en el servidor virtual desde la CLI

  1. SSH a la consola del dispositivo.
  2. Ejecute el siguiente comando para cada curva de ECC enlazada al servidor virtual:

    unbind ssl vserver "vServer_Name" -eccCurveName "ECC_Curve_Name"

Cómo registrar un seguimiento de paquetes en NetScaler