Prácticas recomendadas de SSL / TLS para Citrix Networking

Información general

Este documento técnico proporciona los pasos necesarios para validar la configuración SSL\ TLS existente de un servidor virtual que se ejecuta en un Citrix ADC y formas de garantizar que se aplican las prácticas recomendadas. Cubrimos elementos de configuración como la cadena de certificados vinculada al servidor virtual, la configuración del conjunto de cifrado y la inhabilitación de protocolos más antiguos que son vulnerables a ataques.

Existen muchas herramientas que se pueden utilizar para validar la configuración de un sitio público protegido por Citrix ADC; una de estas herramientas es la Prueba de servidor SSL por Qualys SSL Labs. Realiza una sólida serie de pruebas contra su servidor y proporciona una tarjeta de puntuación fácil de leer que puede usar para realizar mejoras en su configuración. El escaneo es gratuito y solo tarda aproximadamente un minuto en completarse.

Qualys desarrolla activamente la prueba SSL y, como tal, es probable que las pruebas cambien en el futuro a medida que se crean nuevos protocolos y se encuentran nuevas vulnerabilidades. Debido a esta vulnerabilidad, es recomendable probar sitios regularmente para asegurarse de que las nuevas vulnerabilidades no estén expuestas.

Nota: SSLLabs publica la URL del servidor que se está probando junto con la puntuación final en su panel público, a menos que se elija la opción No mostrar los resultados en los tableros.

Elementos de configuración que deben validarse

  • Certificados: ¿Se proporciona y se confía la cadena completa? ¿Es seguro el algoritmo de firma?
  • Compatibilidad con protocolos, claves y cifrado: ¿Qué versiones de protocolo SSL y TLS son compatibles? ¿Qué conjuntos de cifrado se prefieren y en qué orden? ¿Los conjuntos de cifrado proporcionados admiten el secreto directo?
  • TLS Handshake Simulation - Determina qué protocolo y cifrado son negociados por varios clientes y exploradores diferentes
  • Detalles del protocolo: ¿Se admite la renegociación segura? ¿Se admite la seguridad de transporte estricta (HSTS)?
  • Vulnerabilidades conocidas: ¿Es el servidor vulnerable a ataques como POODLE, BEAST o TLS downgrade?

Una vez completada la prueba SSLLabs, se presenta un grado de letra junto con una escala de puntos para cada una de las 4 categorías:

1 Certificado 2 Soporte de protocolo 3 Intercambio de claves 4 Fuerza de cifrado

Cada una de las categorías anteriores recibe una puntuación numérica que luego se promedia en una puntuación total. También hay casos especiales o configuraciones que limitan la calificación final o quitan puntos, como cuando un certificado no es de confianza o si SSLv3 está habilitado. La documentación completa sobre cómo se califican las pruebas de SSL Labs puede se encuentran aquí.

Compatibilidad con cifrado de la aplicación Citrix Receiver\ Workspace para implementaciones de Gateway

*Importante: Revise los siguientes artículos acerca de la compatibilidad con cifrado de cliente al implementar un servidor virtual de puerta de enlace para aplicaciones y escritorios virtuales: CTX234227 para Citrix Receiver y CTX250104 para la aplicación Workspace*

Preocupaciones relativas a la aplicación

Algunos de los pasos de configuración indicados en este artículo pueden causar problemas de conectividad con clientes y exploradores antiguos. Por ejemplo, Windows XP SP2 no admite certificados SHA256; los exploradores web antiguos no admiten cifrados TLS1.2 o ECC. En los casos en que falta soporte técnico, el cliente puede experimentar mensajes de error o una imposibilidad de mostrar el sitio.

Nota: Consulte la sección Notas de firmware para las compilaciones necesarias y otras notas relativas al firmware ADC específico.

Pasos básicos: GUI

Los siguientes son los pasos generales que se toman primero para garantizar una puntuación alta en la prueba de SSL Labs.

  • Asegúrese de que el ADC está ejecutando una versión de firmware reciente; se recomienda la compilación 10.5 67 o posterior

    • Inhabilite SSLv3 en todos los servidores virtuales (o perfiles SSL si utiliza SSL Default Profile) en la sección Parámetros SSL de la configuración del servidor virtual

