Prise en charge du protocole TLSv1.3 tel que défini dans la RFC 8446
Les appliances NetScaler VPX et NetScaler MPX prennent désormais en charge le protocole TLSv1.3, spécifié dans la RFC 8446.
Remarques :
Depuis la version 13.0 build 71.x et les versions ultérieures, l’accélération matérielle TLS1.3 est prise en charge sur les plates-formes suivantes :
- 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 prise en charge logicielle uniquement du protocole TLSv1.3 est disponible sur toutes les autres appliances NetScaler MPX et SDX, à l’exception des appliances NetScaler FIPS.
TLSv1.3 n’est pris en charge qu’avec le profil amélioré. Pour activer le profil amélioré, voir Activer le profil par défaut.
Pour utiliser TLS1.3, vous devez utiliser un client conforme à la spécification RFC 8446.
Fonctionnalités NetScaler prises en charge
Les fonctionnalités SSL suivantes sont prises en charge :
- Suites de chiffrement TLSv1.3 :
- TLS1.3-AES256-GCM-SHA384 (0x1302)
- TLS1.3_CHACHA20_POLY1305_SHA256 (0x1303)
- TLS1.3-AES128_GCM-SHA256 (0x1301)
- Courbes ECC pour l’échange de clés éphémère Diffie-Hellman :
- P_256
- P_384
- P_521
-
Poignées de contact abrégées lorsque la reprise de session basée sur des tickets est activée
-
Données d’application précoce 0-RTT
-
Authentification client facultative ou obligatoire basée sur un certificat, avec prise en charge de la validation OCSP et CRL des certificats clients
-
Extension du nom du serveur : sélection du certificat du serveur à l’aide de SNI
-
Négociation du protocole d’application (ALPN) à l’aide de l’extension application_level_protocol_negotiation.
-
Agrafage OCSP
-
Les messages de journal et les enregistrements AppFlow sont produits pour les prises de contact TLSv1.3.
-
Enregistrement facultatif des secrets de trafic TLS 1.3 par l’utilitaire de capture de
nstrace
paquets. - Interopérabilité avec les clients TLS implémentant la RFC 8446. Par exemple, Mozilla Firefox, Google Chrome et OpenSSL.
Navigateurs pris en charge
Les versions de navigateur suivantes sont prises en charge et compatibles avec l’implémentation du protocole TLS 1.3 par NetScaler :
- Google Chrome - Version 72.0.3626.121 (version officielle) (64 bits)
- Mozilla Firefox - 65.0.2 (64 bits)
- Opera - Version:58.0.3135.79
Configuration
TLSv1.3 est désactivé par défaut sur un profil SSL.
Ajouter un profil SSL à l’aide de la CLI
À l’invite de commandes, tapez :
add ssl profile <tls13-profile-name>
<!--NeedCopy-->
Exemple :
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-->
Ajouter un profil SSL à l’aide de l’interface graphique
- Accédez à Système > Profils. Sélectionnez Profils SSL.
- Cliquez sur Ajouter et spécifiez un nom pour le profil.
-
Dans Protocol, sélectionnez TLSv13.
- Cliquez sur OK.
Lier un profil SSL à un serveur virtuel SSL à l’aide de l’interface de ligne de commande
À l’invite de commandes, tapez :
set ssl vserver <vServerName> -sslProfile <tls13-profile-name>
<!--NeedCopy-->
Exemple :
set ssl vserver ssl-vs -sslProfile tls13profile
Lier un profil SSL à un serveur virtuel SSL à l’aide de l’interface graphique
- Accédez à Gestion du trafic > Équilibrage de charge > Serveurs virtuels, puis sélectionnez un serveur virtuel SSL.
- Dans Paramètres avancés, cliquez sur Profil SSL.
- Sélectionnez le profil TLSv1.3 créé précédemment.
- Cliquez sur OK.
- Cliquez sur Terminé.
Paramètres de profil SSL pour le protocole TLSv1.3
-
Activez ou désactivez les paramètres TLS1.3 dans un profil SSL.
tls13 : état de la prise en charge du protocole TLSv1.3 pour le profil SSL.
Valeurs possibles : ENABLED, DISABLED
Valeur par défaut : DISABLED
set ssl profile tls13profile -tls13 enable <!--NeedCopy-->
set ssl profile tls13profile -tls13 disable <!--NeedCopy-->
-
Définissez le nombre de tickets de session émis.
tls13SessionTicketsPerAuthContext : Nombre de tickets émis par le serveur virtuel SSL lorsque TLS1.3 est négocié, que la reprise basée sur les tickets est activée et que (1) une négociation se termine ou (2) l’authentification du client se termine après l’établissement de la liaison.
Cette valeur peut être augmentée pour permettre aux clients d’ouvrir plusieurs connexions parallèles à l’aide d’un nouveau ticket pour chaque connexion.
Aucun billet n’est envoyé si la reprise est désactivée.
Valeur par défaut : 1
Valeur minimale : 1
Valeur maximale : 10
set ssl profile tls13profile -tls13sessionTicketsPerAuthContext 1 set ssl profile tls13profile -tls13sessionTicketsPerAuthContext 10 <!--NeedCopy-->
-
Jeu d’échange de clés DH
dheKeyExchangeWithPsk
: indique si un serveur virtuel SSL nécessite un échange de clés DHE lorsqu’une clé prépartagée est acceptée lors d’une prise de contact de reprise de session TLS 1.3. Un échange de clés DHE garantit le secret de transmission, même si les clés de ticket sont compromises, au détriment des ressources supplémentaires nécessaires pour effectuer l’échange de clés DHE .Les paramètres disponibles fonctionnent comme suit, si le ticket de session est activé :
OUI : L’échange de clés DHE est requis lorsqu’une clé pré-partagée est acceptée, que le client prenne ou non en charge l’échange de clés. La prise de contact est annulée avec une alerte fatale, si le client ne prend pas en charge l’échange de clés DHE lorsqu’il propose une clé pré-partagée.
NON : L’échange de clés DHE est effectué lorsqu’une clé pré-partagée est acceptée, uniquement si le client le demande.
Valeurs possibles : OUI, NON
Valeur par défaut : NON
set ssl profile tls13profile dheKeyExchangeWithPsk yes set ssl profile tls13profile dheKeyExchangeWithPsk no <!--NeedCopy-->
-
Activer ou désactiver l’acceptation anticipée des données 0-RTT
zeroRttEarlyData
: état des données relatives aux premières applications du protocole TLS 1.3. Les paramètres applicables fonctionnent comme suit :ACTIVÉ : Les premières données d’application peuvent être traitées avant la fin de la prise de contact. DÉSACTIVÉ : les premières données d’application sont ignorées.
Valeurs possibles : ENABLED, DISABLED
Valeur par défaut : DISABLED
set ssl profile tls13profile -zeroRttEarlyData ENABLED set ssl profile tls13profile -zeroRttEarlyData DISABLED <!--NeedCopy-->
Groupe de chiffrement par défaut
Le groupe de chiffrement par défaut inclut les chiffrements 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-->
Limitations
- TLSv1.3 n’est pas pris en charge sur le serveur principal.
- TLSv1.3 n’est pas pris en charge sur une appliance Citrix Secure Web Gateway et sur une appliance NetScaler FIPS.
- Seuls les certificats RSA avec des clés de 1024 bits et plus sont pris en charge dans un handshake TLSv1.3.
Restrictions relatives
Les opérateurs de serveur TLSv1.3 doivent garder à l’esprit les restrictions de sécurité suivantes relatives à la compatibilité descendante décrites dans la RFC 8446. La configuration par défaut sur un boîtier NetScaler est conforme à ces restrictions. Toutefois, une appliance NetScaler n’impose pas le respect de ces règles.
-
La sécurité des suites de chiffrement RC4 est considérée comme insuffisante comme décrit dans le document RFC7465. Les implémentations ne doivent pas proposer ou négocier de suites de chiffrement RC4 pour aucune version de TLS.
-
Les anciennes versions de TLS permettaient l’utilisation de chiffrements à faible intensité. Les chiffrements dont la force est inférieure à 112 bits ne doivent pas être proposés ou négociés pour aucune version de TLS.
-
La sécurité de SSL 3.0 [SSLv3] est considérée comme insuffisante comme décrit dans la RFC7568, et ne doit pas être négociée. Désactivez SSLv3 lorsque TLSv1.3 est activé (SSLv3 est désactivé par défaut).
-
La sécurité de SSL 2.0 [SSLv2] est considérée comme insuffisante comme décrit dans la RFC6176, et ne doit pas être négociée. Désactivez SSLv2 lorsque TLS 1.3 est activé (SSLv2 est désactivé par défaut).
Remarque :
Pour plus d’informations sur le dépannage des protocoles exécutés sur TLS1.3, consultez Déchiffrement du trafic TLS1.3 du suivi des paquets.