ADC

Soporte para el protocolo TLS 1.3

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

Notas:

  • La aceleración de hardware TLS 1.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 TLS 1.3 está disponible en todos los demás dispositivos NetScaler MPX y SDX, excepto en los dispositivos NetScaler FIPS.

  • TLS 1.3 solo es compatible con el perfil mejorado. Para habilitar el perfil mejorado, consulte Habilitar el perfil predeterminado. Los términos “predeterminado” y “mejorado” se utilizan indistintamente para el perfil SSL.

  • Para usar TLS 1.3, debe usar un cliente que cumpla con la especificación RFC 8446.

Funciones de NetScaler compatibles

Se admiten las siguientes funciones SSL:

Características de SSL Soporte en la parte delantera Soporte en la parte trasera
Conjunto de cifrado TLS 1.3-AES256-GCM-SHA384 (0x1302)
Suite de cifrado TLS 1.3_CHACHA20_POLY1305_SHA256 (0x1303)
Conjunto de cifrado TLS 1.3-AES128_GCM-SHA256 (0x1301)
Curva ECC P_256 para intercambio efímero de claves DH
Curva ECC P_384 para intercambio efímero de claves DH
Curva ECC P_521 para intercambio efímero de claves DH
Contactos iniciales (handshakes) abreviados cuando la reanudación de sesión basada en tíquets está habilitada No
Datos de aplicación temprana 0-RTT No
Protección contra ataques de reproducción para datos de aplicaciones tempranas sin RTT *NA
Autenticación de cliente basada en certificados opcional u obligatoria, con soporte para la validación OCSP y CRL de certificados homólogos
Extensión de nombre de servidor: selección de certificados de servidor mediante SNI *NA
Negociación de protocolos de aplicación (ALPN) mediante la extensión application_level_protocol_negotiation
Grapado OCSP *NA
Los mensajes de registro y los registros de AppFlow se generan para los apretones de manos TLS 1.3
Registro opcional de secretos de tráfico de TLS 1.3 mediante la utilidad de captura de paquetes nstrace
Interoperabilidad con pares de TLS que implementan la RFC 8446. Por ejemplo, Mozilla Firefox, Google Chrome y OpenSSL.

*NA: no aplicable

Configuración

TLS 1.3 está inhabilitado de forma predeterminada en un perfil SSL. Aunque puede habilitar TLS 1.3 en el perfil heredado, algunas funciones, como los apretones de manos abreviados cuando la reanudación de la sesión basada en tickets está habilitada y los datos de aplicaciones tempranas sin RTT, no son compatibles con el perfil heredado.

Agregue un perfil SSL de interfaz de usuario mediante la CLI

En el símbolo del sistema, escriba:

add ssl profile tls13profile -tls13 ENABLED
<!--NeedCopy-->

Ejemplo:

sh ssl profile tls13profile
1)  Name: tls13profile           (Front-End)
    SSLv3: DISABLED               TLSv1.0: ENABLED  TLSv1.1: ENABLED  TLSv1.2: ENABLED  TLSv1.3: ENABLED
    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-->

Agregue un perfil SSL de interfaz de usuario 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 y, a continuación, haga clic en Listo.

Agregue un perfil SSL de back-end mediante la CLI

En el símbolo del sistema, escriba:

add ssl profile profile1 -sslprofileType BackEnd -tls13 ENABLED
<!--NeedCopy-->

Ejemplo:

add ssl profile tls13profile2 -sslprofileType BackEnd

sh ssl profile tls13profile2

1) Name: tls13profile2 (Back-End)

    SSLv3: DISABLED TLSv1.0: ENABLED  TLSv1.1: ENABLED  TLSv1.2: ENABLED  TLSv1.3: ENABLED
    Server Auth: DISABLED
    Use only bound CA certificates: DISABLED
    Strict CA checks: NO
    Session Reuse: ENABLED Timeout: 300 seconds
    DH: DISABLED
    Ephemeral RSA: DISABLED
    Deny SSL Renegotiation ALL
    Non FIPS Ciphers: DISABLED
    Cipher Redirect: DISABLED
    SSL Redirect: DISABLED
    Send Close-Notify: YES
    Strict Sig-Digest Check: DISABLED
    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
    Allow Extended Master Secret: NO
    ECC Curve: P_256, P_384, P_224, P_521

1) Cipher Name: DEFAULT_BACKEND Priority :1
    Description: Predefined Cipher Alias

 Done
<!--NeedCopy-->