SSLv3-Disabled

  • Asegúrese de que la cadena de certificados esté completa y de confianza
    • Los certificados no siempre están firmados por una entidad emisora de certificados en la que cada extremo confía inherentemente. A menudo son firmados por una CA intermedia
    • El certificado intermedio se instala en el ADC y luego se vincula al certificado de servidor enlazado al servidor virtual
    • Los certificados intermedios los proporciona el proveedor que proporcionó el certificado del servidor, a menudo en un “paquete de certificados”. Por lo general, también se pueden encontrar en el sitio público de los proveedores
    • Puede haber varios certificados intermedios que deben instalarse y vincularse. Para que el certificado de servidor funcione, el cliente debe recibir una cadena de certificados que termina con un certificado de CA en el que el cliente ya confía
    • Es probable que todos los clientes confíen en el certificado de CA raíz utilizado para firmar el certificado intermedio
    • Para instalar el certificado intermedio, vaya a: Administración de tráfico > SSL > Certificados > Certificados de CA y elija Instalar (Nota: Las versiones anteriores de Citrix ADC no tienen la opción ‘Certificados de CA’ en la GUI)
    • Una vez instalado el certificado intermedio, se puede vincular al certificado del servidor; para ello, seleccione el certificado y, luego, el enlace en el menú de acciones.
    • Si el certificado intermedio correcto está instalado, se rellena automáticamente en el menú de vinculación.

Instalación del certificado CA

Vínculo de certificado

Vinculado a certificados

  • Asegúrese de que TLSv1.2 está habilitado en todos los servidores virtuales (o perfiles SSL si se utiliza el perfil predeterminado SSL) en la sección Parámetros SSL de la configuración del servidor virtual

TLSv12-Enabled

  • Permitir renegociación segura
    • Vaya a Administración de tráfico > SSL y seleccione Cambiar configuración avanzada de SSL
    • Establezca Denegar la renegociación SSL en NONSECURE para permitir que solo los clientes que admiten RFC 5746 para la renegociación

Renegociar de forma segura

  • Crear una clave DH para ser utilizada por los conjuntos de cifrado DHE
    • Nota: Crear y enlazar una clave DH es opcional, más lenta y solo útil para clientes antiguos que carecen de soporte ECDHE. Si una clave DH no está enlazada, se ignoran los conjuntos de cifrado DHE.
    • Vaya a Administración de tráfico > SSL y seleccione Crear clave Diffie-Hellman (DH)
    • En el campo Nombre de archivo DH, introduzca un nombre de archivo para el archivo clave (Nota: La ruta predeterminada del dispositivo es /nsconfig/ssl/)
    • Introduzca el tamaño de clave DH deseado en Tamaño de parámetro DH: 1024 o 2048 (Nota: Las teclas DH de 4096 bits no son compatibles actualmente)
    • Nota: Se espera que el tamaño de la clave DH sea del mismo tamaño que la clave RSA y suele ser de 2048 bits
    • Elija el generador de números aleatorios 2 o 5
    • Haga clic en Crear - la generación de claves puede tardar algún tiempo

Generar DH-D

  • Enlazar la clave DH al servidor virtual
    • En el servidor virtual seleccionado, abra la sección Parámetros SSL y haga clic en el botón de edición (lápiz en la esquina superior derecha)
    • Marque la casilla Habilitar DH Param
    • Establecer la ruta de acceso del archivo en el archivo de clave creado anteriormente

