Compatibilidad con el protocolo TLSv1.3 tal como se define en RFC 8446

Los dispositivos Citrix ADC VPX y Citrix ADC MPX ahora admiten el protocolo TLSV1.3, especificado en RFC 8446.

Notas:

  • La compatibilidad solo con software para el protocolo TLSV1.3 está disponible en todos los dispositivos Citrix ADC MPX, excepto los dispositivos Citrix ADC FIPS.

  • TLSV1.3 solo es compatible con el perfil mejorado. Para habilitar el perfil mejorado, consulte Habilitar el perfil mejorado.

  • Para utilizar TLS1.3, debe utilizar un cliente que cumpla con la especificación RFC 8446.

Funciones admitidas de Citrix ADC

Se admiten las siguientes funciones SSL:

  1. conjuntos de cifrado TLSv1.3:
    • TLS1.3-AES256-GCM-SHA384 (0x1302)
    • TLS1.3_CHACHA20_POLY1305_SHA256 (0x1303) (compatible solo en VPX y la instancia VPX en SDX sin chip SSL asignado)
    • TLS1.3-AES128_GCM-SHA256 (0x1301)
  2. Curvas ECC para intercambio efímero de claves Diffie-Hellman:
    • P_256
    • P_384
    • P_521
  3. apretones de manos abreviados cuando la reanudación de sesión basada en tickets está habilitada

  4. Datos de aplicación temprana 0-RTT

  5. Autenticación de cliente basada en certificados opcional u obligatoria, con soporte para la validación OCSP y/o CRL de certificados de cliente

  6. Extensión de nombre de servidor: Selección de certificados de servidor mediante SNI

  7. Negociación de protocolo de aplicación (ALPN) mediante la extensión application_level_protocol_negotiation.

  8. Grapado OCSP

  9. Los mensajes de registro y los registros de AppFlow se producen para los apretones de manos TLSv1.3.

  10. Registro opcional de secretos de tráfico TLS 1.3 por la utilidad de captura de paquetes nstrace.

  11. Interoperabilidad con clientes TLS implementando RFC 8446. Por ejemplo, Mozilla Firefox, Google Chrome y OpenSSL.

Exploradores web compatibles

Las siguientes versiones del explorador son compatibles y compatibles con la implementación de Citrix ADC del protocolo TLS 1.3:

  • Google Chrome: Versión 72.0.3626.121 (versión oficial) (64 bits)
  • Mozilla Firefox: 65.0.2 (64 bits)
  • Opera: Versión:58.0.3135.79

Configuración

TLSv1.3 está inhabilitado de forma predeterminada en un perfil SSL.

Agregar un perfil SSL mediante la CLI

En el símbolo del sistema, escriba:

add ssl profile <tls13-profile-name>

Ejemplo:

add ssl profile tls13profile

sh ssl profile tls13profile
1)  Name: tls13profile           (Front-End)
    SSLv3: DISABLED               TLSv1.0: ENABLED  TLSv1.1: ENABLED  TLSv1.2: ENABLED  TLSv1.3: DISABLED
    Client Auth: DISABLED
    Use only bound CA certificates: DISABLED
    Strict CA checks:   NO
    Session Reuse: ENABLED                       Timeout: 120 seconds
    DH: DISABLED
    DH Private-Key Exponent Size Limit: DISABLED   Ephemeral RSA: ENABLED                            Refresh Count: 0
    Deny SSL Renegotiation                                ALL
    Non FIPS Ciphers: DISABLED
    Cipher Redirect: DISABLED
    SSL Redirect: DISABLED
    Send Close-Notify: YES
    Strict Sig-Digest Check: DISABLED
    Zero RTT Early Data: DISABLED
    DHE Key Exchange With PSK: NO
    Tickets Per Authentication Context: 1
    Push Encryption Trigger: Always
    PUSH encryption trigger timeout:             1 ms
    SNI: DISABLED
    OCSP Stapling: DISABLED
    Strict Host Header check for SNI enabled SSL sessions: NO
    Push flag:            0x0 (Auto)
    SSL quantum size:                            8 kB
    Encryption trigger timeout           100 mS
    Encryption trigger packet count:               45
    Subject/Issuer Name Insertion Format: Unicode

    SSL Interception: DISABLED
    SSL Interception OCSP Check: ENABLED
    SSL Interception End to End Renegotiation: ENABLED
    SSL Interception Maximum Reuse Sessions per Server:  10
    Session Ticket: DISABLED
    HSTS: DISABLED
    HSTS IncludeSubDomains: NO
    HSTS Max-Age: 0

    ECC Curve: P_256, P_384, P_224, P_521

