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) | Sí | Sí |
Suite de cifrado TLS 1.3_CHACHA20_POLY1305_SHA256 (0x1303) | Sí | Sí |
Conjunto de cifrado TLS 1.3-AES128_GCM-SHA256 (0x1301) | Sí | Sí |
Curva ECC P_256 para intercambio efímero de claves DH | Sí | Sí |
Curva ECC P_384 para intercambio efímero de claves DH | Sí | Sí |
Curva ECC P_521 para intercambio efímero de claves DH | Sí | Sí |
Contactos iniciales (handshakes) abreviados cuando la reanudación de sesión basada en tíquets está habilitada | Sí | No |
Datos de aplicación temprana 0-RTT | Sí | No |
Protección contra ataques de reproducción para datos de aplicaciones tempranas sin RTT | Sí | *NA |
Autenticación de cliente basada en certificados opcional u obligatoria, con soporte para la validación OCSP y CRL de certificados homólogos | Sí | Sí |
Extensión de nombre de servidor: selección de certificados de servidor mediante SNI | Sí | *NA |
Negociación de protocolos de aplicación (ALPN) mediante la extensión application_level_protocol_negotiation | Sí | Sí |
Grapado OCSP | Sí | *NA |
Los mensajes de registro y los registros de AppFlow se generan para los apretones de manos TLS 1.3 | Sí | Sí |
Registro opcional de secretos de tráfico de TLS 1.3 mediante la utilidad de captura de paquetes nstrace
|
Sí | Sí |
Interoperabilidad con pares de TLS que implementan la RFC 8446. Por ejemplo, Mozilla Firefox, Google Chrome y OpenSSL. | Sí | Sí |
*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
- Navegue hasta Sistema > Perfiles. Seleccione Perfiles SSL.
- Haga clic en Agregar y especifique un nombre para el perfil.
-
En Protocolo, seleccione TLSv13.
- 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
- Navegue hasta Sistema > Perfiles. Seleccione Perfiles SSL.
- Haga clic en Agregar y especifique un nombre para el perfil.
-
En Tipo de perfil SSL, selecciona BackEnd.
- En Protocolo, seleccione TLSv13.
- 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
- Vaya a Administración del tráfico > Equilibrio de carga > Servidores virtualesy seleccione un servidor virtual SSL.
- Haga clic en Edit.
- En Configuración avanzada, haga clic en Perfil SSL.
- Seleccione el perfil TLS 1.3 creado anteriormente.
- 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
- Vaya a Administración del tráfico > Equilibrio de carga > Serviciosy seleccione un servicio SSL.
- Haga clic en Edit.
- En Configuración avanzada, haga clic en Perfil SSL.
- Seleccione el perfil TLS 1.3 creado anteriormente.
- 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.
-
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-->
-
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-->
-
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:
SÍ: 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-->
-
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.