Documento técnico: Mejores prácticas de redes SSL/TLS

Información general

Este documento técnico tiene como objetivo transmitir lo que un experto en ADC configuraría como una implementación genérica para recibir una calificación A+ en Qualys SSL Labs.

Qualys SSL Labs realiza una sólida serie de pruebas y proporciona un cuadro de mando que puede utilizar para mejorar su configuración. El escaneo es gratuito y solo tarda aproximadamente un minuto en completarse.

Qualys desarrolla activamente SSL Labs. Es probable que las pruebas cambien a medida que se creen nuevos protocolos y se encuentren vulnerabilidades. Es una buena práctica probar los sitios con regularidad para asegurarse de que no se expongan nuevas vulnerabilidades.

Nota: Hable con su equipo de seguridad acerca de la implementación. Los expertos en seguridad dicen que SSL Labs A+ es un buen objetivo general, pero puede que no se ajuste a las necesidades de su organización.

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 degradaciones de TLS, POODLE o BEAST?

Una vez que SSL Labs completa las pruebas, presenta una calificación con letras 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 recibe una puntuación numérica que SSL Labs promedia en un total. Algunos casos especiales y configuraciones que SSL Labs desaconseja, como tener habilitado SSLv3, pueden limitar su calificación final. Puede encontrar la documentación completa sobre cómo SSL Labs califica los servidores aquí.

Preocupaciones relativas a la aplicación

Perfiles SSL

En este artículo se utilizan perfiles SSL. Cuando se habilita por primera vez, los perfiles SSL configuran todos los servidores virtuales SSL para que usen el perfil predeterminado.

Los perfiles SSL tienen prioridad sobre los parámetros SSL globales y por servidor virtual.

Soporte al cliente

Algunos de los pasos de configuración de este artículo pueden provocar problemas de conectividad con clientes y exploradores web antiguos. Por ejemplo, Internet Explorer 11 en Windows 7 y 8.1 solo admite conjuntos de cifrado más antiguos y es posible que otros exploradores web antiguos no sean compatibles con los cifrados TLS1.2 y ECC por completo. En los casos en los que falta soporte, el cliente puede experimentar mensajes de error y la incapacidad de mostrar el sitio.

SSL Labs tiene un botón “Probar su explorador web” en su página principal para ayudar a determinar sus necesidades.

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

Consulte los siguientes artículos sobre la compatibilidad con el cifrado de clientes al implementar un servidor virtual de puerta de enlace para aplicaciones y escritorios virtuales:

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

Tome las siguientes medidas 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 71 o posterior de la versión 13.0 para aprovechar la aceleración de hardware de TLS1.3

  • Asegúrese de que la cadena de certificados esté completa y de confianza

    • Las CA raíz no siempre firman los certificados directamente. En cambio, una CA raíz suele utilizar un intermediario para firmar un certificado.
    • Instale el certificado intermedio en el ADC. Vincúlelo al certificado de servidor que enlazó al servidor virtual
    • Los certificados intermedios los proporciona el proveedor que proporciona el certificado del servidor, a menudo en un “paquete de certificados”. Por lo general, se pueden encontrar en el sitio público del proveedor.
    • Es posible que necesite instalar y vincular varios certificados intermedios. Para que el certificado del servidor funcione, el ADC debe enviar una cadena completa. Una cadena completa termina con un certificado firmado por una de las CA raíz de confianza del cliente
    • Como el cliente ya tiene la CA raíz de confianza, no necesita instalarla ni vincularla en el ADC
    • Para instalar un certificado intermedio, vaya a: Administración del 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)
    • Vincular a un intermediario seleccionando el certificado y eligiendo enlace en el menú de acciones
    • Si está instalado el certificado intermedio correcto, se completa automáticamente en el menú de enlace

Instalación del certificado CA

Enlace al certificado

Certificate-Linked

  • 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
    • Asigne al grupo de cifrado el nombre “SSL_Labs_Cipher_Group_Q4_2021”
    • Haga clic en Agregar y, a continuación, expanda la sección TODOS y seleccione los siguientes conjuntos de cifrado:
      • TLS1.3-AES256-GCM-SHA384
      • TLS1.3-AES128-GCM-SHA256
      • TLS1.3-CHACHA20-POLY1305-SHA256
      • TLS1.2-ECDHE-ECDSA-AES256-GCM-SHA384
      • TLS1.2-ECDHE-ECDSA-AES128-GCM-SHA256
      • TLS1.2-ECDHE-ECDSA-AES256-SHA384
      • TLS1.2-ECDHE-RSA-AES256-GCM-SHA384
    • Haga clic en la flecha derecha > para mover las cifras de la columna Disponible a la columna Configurada.
    • Haz clic en Crear

Create-Group

  • Habilitar perfiles SSL

Vaya a Administración del tráfico > SSL > Cambiar la configuración avanzada de SSL, desplácese hacia abajo y seleccione Habilitar perfil predeterminado.

Enable_Default_Profile

Perfiles SSL establece que todos los servidores virtuales SSL usen el perfil predeterminado cuando se habilitan por primera vez. Como se elimina la configuración SSL existente por servidor virtual, el ADC le pedirá que confirme.