1)  Cipher Name: DEFAULT Priority :1
    Description: Predefined Cipher Alias
Done

Enlazar un perfil SSL a un servidor virtual SSL mediante la CLI

En el símbolo del sistema, escriba:

set ssl vserver <vServerName> -sslProfile <tls13-profile-name>

Ejemplo:

set ssl vserver ssl-vs -sslProfile tls13profile

Parámetros de perfil SSL para el protocolo TLSV1.3

  1. Habilitar o inhabilitar los parámetros TLS1.3 en un perfil SSL.

    tls13: Estado del soporte del protocolo TLSv1.3 para el perfil SSL.

    Valores posibles: ENABLED, DISABLED

    Valor predeterminado: DISABLED

    set ssl profile tls13profile -tls13 enable
    
    set ssl profile tls13profile -tls13 disable
    
  2. Establece el número de entradas de sesión emitidas.

    TLS13SessionTicketsPerAuthContext: Número de tickets que el servidor virtual SSL emite cuando TLS1.3 se negocia, se habilita la reanudación basada en tickets y (1) se completa un protocolo de enlace o (2) se completa la autenticación del cliente después del protocolo de enlace.

    Este valor se puede aumentar para permitir a los clientes abrir varias conexiones paralelas mediante un ticket nuevo para cada conexión.

    No se envían tickets si la reanudación está desactivada.

    Valor predeterminado: 1

    Valor mínimo: 1

    Valor máximo: 10

    set ssl profile tls13profile -tls13sessionTicketsPerAuthContext 1
    
    set ssl profile tls13profile -tls13sessionTicketsPerAuthContext 10
    
  3. Establecer intercambio de claves DH

    dheKeyExchangeWithPsk: Especifica si un servidor virtual SSL requiere un intercambio de claves DHE para que se produzca cuando se acepta una clave previamente compartida durante un protocolo de enlace de reanudación de sesión TLS 1.3. Un intercambio de claves DHE garantiza el secreto hacia adelante, incluso si las claves de los tickets están comprometidas, a expensas de los recursos adicionales necesarios para llevar a cabo el intercambio de claves DHE.

    La configuración disponible funciona de la siguiente manera, si el ticket de sesión está habilitado:

    : Se requiere el intercambio de claves DHE cuando se acepta una clave previamente compartida, independientemente de si el cliente admite el intercambio de claves. El protocolo de enlace se cancela con una alerta fatal, si el cliente no admite el intercambio de claves DHE cuando ofrece una clave previamente compartida.

    NO: El intercambio de claves DHE se realiza cuando se acepta una clave previamente compartida, solo si el cliente lo solicita.

    Valores posibles: SÍ, NO

    Valor predeterminado: NO

    set ssl profile tls13profile dheKeyExchangeWithPsk yes
    
    set ssl profile tls13profile dheKeyExchangeWithPsk no
    
  4. Habilitar o inhabilitar la aceptación temprana de datos 0-RTT

    zeroRttEarlyData: Estado de los datos de aplicación temprana TLS 1.3. La configuración aplicable funciona de la siguiente manera:

    Habilitado: Los datos de la aplicación temprana podrían procesarse antes de que se complete el protocolo de enlace. DISABLED: Se ignoran los datos iniciales de la aplicación.

    Valores posibles: ENABLED, DISABLED

    Valor predeterminado: DISABLED

    set ssl profile tls13profile -zeroRttEarlyData ENABLED
    
    set ssl profile tls13profile -zeroRttEarlyData DISABLED
    

