ADC

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

Los dispositivos NetScaler VPX y NetScaler MPX ahora admiten el protocolo TLSv1.3, especificado en RFC 8446.

Notas:

  • A partir de la versión 13.0 compilación 71.x y versiones posteriores, la aceleración de hardware TLS1.3 es compatible con las siguientes plataformas:

    • MPX 5900
    • MPX/SDX 8900
    • MPX/SDX 9100
    • MPX/SDX 15000
    • MPX/SDX 15000-50G
    • MPX/SDX 16000
    • MPX/SDX 26000
    • MPX/SDX 26000-50S
    • MPX/SDX 26000-100G
  • La compatibilidad solo con software para el protocolo TLSv1.3 está disponible en todos los demás dispositivos NetScaler MPX y SDX, excepto en los dispositivos NetScaler FIPS.

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

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

Funciones de NetScaler compatibles

Se admiten las siguientes funciones SSL:

  1. Suites de cifrado TLSv1.3:
    • TLS1.3-AES256-GCM-SHA384 (0x1302)
    • TLS1.3_CHACHA20_POLY1305_SHA256 (0x1303)
    • TLS1.3-AES128_GCM-SHA256 (0x1301)
  2. Curvas ECC para el intercambio efímero de claves Diffie-Hellman:
    • P_256
    • P_384
    • P_521
  3. Contactos iniciales (handshakes) abreviados cuando la reanudación de sesión basada en tíquets está habilitada

  4. Datos de aplicación temprana 0-RTT

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

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

  7. Negociación del 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 generan para los apretones de manos TLSv1.3.

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

  11. Interoperabilidad con clientes TLS que implementan 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 NetScaler del protocolo TLS 1.3:

  • Google Chrome - Versión 72.0.3626.121 (compilació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>
<!--NeedCopy-->

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
<!--NeedCopy-->

Agregar un perfil SSL mediante la interfaz gráfica de usuario

  1. Navegue hasta Sistema > Perfiles. Seleccione Perfiles SSL.
  2. Haga clic en Agregar y especifique un nombre para el perfil.
  3. En Protocolo, seleccione TLSv13.

    Crear perfil TLSv13

  4. Haga clic en Aceptar.

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>
<!--NeedCopy-->

Ejemplo:

set ssl vserver ssl-vs -sslProfile tls13profile

Enlazar un perfil SSL a un servidor virtual SSL mediante la interfaz gráfica de usuario

  1. Vaya a Administración del tráfico > Equilibrio de carga > Servidores virtualesy seleccione un servidor virtual SSL.
  2. En Configuración avanzada, haga clic en Perfil SSL.
  3. Seleccione el perfil TLSv1.3 creado anteriormente.
  4. Haga clic en Aceptar.
  5. Haga clic en Listo.

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

  1. Habilite o inhabilite los parámetros TLS1.3 en un perfil SSL.

    tls13: Estado de la compatibilidad del protocolo TLSv1.3 para el perfil SSL.

    Valores posibles: ENABLED, DISABLED

    Valor predeterminado: DISABLED

    set ssl profile tls13profile -tls13 enable
    <!--NeedCopy-->
    
    set ssl profile tls13profile -tls13 disable
    <!--NeedCopy-->
    
  2. Establece el número de tickets de sesión emitidos.

    tls13SessionTicketsPerAuthContext: Número de tíquets que el servidor virtual SSL emite cuando TLS1.3 se negocia, se habilita la reanudación basada en tíquets 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 que los clientes abran varias conexiones paralelas mediante un tíquet nuevo para cada conexión.

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

    Valor por defecto: 1

    Valor mínimo: 1

    Valor máximo: 10

    set ssl profile tls13profile -tls13sessionTicketsPerAuthContext 1
    
    set ssl profile tls13profile -tls13sessionTicketsPerAuthContext 10
    <!--NeedCopy-->
    
  3. Establecer intercambio de claves DH

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

    Los ajustes disponibles funcionan de la siguiente manera, si el tíquet 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 apretón de manos se anula con una alerta irrecuperable 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 por defecto: NO

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

    zeroRttEarlyData: Estado de los datos de aplicación temprana de TLS 1.3. Los ajustes aplicables funcionan 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
    <!--NeedCopy-->
    

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
<!--NeedCopy-->

Limitaciones

  • 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 NetScaler FIPS.
  • El protocolo de enlace TLSv1.3 solo admite certificados RSA con claves de 1024 bits o más.

Limitaciones de seguridad

Los operadores de servidores 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 intensidad. 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 sobre los protocolos de solución de problemas que se ejecutan en TLS1.3, consulte Descifrar el tráfico TLS1.3 del seguimiento de paquetes.

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