Confirm_Default_Profile

  • Crear un perfil SSL
    • Vaya a Sistema > Perfiles > Perfil SSLy seleccione Agregar
      SSL_Profile - Nombre el perfil “SSL_Labs_Profile_Q4_2021” - Desplácese hasta Denegar renegociación de SSL y seleccione NO SEGURO para permitir que solo los clientes que admiten RFC 5746 renegocien - Desplácese hasta HSTS, marque HSTSy especifique una Antigüedad máxima de 157680000 segundos - Desplácese hasta Protocolo y seleccione únicamente TLSv12 y TLSv13 SSL_Profile_Profiles - Desplácese hasta el final del formulario y seleccione Aceptar - Desplácese hasta Cifrados SSL, selecciona el icono del lápiz para modificar, luego haga clic en Eliminar todo - Haga clic en Agregar y agrega el grupo de cifrado que creamos anteriormente SSL_Profile_Cipher_List - Desplázate hasta el final del formulario y selecciona Listo
  • Enlazar el perfil SSL al servidor virtual SSL
    • En el servidor virtual seleccionado, seleccione el icono de lápiz para modificar el perfil SSL enlazado
    • Seleccione el perfil SSL que creamos en la lista desplegable
    • Haga clic en Aceptar

Pasos básicos: CLI

Tome las siguientes medidas 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 Exservidor virtual; se puede reemplazar con el nombre del servidor virtual SSL en su entorno.

  • Crear un grupo de cifrado personalizado que prefiera conjuntos de cifrado ECDHE y ECDSA
add ssl cipher SSL_Labs_Cipher_Group_Q4_2021

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

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

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

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

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

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

bind ssl cipher SSL_Labs_Cipher_Group_Q4_2021 -cipherName TLS1.2-ECDHE-RSA-AES256-GCM-SHA384
<!--NeedCopy-->
  • Habilitar perfiles SSL
set ssl parameter -defaultProfile ENABLED
<!--NeedCopy-->
  • Crear un perfil SSL
add ssl profile SSL_Labs_Profile_Q4_2021 -tls1 DISABLED -tls11 DISABLED -tls12 ENABLED -tls13 ENABLED -denySSLReneg NONSECURE -HSTS ENABLE
<!--NeedCopy-->
  • Desvincular el grupo de cifrado predeterminado del perfil SSL y vincular el grupo personalizado
unbind ssl profile SSL_Labs_Profile_Q4_2021 -cipherName DEFAULT

bind ssl profile SSL_Labs_Profile_Q4_2021 -cipherName SSL_Labs_Cipher_Group_Q4_2021
<!--NeedCopy-->
  • Enlazar el perfil SSL al servidor virtual SSL
set ssl vserver "Ex-vServer" -sslProfile SSL_Labs_Profile_Q4_2021
<!--NeedCopy-->

Más parámetros

Certificados SHA1

Los certificados firmados con SHA1 se consideran débiles e impiden una calificación alta en la prueba de SSL Labs. Si algún certificado está firmado por SHA1, debe reemplazarse por un certificado SHA256 e instalarse 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.

La CAA de DNS no es necesaria para obtener un A+ en SSL Labs y es un paso opcional. Puede obtener más información sobre la CAA de DNS aquí.

Soporte al cliente heredado

Los cifrados ECDHE que utilizamos en esta guía sustituyen a los cifrados DHE más antiguos y lentos. Si tiene clientes heredados que no puede actualizar, puede que no tenga otra opción que habilitar DHE.

Habilitar conjuntos de cifrado DHE en la GUI

  • Vaya a Administración de tráfico > SSL y seleccione Crear clave Diffie-Hellman (DH)

Create_DH_Key_config

  • Asigne a la clave Diffie-Hellman el nombre “DH_Key_Name_Here.key”

  • Introduzca el tamaño del parámetro (Bits). Debe tener entre 512 y 2048

  • Elija el generador Diffie-Hellman (2 o 5)

  • Seleccione Crear. Según el tamaño de clave seleccionado, esto podría tardar bastante tiempo en completarse

Nota: No navegue más allá de esta pantalla hasta que se complete

Create_DH_Key_config

  • Vaya a Sistema > Perfiles > Perfil SSL

  • Seleccione el perfil SSL_Labs_Profile_Q4_2021 y elija Modificar

  • Seleccione el icono del lápiz

  • Desplácese hacia abajo hasta la casilla Habilitar parámetro de DH y selecciónela.

  • Elige la clave de DH que acaba de crear

Enable_DH_Param_and_Key

  • Desplácese hacia abajo y seleccione Aceptar

  • Enlazar un conjunto de cifrado DHE al grupo de cifrado que creamos anteriormente

  • Vaya a Administración del tráfico > SSL > Grupos de cifrado

  • Seleccione el cifrado TLS1.2-DHE-RSA-AES256-GCM-SHA384.

Bind_DHE_Cipher

  • Haga clic en la flecha para agregarla al grupo de cifrado

Select_DHE_Cipher_Added

Habilitar los conjuntos de cifrado DHE en la CLI

  • Crear y vincular una clave DH al perfil SSL (CLI)
create ssl dhparam DH_Key_Name_Here.key 2048 -gen 2

set ssl profile SSL_Labs_Profile_Q4_2021 -dh ENABLED -dhFile DH_Key_Name_Here.key
<!--NeedCopy-->
  • Enlazar un conjunto de cifrado DHE al grupo de cifrado que creamos anteriormente
bind ssl cipher SSL_Labs_Cipher_Group_Q4_2021 -cipherName TLS1.2-DHE-RSA-AES256-GCM-SHA384
<!--NeedCopy-->

Notas de Firmware

  • Citrix habilitó TLS1.2 de forma predeterminada en la versión de firmware 10.5 compilación 57

  • La vulnerabilidad ROBOT se solucionó en las compilaciones 12.0 build 53, 11.1 build 56, 11.0 build 71 y 10.5 build 67. Encontrará más información 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 como ADC para insertar 2 encabezados, lo cual 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 SSL Nitrox. Los dispositivos MPX\ SDX con Coleto Creek no son vulnerables. La desactivación de los conjuntos de cifrado basados en CBC también mitiga 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

  • Citrix agregó la aceleración de hardware TLS1.3 en la compilación 71 de 13.0

Documento técnico: Mejores prácticas de redes SSL/TLS