Support du protocole TLS 1.3
Les appliances NetScaler VPX et NetScaler MPX prennent désormais en charge le protocole TLS 1.3, spécifié dans la RFC 8446.
Remarques :
L’accélération matérielle TLS 1.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 TLS 1.3 est disponible sur toutes les autres appliances NetScaler MPX et SDX, à l’exception des appliances NetScaler FIPS.
Le protocole TLS 1.3 est uniquement pris en charge avec le profil amélioré. Pour activer le profil amélioré, voir Activer le profil par défaut. Les termes « par défaut » et « amélioré » sont utilisés de manière interchangeable pour le profil SSL.
Pour utiliser TLS 1.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 :
Fonctionnalités SSL | Support sur la face avant | Support sur le backend |
---|---|---|
Suite de chiffrement TLS 1.3-AES256-GCM-SHA384 (0x1302) | Oui | Oui |
Suite de chiffrement TLS 1.3_CHACHA20_POLY1305_SHA256 (0x1303) | Oui | Oui |
Suite de chiffrement TLS 1.3-AES128_GCM-SHA256 (0x1301) | Oui | Oui |
Courbe ECC P_256 pour un échange éphémère de clés DH | Oui | Oui |
Courbe ECC P_384 pour un échange éphémère de clés DH | Oui | Oui |
Courbe ECC P_521 pour un échange éphémère de clés DH | Oui | Oui |
Poignées de contact abrégées lorsque la reprise de session basée sur des tickets est activée | Oui | Non |
Données d’application précoce 0-RTT | Oui | Non |
Protection contre les attaques par rediffusion pour les premières données d’application 0-RTT | Oui | *NA |
Authentification client facultative ou obligatoire basée sur des certificats, avec prise en charge de la validation OCSP et CRL des certificats homologues | Oui | Oui |
Extension du nom du serveur : sélection du certificat du serveur à l’aide de SNI | Oui | *NA |
Négociation de protocole d’application (ALPN) à l’aide de l’extension application_level_protocol_negotiation | Oui | Oui |
Agrafage OCSP | Oui | *NA |
Les messages de journal et les enregistrements AppFlow sont produits pour les handshakes TLS 1.3 | Oui | Oui |
Enregistrement facultatif des secrets de trafic TLS 1.3 par l’utilitaire de capture nstrace de paquets |
Oui | Oui |
Interopérabilité avec les homologues TLS implémentant la RFC 8446. Par exemple, Mozilla Firefox, Google Chrome et OpenSSL. | Oui | Oui |
*NA - non applicable
Configuration
Le protocole TLS 1.3 est désactivé par défaut sur un profil SSL. Bien que vous puissiez activer le protocole TLS 1.3 sur l’ancien profil, certaines fonctionnalités, telles que les poignées de main abrégées lorsque la reprise de session basée sur des tickets est activée et les premières données d’application 0-RTT, ne sont pas prises en charge sur l’ancien profil.
Ajouter un profil SSL frontal à l’aide de l’interface de ligne de commande
À l’invite de commandes, tapez :
add ssl profile tls13profile -tls13 ENABLED
<!--NeedCopy-->
Exemple :
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-->
Ajouter un profil SSL frontal à 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, puis sur Terminé.
Ajouter un profil SSL principal à l’aide de l’interface de ligne de commande
À l’invite de commandes, tapez :
add ssl profile profile1 -sslprofileType BackEnd -tls13 ENABLED
<!--NeedCopy-->
Exemple :
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-->
Ajouter un profil SSL principal à 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 Type de profil SSL, sélectionnez BackEnd.
- Dans Protocol, sélectionnez TLSv13.
- Cliquez sur OK, puis sur Terminé.
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 <profile-name>
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.
- Cliquez sur Modifier.
- Dans Paramètres avancés, cliquez sur Profil SSL.
- Sélectionnez le profil TLS 1.3 créé précédemment.
- Cliquez sur OK, puis sur Terminé.
Liez un profil SSL à un service SSL à l’aide de l’interface de ligne de commande
À l’invite de commandes, tapez :
set ssl service <serviceName> -sslProfile <profile-name>
Exemple :
set ssl service ssl-service -sslProfile tls13profile2
Remarque :
Un avertissement s’affiche si vous liez un profil frontal à un service SSL.
Liez un profil SSL à un service SSL à l’aide de l’interface graphique
- Accédez à Gestion du trafic > Équilibrage de charge > Services, puis sélectionnez un service SSL.
- Cliquez sur Modifier.
- Dans Paramètres avancés, cliquez sur Profil SSL.
- Sélectionnez le profil TLS 1.3 créé précédemment.
- Cliquez sur OK, puis sur Terminé.
Paramètres de profil SSL pour le protocole TLS 1.3
Remarque :
Seul tls13 s’applique à un profil SSL principal.
-
Activez ou désactivez les paramètres TLS 1.3 dans un profil SSL.
tls13 : État de la prise en charge du protocole TLS 1.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 le protocole TLS 1.3 est négocié, que la reprise basée sur les tickets est activée et que (1) une poignée de main est terminée ou (2) l’authentification du client se termine après la prise de contact.
Cette valeur peut être augmentée pour permettre aux pairs d’ouvrir plusieurs connexions parallèles en utilisant 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-->
-
Réglez l’é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-->
-
Activez ou désactivez 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 de l’application peuvent être traitées avant la fin de la poignée de main.
DÉSACTIVÉ : les premières données de l’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 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-->
Limitations
- Le protocole TLS 1.3 n’est pas pris en charge sur une appliance NetScaler FIPS.
- Seuls les certificats RSA dotés de clés 1024 bits et plus sont pris en charge dans un handshake TLS 1.3.
Restrictions relatives
Les opérateurs de serveurs TLS 1.3 doivent garder à l’esprit les restrictions de sécurité suivantes pour des raisons de rétrocompatibilité décrites dans la RFC 8446. La configuration par défaut sur un boîtier NetScaler est conforme à ces restrictions. Cependant, une appliance NetScaler n’applique pas 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 TLS 1.3 est activé (SSLv3 est désactivé par défaut).
Remarque :
Pour plus d’informations sur la résolution des problèmes liés aux protocoles qui s’exécutent sur TLS 1.3, consultez la section Déchiffrement du trafic TLS 1.3à partir de la trace de paquets.