Agregue un perfil SSL de back-end mediante la GUI

  1. Navegue hasta Sistema > Perfiles. Seleccione Perfiles SSL.
  2. Haga clic en Agregar y especifique un nombre para el perfil.
  3. En Tipo de perfil SSL, selecciona BackEnd.

    Perfil de back-end SSL

  4. En Protocolo, seleccione TLSv13.
  5. Haga clic en Aceptar y, a continuación, haga clic en Listo.

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

En el símbolo del sistema, escriba:

set ssl vserver <vserverName> -sslProfile <profile-name>

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. Haga clic en Edit.
  3. En Configuración avanzada, haga clic en Perfil SSL.
  4. Seleccione el perfil TLS 1.3 creado anteriormente.
  5. Haga clic en Aceptar y, a continuación, haga clic en Listo.

Enlazar un perfil SSL a un servicio SSL mediante la CLI

En el símbolo del sistema, escriba:

set ssl service <serviceName> -sslProfile <profile-name>

Ejemplo:

set ssl service ssl-service -sslProfile tls13profile2

Nota: Aparece

una advertencia si vinculas un perfil de usuario a un servicio SSL.

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

  1. Vaya a Administración del tráfico > Equilibrio de carga > Serviciosy seleccione un servicio SSL.
  2. Haga clic en Edit.
  3. En Configuración avanzada, haga clic en Perfil SSL.
  4. Seleccione el perfil TLS 1.3 creado anteriormente.
  5. Haga clic en Aceptar y, a continuación, haga clic en Listo.

Parámetros de perfil SSL para el protocolo TLS 1.3

Nota:

Solo tls13 se aplica a un perfil SSL de back-end.

  1. Habilite o inhabilite los parámetros TLS 1.3 en un perfil SSL.

    tls13: Estado del soporte del protocolo TLS 1.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 tickets que emite el servidor virtual SSL cuando se negocia TLS 1.3, se habilita la reanudación basada en tickets y (1) se completa un apretón de manos o (2) se completa la autenticación del cliente después del apretón de manos.

    Este valor se puede aumentar para permitir que los pares abran varias conexiones paralelas utilizando un ticket 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. Configure el 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. Habilite o inhabilite 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:

    ACTIVADO: Es posible que los datos de las primeras solicitudes se procesen antes de que se complete el apretón de manos.

    DESHABILITADO: se ignoran los datos de la aplicación inicial.

    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 TLS 1.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: TLS 1.3-AES256-GCM-SHA384         Priority : 27
    Description: TLS 1.3 Kx=any      Au=any  Enc=AES-GCM(256) Mac=AEAD   HexCode=0x1302

28) Cipher Name: TLS 1.3_CHACHA20_POLY1305_SHA256     Priority : 28
    Description: TLS 1.3 Kx=any      Au=any  Enc=CHACHA20/POLY1305(256) Mac=AEAD   HexCode=0x1303

29) Cipher Name: TLS 1.3-AES128_GCM-SHA256        Priority : 29
    Description: TLS 1.3 Kx=any      Au=any  Enc=AES-GCM(128) Mac=AEAD   HexCode=0x1301
Done
<!--NeedCopy-->
sh cipher DEFAULT_BACKEND
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: TLS 1.3-AES256-GCM-SHA384   Priority : 27
    Description: TLS 1.3 Kx=any      Au=any  Enc=AES-GCM(256) Mac=AEAD   HexCode=0x1302
28) Cipher Name: TLS 1.3-CHACHA20-POLY1305-SHA256    Priority : 28
    Description: TLS 1.3 Kx=any      Au=any  Enc=CHACHA20/POLY1305(256) Mac=AEAD   HexCode=0x1303
29) Cipher Name: TLS 1.3-AES128-GCM-SHA256   Priority : 29
    Description: TLS 1.3 Kx=any      Au=any  Enc=AES-GCM(128) Mac=AEAD   HexCode=0x1301
 Done
<!--NeedCopy-->

Limitaciones

  • TLS 1.3 no es compatible con un dispositivo FIPS de NetScaler.
  • En un protocolo de enlace TLS 1.3 solo se admiten certificados RSA con claves de 1024 bits o más.

Limitaciones de seguridad

Los operadores de servidores TLS 1.3 deben tener en cuenta las siguientes restricciones de seguridad para la compatibilidad con versiones anteriores descritas en el RFC 8446. La configuración predeterminada de un dispositivo NetScaler cumple con estas restricciones. Sin embargo, un dispositivo NetScaler no aplica 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. Inhabilite SSLv3 cuando TLS 1.3 esté habilitado (SSLv3 está inhabilitado de forma predeterminada).

Nota:

Para obtener información sobre la solución de problemas de los protocolos que se ejecutan en TLS 1.3, consulte Descifrar el tráfico TLS 1.3 del rastreo de paquetes.

Soporte para el protocolo TLS 1.3