Enlace DH-D

  • Crear un grupo de cifrado personalizado que proporcione Secreto directo (FS)
    • Vaya a Administración de tráfico > SSL > Grupos de cifrado y elija Agregar
    • Introduzca un nombre para el grupo Cipher
    • Haga clic en + Agregar y luego expanda la sección + TODOS - seleccione los siguientes conjuntos de cifrado:
      • TLS1.3-CHACHA20-POLY1305-SHA256
      • TLS1.3-AES128-GCM-SHA256
      • TLS1.3-AES256-GCM-SHA384
      • TLS1.2-ECDHE-ECDSA-AES256-SHA384
      • TLS1.2-ECDHE-ECDSA-AES256-GCM-SHA384
      • TLS1.2-DHE-RSA-AES256-GCM-SHA384
      • TLS1.2-ECDHE-ECDSA-AES128-GCM-SHA256
      • TLS1.2-ECDHE-RSA-CHACHA20-POLY1305
      • TLS1.2-ECDHE-ECDSA-CHACHA20-POLY1305
      • TLS1.2-ECDHE-RSA-AES256-GCM-SHA384
    • Haga clic en la flecha derecha > para mover los cifrados de la columna Disponible a la columna Configurado
    • Haga clic en Crear

Crear-Grupo

  • Enlazar el grupo de cifrado al servidor virtual
    • En el servidor virtual seleccionado, abra la sección Ciphers SSL y haga clic en el botón de edición (lápiz en la esquina superior derecha)
    • Elimine los cifrados o grupos de cifrado existentes mediante el botón Eliminar todo o el icono - de cada elemento
    • Seleccione el botón de opción Grupos de cifrado y elija el grupo de cifrado creado previamente
    • Haga clic en Aceptar.

Grupo de complementos

Agregar grupo de cifrado

  • Habilitar seguridad estricta de transporte (HSTS) en el servidor virtual
    • En el servidor virtual seleccionado, abra la sección Parámetros SSL y haga clic en el botón de edición (lápiz en la esquina superior derecha)
    • Marque la casilla para habilitar HSTS
    • Escriba 157680000 en el campo Edad máxima
    • Nota: Este indicador está disponible en compilaciones 12.0 35 y posteriores. Para compilaciones anteriores, consulte este artículo para agregar compatibilidad con HSTS.

Habilitar HSTS

Pasos básicos: CLI

Los siguientes son los pasos generales que se toman primero para garantizar una puntuación alta en la prueba de SSL Labs. En los ejemplos de CLI siguientes, el nombre del servidor virtual SSL aparece como ex VServer; se puede reemplazar con el nombre del servidor virtual SSL en su entorno.

  • Asegúrese de que SSL3 esté inhabilitado y TLS1.2 esté habilitado en un servidor virtual denominado ex-vServer
set ssl vserver Ex-vServer -ssl3 DISABLED -tls1 ENABLED -tls11 ENABLED -tls12 ENABLED
<!--NeedCopy-->
  • Para habilitar SOLO TLS1.2 y TLS1.3 en el servidor antiguo, utilice el siguiente comando en lugar de los
set ssl vserver Ex-vServer -ssl3 DISABLED -tls1 DISABLED -tls11 DISABLED -tls12 ENABLED -tls13 ENABLED
<!--NeedCopy-->
  • Permitir renegociación segura
set ssl parameter -denySSLReneg NONSECURE
<!--NeedCopy-->
  • Crear y enlazar una clave DH a un servidor virtual denominado ex-vServer
create ssl dhparam DH_Key_Name_Here.key 2048 -gen 2

set ssl vServer Ex-vServer -dh ENABLED -dhFile DH_Key_Name_Here.key
<!--NeedCopy-->
  • Crear un grupo de cifrado personalizado que prefiera conjuntos de cifrado ECDHE y ECDSA
add ssl cipher New_APlus_CipherGroup

bind ssl cipher New_APlus_CipherGroup -cipherName TLS1.3-CHACHA20-POLY1305-SHA256

bind ssl cipher New_APlus_CipherGroup -cipherName TLS1.3-AES128-GCM-SHA256

bind ssl cipher New_APlus_CipherGroup -cipherName TLS1.3-AES256-GCM-SHA384

bind ssl cipher New_APlus_CipherGroup -cipherName TLS1.2-ECDHE-ECDSA-AES256-SHA384

bind ssl cipher New_APlus_CipherGroup -cipherName TLS1.2-ECDHE-ECDSA-AES256-GCM-SHA384

