ADC

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

  1. Accédez à Système > Profils. Sélectionnez Profils SSL.
  2. Cliquez sur Ajouter et spécifiez un nom pour le profil.
  3. Dans Protocol, sélectionnez TLSv13.

    Créer un profil TLSv13

  4. 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

  1. Accédez à Système > Profils. Sélectionnez Profils SSL.
  2. Cliquez sur Ajouter et spécifiez un nom pour le profil.
  3. Dans Type de profil SSL, sélectionnez BackEnd.

    Profil dorsal SSL

  4. Dans Protocol, sélectionnez TLSv13.
  5. 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

  1. Accédez à Gestion du trafic > Équilibrage de charge > Serveurs virtuels, puis sélectionnez un serveur virtuel SSL.
  2. Cliquez sur Modifier.
  3. Dans Paramètres avancés, cliquez sur Profil SSL.
  4. Sélectionnez le profil TLS 1.3 créé précédemment.
  5. 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

  1. Accédez à Gestion du trafic > Équilibrage de charge > Services, puis sélectionnez un service SSL.
  2. Cliquez sur Modifier.
  3. Dans Paramètres avancés, cliquez sur Profil SSL.
  4. Sélectionnez le profil TLS 1.3 créé précédemment.
  5. 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.

  1. 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-->
    
  2. 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-->
    
  3. 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-->
    
  4. 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.

Support du protocole TLS 1.3