Grupo de cifrado predeterminado

El grupo de cifrado predeterminado incluye cifrados TLS1.3.

sh cipher DEFAULT
1) Cipher Name: TLS1-AES-256-CBC-SHA    Priority : 1
    Description: SSLv3 Kx=RSA      Au=RSA  Enc=AES(256)  Mac=SHA1   HexCode=0x0035

2)  Cipher Name: TLS1-AES-128-CBC-SHA    Priority : 2
    Description: SSLv3 Kx=RSA      Au=RSA  Enc=AES(128)  Mac=SHA1   HexCode=0x002f
…
…
27) Cipher Name: TLS1.3-AES256-GCM-SHA384         Priority : 27
    Description: TLSv1.3 Kx=any      Au=any  Enc=AES-GCM(256) Mac=AEAD   HexCode=0x1302

28) Cipher Name: TLS1.3_CHACHA20_POLY1305_SHA256     Priority : 28
    Description: TLSv1.3 Kx=any      Au=any  Enc=CHACHA20/POLY1305(256) Mac=AEAD   HexCode=0x1303

29) Cipher Name: TLS1.3-AES128_GCM-SHA256        Priority : 29
    Description: TLSv1.3 Kx=any      Au=any  Enc=AES-GCM(128) Mac=AEAD   HexCode=0x1301
Done

Limitaciones

  • En la plataforma Citrix ADC MPX, el procesamiento TLSV1.3 no se descarga al hardware criptográfico.
  • TLSv1.3 no se admite en el back-end.
  • TLSV1.3 no se admite en un dispositivo Citrix Secure Web Gateway ni en un dispositivo Citrix ADC FIPS.

Consideraciones operacionales

Nota de compatibilidad de versión borrador de TLS 1.3: Un dispositivo Citrix ADC implementa la variante RFC 8446 del protocolo TLS 1.3 (a diferencia de versiones anteriores del protocolo). Utilice un cliente TLS 1.3 que admita RFC 8446 (o un borrador interoperable #: 26, 27 o 28) para completar un protocolo de enlace TLS 1.3 con un dispositivo Citrix ADC. Es posible que los clientes y servidores que implementen diferentes versiones de borrador del protocolo TLS 1.3 no interactúen entre sí.

Restricciones de seguridad

Los operadores de servidor TLSv1.3 deben tener en cuenta las siguientes restricciones de seguridad para la compatibilidad con versiones anteriores descritas en RFC 8446. La configuración predeterminada de un dispositivo NetScaler cumple con estas restricciones. Sin embargo, un dispositivo NetScaler no exige que se cumplan estas reglas.

  • La seguridad de los conjuntos de cifrado RC4 se considera insuficiente como se describe en RFC7465. Las implementaciones no deben ofrecer ni negociar conjuntos de cifrado RC4 para ninguna versión de TLS.

  • Las versiones antiguas de TLS permitían el uso de cifrados de baja resistencia. Los cifrados con una intensidad inferior a 112 bits no deben ofrecerse ni negociarse para ninguna versión de TLS.

  • La seguridad de SSL 3.0 [SSLv3] se considera insuficiente como se describe en RFC7568 y no debe negociarse. Inhabilitar SSLv3 cuando TLSV1.3 está habilitado (SSLv3 está inhabilitado de forma predeterminada).

  • La seguridad de SSL 2.0 [SSLv2] se considera insuficiente como se describe en RFC6176 y no debe negociarse. Inhabilite SSLv2 cuando TLS 1.3 está habilitado (SSLv2 está inhabilitado de forma predeterminada).

Nota:

Para obtener información acerca de la solución de problemas de protocolos que se ejecutan sobre TLS1.3, consulte Descifrar el tráfico TLS1.3 del seguimiento de paquetes.