bind ssl cipher New_APlus_CipherGroup -cipherName TLS1.2-DHE-RSA-AES256-GCM-SHA384

bind ssl cipher New_APlus_CipherGroup -cipherName TLS1.2-ECDHE-ECDSA-AES128-GCM-SHA256

bind ssl cipher New_APlus_CipherGroup -cipherName TLS1.2-ECDHE-RSA-CHACHA20-POLY1305

bind ssl cipher New_APlus_CipherGroup -cipherName TLS1.2-ECDHE-ECDSA-CHACHA20-POLY1305

bind ssl cipher New_APlus_CipherGroup -cipherName TLS1.2-ECDHE-RSA-AES256-GCM-SHA384
<!--NeedCopy-->
  • Desvincular el grupo de cifrado predeterminado del servidor virtual y enlazar el grupo personalizado
unbind ssl vServer Ex-vServer -cipherName DEFAULT

bind ssl vServer Ex-vServer -cipherName New_APlus_CipherGroup

bind ssl vServer Ex-vServer -eccCurveName ALL
<!--NeedCopy-->
  • Habilitar la seguridad de transporte estricta (HSTS) en un servidor virtual denominado ex-vServer
set ssl vServer Ex-vServer -HSTS ENABLED -maxage 157680000
<!--NeedCopy-->

Más parámetros

Certificados SHA1

Los certificados firmados con SHA1 se consideran débiles y evitan un grado alto en la prueba SSLabs. Si los certificados están firmados por SHA1, se renuevan con un certificado SHA256 y se instalan en el ADC.

DNS CAA

La autorización de entidad de certificación (CAA) de DNS permite a las CA validar si están autorizadas a emitir certificados para un dominio y proporcionar un contacto si algo sale mal.

Esto se configura en servidores DNS, en lugar del dispositivo ADC.

Notas de Firmware

A medida que se descubran nuevas vulnerabilidades, serán probadas por SSLLabs, por lo que se recomienda realizar pruebas frecuentes. Algunas vulnerabilidades se solucionan mediante mejoras en el código Citrix ADC.

  • Versión mínima requerida: 10.5, compilación 67

  • La vulnerabilidad ROBOT se abordó en las versiones 12.0, compilación 53; 11.1, compilación 56; 11.0, compilación 71 y 10.5, compilación 67 - más detalles están disponibles aquí

  • El indicador HSTS (Strict Transport Security) estuvo disponible en la versión 12.0, compilación 35; las versiones anteriores requerían una directiva de reescritura para insertar el encabezado HSTS. No puede usar ambos, ya que esto hará que se inserten 2 encabezados, lo que no está permitido.

  • Se agregó soporte para TLS1.2 a los dispositivos VPX en 10.5 compilación 57. Estaba disponible en versiones anteriores para dispositivos con hardware SSL dedicado

  • El soporte para TLS1.3 se agregó en 12.1 compilación 49.23; debe habilitarse en vServer\SSLProfile y los cifrados TLS1.3 (enumerados) deben estar enlazados

  • La compatibilidad con certificados ECC se agregó a los dispositivos VPX en 12.0 compilación 57. Estaba disponible en versiones anteriores para dispositivos con hardware SSL dedicado

  • La vulnerabilidad Zombie POODLE se solucionó en las compilaciones 12.1 compilación 50.31, 12.0 compilación 60.9, 11.1 compilación 60.14, 11.0 compilación 72.17 y 10.5 compilación 69.5. Esta vulnerabilidad solo afecta a los dispositivos MPX\ SDX con hardware Nitrox SSL, lo que significa que los dispositivos MPX\ SDX con Coleto Creek no son vulnerables; la inhabilitación de conjuntos de cifrado basados en CBC también mitigará esta vulnerabilidad. Consulte el artículo CTX para obtener más información

  • La lista de cifrado se ha modificado para abordar debilidades CBC, eliminando así los cifrados 0xc028 y 0x39

Prácticas recomendadas de SSL / TLS para Citrix Networking