Compatibilidad con protocolos 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:
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 15000
- MPX/SDX 15000-50G
- MPX/SDX 26000
- MPX/SDX 26000-50S
- MPX/SDX 26000-100G
- La compatibilidad con solo software para el protocolo TLSV1.3 está disponible en todos los demás dispositivos Citrix ADC MPX y SDX, 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 de Citrix ADC compatibles
Se admiten las siguientes funciones SSL:
- Suites de cifrado TLSv1.3:
- TLS1.3-AES256-GCM-SHA384 (0x1302)
- TLS1.3_CHACHA20_POLY1305_SHA256 (0x1303)
- TLS1.3-AES128_GCM-SHA256 (0x1301)
- Curvas ECC para el intercambio efímero de claves Diffie-Hellman:
- P_256
- P_384
- P_521
-
Contactos iniciales (handshakes) abreviados cuando la reanudación de sesión basada en tíquets está habilitada
-
Datos de aplicación temprana 0-RTT
-
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
-
Extensión de nombre de servidor: selección de certificados de servidor mediante SNI
-
Negociación del protocolo de aplicación (ALPN) mediante la extensión application_level_protocol_negotiation.
-
Grapado OCSP
-
Los mensajes de registro y los registros de AppFlow se generan para los apretones de manos TLSv1.3.
-
Registro opcional de secretos de tráfico TLS 1.3 mediante la utilidad
nstrace
de captura de paquetes. - 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 Citrix ADC 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
- Vaya a Sistema > Perfiles. Seleccione Perfiles SSL.
- Haga clic en Agregar y especifique un nombre para el perfil.
-
En Protocolo, seleccione TLSv13.
- 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
- Vaya a Administración del tráfico > Equilibrio de carga > Servidores virtualesy seleccione un servidor virtual SSL.
- En Configuración avanzada, haga clic en Perfil SSL.
- Seleccione el perfil TLSv1.3 creado anteriormente.
- Haga clic en Aceptar.
- Haga clic en Listo.
Parámetros de perfil SSL para el protocolo TLSv1.3
-
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 por defecto: DISABLED
set ssl profile tls13profile -tls13 enable <!--NeedCopy-->
set ssl profile tls13profile -tls13 disable <!--NeedCopy-->
-
Establecer el número de tíquets 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-->
-
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:
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-->
-
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 pueden procesarse antes de que se complete el apretón de manos INHABILITADO: se ignoran los datos de las aplicaciones
Valores posibles: ENABLED, DISABLED
Valor por defecto: 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 Citrix ADC 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.