Déchargement et accélération SSL

Configuration de déchargement SSL

Pour configurer le déchargement SSL, vous devez activer le traitement SSL sur l’appliance Citrix ADC et configurer un serveur virtuel SSL. Le serveur virtuel intercepte le trafic SSL, décrypte le trafic et le transmet à un service lié au serveur virtuel. Pour sécuriser le trafic temporel, tel que la diffusion multimédia, vous pouvez configurer un serveur virtuel DTLS. Pour activer le déchargement SSL, vous devez importer un certificat et une clé valides et lier la paire au serveur virtuel.

Activer SSL

Pour traiter le trafic SSL, vous devez activer le traitement SSL. Vous pouvez configurer des entités SSL, telles que des serveurs virtuels et des services, sans activer le traitement SSL. Cependant, ils ne fonctionnent pas tant que le traitement SSL n’est pas activé.

Activer le traitement SSL à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez :

enable ns feature ssl

show ns feature

Exemple :

enable ns feature SSL
 Done
show ns feature

        Feature                        Acronym              Status
        -------                        -------              ------
 1)     Web Logging                    WL                   OFF
 2)     Surge Protection               SP                   ON
 3)     Load Balancing                 LB                   ON
 .
 .
 .
 9)     SSL Offloading                 SSL                  ON
 .
 .
 .
 24)    NetScaler Push                 push                 OFF
 Done

Activer le traitement SSL à l’aide de l’interface graphique

Accédez à Système > Paramètres et, dans le groupe Modes et fonctionnalités, cliquez sur Configurer les fonctionnalités de base, puis sur Déchargement SSL.

Configurer les services

Sur l’appliance Citrix ADC, un service représente un serveur physique ou une application sur un serveur physique. Une fois configurés, les services sont désactivés jusqu’à ce que l’appliance puisse atteindre le serveur physique du réseau et surveiller son état.

Ajouter un service à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez les commandes suivantes pour ajouter un service et vérifier la configuration :

add service <name> (<IP> | <serverName>) <serviceType> <port>
show service <serviceName>

Exemple :

add service sslsvc 198.51.100.225 SSL 443

Done

sh ssl service sslsvc

            Advanced SSL configuration for Back-end SSL Service sslsvc:
            DH: DISABLED
            DH Private-Key Exponent Size Limit: DISABLED    Ephemeral RSA: DISABLED
            Session Reuse: ENABLED          Timeout: 300 seconds
            Cipher Redirect: DISABLED
            SSLv2 Redirect: DISABLED
            ClearText Port: 0
            Server Auth: DISABLED
            SSL Redirect: DISABLED
            Non FIPS Ciphers: DISABLED
            SNI: DISABLED
            OCSP Stapling: DISABLED
            SSLv2: DISABLED  SSLv3: ENABLED  TLSv1.0: ENABLED  TLSv1.1: ENABLED  TLSv1.2: ENABLED  TLSv1.3: DISABLED
            Send Close-Notify: YES
            Strict Sig-Digest Check: DISABLED
            Zero RTT Early Data: ???
            DHE Key Exchange With PSK: ???
            Tickets Per Authentication Context: ???

            ECC Curve: P_256, P_384, P_224, P_521

    1)      Cipher Name: DEFAULT_BACKEND
            Description: Default cipher list for Backend SSL session
     Done

Modifier ou supprimer un service à l’aide de l’interface de ligne de commande

Pour modifier un service, utilisez la commande set service, qui ressemble à la commande add service, sauf que vous entrez le nom d’un service existant. Pour supprimer un service, utilisez la commande rm service, qui accepte uniquement l’argument <name>.

Configurer un service à l’aide de l’interface graphique

Accédez à Gestion du trafic > Équilibrage de charge > Services, créez un service et spécifiez le protocole SSL.

Configuration du serveur virtuel SSL

Les sessions sécurisées nécessitent l’établissement d’une connexion entre le client et un serveur virtuel SSL sur l’appliance Citrix ADC. Le serveur virtuel SSL intercepte le trafic SSL, le déchiffre et le traite avant de l’envoyer aux services liés au serveur virtuel.

Remarque : le serveur virtuel SSL est marqué comme étant hors tension sur l’appliance Citrix ADC jusqu’à ce qu’une paire de certificat/clé valide et au moins un service y soient liés. Un serveur virtuel basé sur SSL est un serveur virtuel d’équilibrage de charge de type protocole SSL ou SSL_TCP. La fonction d’équilibrage de charge doit être activée sur l’appliance Citrix ADC.

Ajouter un serveur virtuel SSL à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez les commandes suivantes pour créer un serveur virtuel SSL et vérifier la configuration :

add lb vserver <name> (serviceType) <IPAddress> <port>
show ssl vserver <name>

Exemple :

add lb vserver sslvs SSL 192.0.2.240 443
Done

sh ssl vserver sslvs

            Advanced SSL configuration for VServer sslvs:
            DH: DISABLED
            DH Private-Key Exponent Size Limit: DISABLED    Ephemeral RSA: ENABLED          Refresh Count: 0
            Session Reuse: ENABLED          Timeout: 120 seconds
            Cipher Redirect: DISABLED
            SSLv2 Redirect: DISABLED
            ClearText Port: 0
            Client Auth: DISABLED
            SSL Redirect: DISABLED
            Non FIPS Ciphers: DISABLED
            SNI: DISABLED
            OCSP Stapling: DISABLED
            HSTS: DISABLED
            HSTS IncludeSubDomains: NO
            HSTS Max-Age: 0
            SSLv2: DISABLED  SSLv3: ENABLED  TLSv1.0: ENABLED  TLSv1.1: ENABLED  TLSv1.2: ENABLED  TLSv1.3: DISABLED
            Push Encryption Trigger: Always
            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
            ECC Curve: P_256, P_384, P_224, P_521

    1)      Cipher Name: DEFAULT
            Description: Default cipher list with encryption strength >= 128bit
     Done

Modifier ou supprimer un serveur virtuel SSL à l’aide de l’interface de ligne de commande

Pour modifier les propriétés d’équilibrage de charge d’un serveur virtuel SSL, utilisez la commande set lb vserver. La commande set est similaire à la commande add lb vserver, sauf que vous entrez le nom d’un serveur virtuel existant. Pour modifier les propriétés SSL d’un serveur virtuel SSL, utilisez la commande set ssl vserver. Pour plus d’informations, consultez la section « Paramètres du serveur virtuel SSL » plus loin dans cette page.

Pour supprimer un serveur virtuel SSL, utilisez la commande rm lb vserver, qui accepte uniquement l’argument <name>.

Configurer un serveur virtuel SSL à l’aide de l’interface graphique

Accédez à Gestion du trafic > Équilibrage de charge > Serveurs virtuels, créez un serveur virtuel et spécifiez le protocole en tant que protocole SSL.

Lier des services au serveur virtuel SSL

L’appliance ADC transfère les données SSL déchiffrées aux serveurs du réseau. Pour transférer des données, les services représentant ces serveurs physiques doivent être liés au serveur virtuel qui reçoit les données SSL.

En règle générale, la liaison entre l’appliance ADC et le serveur physique est sécurisée. Par conséquent, le transfert de données entre l’appliance et le serveur physique n’a pas besoin d’être chiffré. Toutefois, vous pouvez fournir un chiffrement de bout en bout en chiffrant le transfert de données entre l’appliance et le serveur. Pour plus de détails, consultez la section Configurer le déchargement SSL avec le chiffrement de bout en bout.

Remarque : Activez la fonctionnalité d’équilibrage de charge sur l’appliance ADC avant de lier les services au serveur virtuel SSL.

Lier un service à un serveur virtuel à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez les commandes suivantes pour lier le service au serveur virtuel et vérifier la configuration :

bind lb vserver <name> <serviceName>
show lb vserver <name>

Exemple :

bind lb vserver sslvs sslsvc
     Done

sh lb vserver sslvs

            sslvs (192.0.2.240:443) - SSL       Type: ADDRESS
            State: DOWN[Certkey not bound]
            Last state change was at Wed May  2 11:43:04 2018
            Time since last state change: 0 days, 00:13:21.150
            Effective State: DOWN
            Client Idle Timeout: 180 sec
            Down state flush: ENABLED
            Disable Primary Vserver On Down : DISABLED
            Appflow logging: ENABLED
            No. of Bound Services :  1 (Total)       0 (Active)
            Configured Method: LEASTCONNECTION      BackupMethod: ROUNDROBIN
            Mode: IP
            Persistence: NONE
            Vserver IP and Port insertion: OFF
            Push: DISABLED  Push VServer:
            Push Multi Clients: NO
            Push Label Rule: none
            L2Conn: OFF
            Skip Persistency: None
            Listen Policy: NONE
            IcmpResponse: PASSIVE
            RHIstate: PASSIVE
            New Service Startup Request Rate: 0 PER_SECOND, Increment Interval: 0
            Mac mode Retain Vlan: DISABLED
            DBS_LB: DISABLED
            Process Local: DISABLE
            Traffic Domain: 0
            TROFS Persistence honored: ENABLED
            Retain Connections on Cluster: NO
    1) sslsvc (198.51.100.225: 443) - SSL State: DOWN       Weight: 1
     Done

Dissocier un service d’un serveur virtuel à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez la commande suivante :

unbind lb vserver <name> <serviceName>

Exemple :

unbind lb vserver sslvs sslsvc
     Done

Lier un service à un serveur virtuel à l’aide de l’interface graphique

  1. Accédez à Gestion du trafic > Équilibrage de charge > Serveurs virtuels.
  2. Ouvrez un serveur virtuel, puis cliquez dans la section Services pour lier un service au serveur virtuel.

Configurer un serveur virtuel d’indication de nom de serveur (SNI) pour l’hébergement sécurisé de plusieurs sites

L’hébergement virtuel est utilisé par les serveurs Web pour héberger plus d’un nom de domaine avec la même adresse IP. L’appliance prend en charge l’hébergement de plusieurs domaines sécurisés en déchargeant le traitement SSL des serveurs Web à l’aide de services SSL transparents ou de déchargement SSL basé sur un serveur virtuel. Toutefois, lorsque plusieurs sites Web sont hébergés sur le même serveur virtuel, la liaison SSL est terminée avant que le nom d’hôte attendu soit envoyé au serveur virtuel. Par conséquent, l’appliance ne peut pas déterminer le certificat à présenter au client après l’établissement d’une connexion. Ce problème est résolu en activant SNI sur le serveur virtuel. SNI est une extension TLS (Transport Layer Security) utilisée par le client pour fournir le nom d’hôte lors de l’initiation de la poignée de main. L’appliance ADC compare ce nom d’hôte au nom commun et, s’il ne correspond pas, le compare au nom alternatif du sujet (SAN). Si le nom correspond, l’appliance présente le certificat correspondant au client.

Un certificat SSL générique permet d’activer le chiffrement SSL sur plusieurs sous-domaines si la même organisation contrôle ces domaines et que le nom de domaine de deuxième niveau est le même. Par exemple, un certificat générique délivré à un réseau sportif utilisant le nom commun « *.sports.net » peut être utilisé pour sécuriser des domaines, tels que « login.sports.net » et « help.sports.net » mais pas « login.ftp.sports.net ».

Remarque : sur une appliance ADC, seules les entrées DNS de nom de domaine, d’URL et d’ID de messagerie dans le champ SANsont comparées.

Vous pouvez lier plusieurs certificats de serveur à un seul serveur virtuel SSL ou un service transparent à l’aide de l’option -snicert. Le serveur virtuel ou le service émet ces certificats si SNI est activé sur le serveur ou le service virtuel. Vous pouvez activer SNI à tout moment.

Liez plusieurs certificats de serveur à un seul serveur virtuel SSL à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez les commandes suivantes pour configurer SNI et vérifier la configuration :

set ssl vserver <vServerName>@ [-SNIEnable ( ENABLED | DISABLED )]

bind ssl vserver <vServerName>@ -certkeyName <string> -SNICert

show ssl vserver <vServerName>

Pour lier plusieurs certificats de serveur à un service transparent à l’aide de l’interface de ligne de commande, remplacez vserver par le service et vservername par le nom de service dans les commandes précédentes.

Remarque : Créez le service SSL avec l’option -clearTextPort 80.

Liez plusieurs certificats de serveur à un serveur virtuel SSL unique à l’aide de l’interface graphique

  1. Accédez à Gestion du trafic > Équilibrage de charge > Serveurs virtuels.
  2. Ouvrez un serveur virtuel SSL et, dans Certificats, sélectionnez Certificat de serveur.
  3. Ajoutez un certificat ou sélectionnez un certificat dans la liste, puis cliquez sur Certificat de serveur pour SNI.
  4. Dans Paramètres avancés, sélectionnez Paramètres SSL.
  5. Cliquez sur Activation SNI.

Prise en charge de SNI sur le service back-end

Remarque : SNI n’est pas pris en charge sur un service dorsal DTLS.

L’appliance Citrix ADC prend en charge l’indication de nom de serveur (SNI) au niveau du back-end. Autrement dit, le nom commun est envoyé comme nom de serveur dans le client bonjour au serveur principal pour la réussite de la poignée de main. Ce support permet de répondre aux exigences de sécurité des clients de l’intégrateur de systèmes fédéral. En outre, SNI offre l’avantage d’utiliser un seul port au lieu d’ouvrir des centaines d’adresses IP et de ports différents sur un pare-feu.

Les exigences de sécurité des clients de l’intégrateur de système fédéral incluent la prise en charge des services ADFS (Active Directory Federation Services) 3.0 dans 2012R2 et les serveurs WAP. Pour répondre à cette exigence, la prise en charge de SNI au back-end d’une appliance Citrix ADC est requise.

Remarque :

Pour que SNI fonctionne, le nom du serveur dans le client Hello doit correspondre au nom d’hôte configuré sur le service principal lié à un serveur virtuel SSL. Par exemple, si le nom d’hôte du serveur principal est www.mail.example.com, le service principal compatible SNI doit être configuré avec le nom du serveur comme https://www.mail.example.com. Et ce nom d’hôte doit correspondre au nom du serveur dans le client hello.

Prise en charge de SNI dynamique sur le service back-end

L’appliance Citrix ADC prend en charge les connexions SNI dynamiques sur les connexions TLS dorsales. En d’autres termes, l’appliance apprend le SNI dans la connexion client et l’utilise dans la connexion côté serveur. Vous n’avez plus besoin de spécifier un nom commun dans le service, le groupe de services ou le profil SSL. Le nom commun reçu dans l’extension SNI du message Client Hello est transmis à la connexion SSL back-end.

Auparavant, vous deviez configurer des SNI statiques sur les services SSL, les groupes de services et les profils SSL. Par conséquent, seule l’extension SNI statique configurée a été envoyée au serveur. Si un client devait accéder à plusieurs domaines en même temps, l’appliance ADC n’a pas pu envoyer le SNI reçu du client au service principal. Au lieu de cela, il a envoyé le nom commun statique qui a été configuré. Maintenant, si le serveur principal est configuré pour plusieurs domaines, le serveur peut répondre avec le certificat correct basé sur le SNI reçu dans le message Client Hello de l’appliance.

Pointez à la note :

  • SNI doit être activé sur le front end et le certificat SNI correct lié au serveur virtuel SSL. Si vous n’activez pas SNI sur le front end, les informations SNI ne sont pas transmises au back-end.

  • Lorsque l’authentification du serveur est activée, le certificat du serveur est vérifié par le certificat de l’autorité de certification et les entrées de nom/SAN communes dans le certificat du serveur correspondent au SNI. Par conséquent, le certificat de l’autorité de certification doit être lié au service.

  • La réutilisation de la connexion back-end et de la session SSL est basée sur SNI lorsque SNI dynamique est activé.

Les moniteurs SSL n’envoient pas de SNI lorsque SNI dynamique est activé. Pour une sonde basée sur SNI, attachez un profil back-end sur lequel SNI statique est configuré aux moniteurs SSL. Le moniteur doit être configuré avec le même en-tête personnalisé que SNI.

Configurer SNI sur le service principal à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez :

add service <name>  <IP>  <serviceType>  <port>

add lb vserver <name>  <IPAddress> <serviceType>  <port>

bind lb vserver <name> <serviceName>

set ssl service <serviceName> -SNIEnable ENABLED -commonName <string>

set ssl profile <name> -SNIEnable ENABLED

Exemple :

    add service service_ssl 198.51.100.100 SSL 443

    add lb vserver ssl-vs 203.0.113.200 SSL 443

    bind lb vserver ssl-vs service_ssl

    set ssl service service_ssl -SNIEnable ENABLED –commonName www.example.com

    set ssl profile sslprof -SNIEnable ENABLED

Configurer SNI sur le service principal à l’aide de l’interface graphique

  1. Accédez à Gestion du trafic > Équilibrage de charge > Services.
  2. Sélectionnez un service SSL et, dans Paramètres avancés, cliquez sur Paramètres SSL.
  3. Cliquez sur Activation SNI.

    Activer SNI

Configurer SNI sur le profil SSL à l’aide de l’interface graphique

  1. Accédez à Système > Profils > Profil SSL.
  2. Cliquez sur Add.
  3. Dans Paramètres de base, sélectionnez Activation SNI.

    SNI dans le profil

  4. Cliquez sur OK.

Liez un moniteur sécurisé à un service back-end compatible SNI

Vous pouvez lier des moniteurs sécurisés de type HTTP, HTTP-ECV, TCP ou TCP-ECV aux services back-end et aux groupes de services qui prennent en charge SNI. Toutefois, les sondes du moniteur n’envoient pas l’extension SNI si SNI dynamique est activé. Pour envoyer des sondes SNI, activez SNI statique dans le profil SSL back-end et liez le profil au moniteur. Définissez l’en-tête personnalisé dans le moniteur sur le nom du serveur qui est envoyé en tant qu’extension SNI dans le Hello client de la sonde moniteur.

Configurer et lier un moniteur sécurisé à un service back-end compatible SNI à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez :

add lb monitor <monitorName> <type> -secure YES
add ssl profile <name> -sslProfileType BackEnd
set lb monitor <monitorName> <type> -customHeaders <string> -sslprofile <backend ssl profile>
set ssl profile <name> -sniEnable ENABLED -commonName <string>
bind service <name> -monitorName <string>

Exemple :

add ssl profile sni_backend_profile -sslProfileType BackEnd
set ssl profile sni_backend_profile -sniEnable ENABLED -commonName example.com
add lb monitor http-ecv-mon HTTP-ECV -secure YES
set monitor http-ecv-mon HTTP-ECV -customHeaders "Host: example.com\r\n" -sslprofile sni_backend_profile
bind service ssl_service –monitorName http-ecv-mon

Configurer et lier un moniteur sécurisé à un service back-end compatible SNI à l’aide de l’interface graphique

  1. Accédez à Système > Profils > Profils SSL.
  2. Cliquez sur Add.
  3. Spécifiez un nom pour le profil et dans Type de profil SSL, sélectionnez Backend.

    Profil SSL activé SNI

  4. Spécifiez le nom commun (identique à l’en-tête d’hôte) et sélectionnez SNI Enable.

    Nom commun dans le profil SSL activé SNI

  5. Cliquez sur OK.
  6. Accédez à Gestion du trafic > Équilibrage de charge > Surveiller.
  7. Cliquez sur Add.
  8. Spécifiez un nom pour le moniteur. Dans Type, sélectionnez HTTP, HTTP-ECV, TCP ou TCP-ECV.
  9. Spécifiez un en-tête personnalisé.

    En-tête personnalisé dans le profil SSL activé SNI

  10. Sélectionnez Sécurisé.
  11. Dans Profile SSL, sélectionnez le profil SSL back-end créé dans les étapes précédentes.
  12. Cliquez sur Créer.

    Créer un profil SSL compatible SNI

  13. Accédez à Gestion du trafic > Équilibrage de charge > Services.
  14. Sélectionnez un service SSL et cliquez sur Modifier.
  15. Dans Moniteurs, cliquez sur Ajouter une liaison, sélectionnez le moniteur créé dans les étapes précédentes, puis cliquez sur Lier.

    Liez le moniteur sécurisé au service SSL compatible SNI

Configurer et lier un moniteur sécurisé à un service back-end compatible SNI à l’aide de l’interface graphique

  1. Accédez à Gestion du trafic > Équilibrage de charge > Moniteur.
  2. Ajoutez un moniteur de type HTTP-ECV ou TCP-ECV et spécifiez un en-tête personnalisé.
  3. Sélectionnez Créer.
  4. Accédez à Gestion du trafic > Équilibrage de charge > Services.
  5. Sélectionnez un service SSL et cliquez sur Modifier.
  6. Dans Moniteurs, cliquez sur Ajouter une liaison, sélectionnez le moniteur créé à l’étape 3, puis cliquez sur Lier.

Ajouter ou mettre à jour une paire de clés de certificat

Remarques :

Si vous n’avez pas de certificat et de clé existants, reportez-vous à la section Créer un certificat.

Pour créer une paire de clés de certificat ECDSA, cliquez surCréer une paire de clés de certificat ECDSA.

À partir de la version 41.x, les noms de certificats pouvant contenir jusqu’à 63 caractères sont pris en charge.

Pour toute transaction SSL, le serveur a besoin d’un certificat valide et de la paire de clés privées et publiques correspondante. Les données SSL sont chiffrées avec la clé publique du serveur, qui est disponible via le certificat du serveur. Le décryptage nécessite la clé privée correspondante. Le mot de passe de la clé privée utilisée lors de l’ajout d’une paire de clés de certificat SSL est enregistré à l’aide d’une clé de chiffrement unique pour chaque appliance Citrix ADC.

L’appliance ADC décharge les transactions SSL du serveur. Par conséquent, le certificat et la clé privée du serveur doivent être présents sur l’appliance et le certificat doit être associé à sa clé privée correspondante. Cette paire de clés de certificat doit être liée au serveur virtuel qui traite les transactions SSL.

Remarque : Le certificat par défaut sur une appliance Citrix ADC est de 2048 bits. Dans les versions précédentes, le certificat par défaut était 512 bits ou 1024 bits. Après la mise à niveau vers la version 11.0, vous devez supprimer toutes vos anciennes paires de clés de certificat en commençant par"ns-", puis redémarrer l’appliance pour générer automatiquement un certificat par défaut de 2048 bits.

Le certificat et la clé doivent tous deux se trouver dans le stockage local de l’appliance Citrix ADC avant de pouvoir être ajoutés à l’appliance. Si votre certificat ou fichier de clé ne se trouve pas sur l’appliance, téléchargez-le sur l’appliance avant de créer la paire.

Important : les certificats et les clés sont stockés dans le répertoire /nsconfig/ssl par défaut. Si vos certificats ou clés sont stockés dans un autre emplacement, vous devez fournir le chemin d’accès absolu aux fichiers de l’appliance Citrix ADC. Les appliances Citrix ADC FIPS ne prennent pas en charge les clés externes (clés non FIPS). Sur une appliance FIPS, vous ne pouvez pas charger de clés à partir d’un périphérique de stockage local tel qu’un disque dur ou une mémoire flash. Les clés FIPS doivent être présentes dans le Hardware Security Module (HSM) de l’appliance.

Sur une appliance Citrix ADC MPX et une appliance Citrix ADC FIPS, seules les clés privées RSA sont prises en charge. Sur une appliance virtuelle VPX, les clés privées RSA et DSA sont prises en charge. Sur une appliance SDX si des puces SSL sont affectées à une instance, seules les clés privées RSA sont prises en charge. Toutefois, si les puces SSL ne sont pas affectées à une instance, les clés privées RSA et DSA sont prises en charge. Dans tous les cas, vous pouvez lier un certificat d’autorité de certification avec des clés RSA ou DSA.

Définissez la période de notification et activez le moniteur d’expiration pour émettre une invite avant l’expiration du certificat.

L’appliance Citrix ADC prend en charge les formats d’entrée suivants du certificat et des fichiers de clé privée :

  • PEM - Courrier amélioré de confidentialité
  • DER - Règle de codage distinguée
  • PFX - Échange de renseignements personnels

Le logiciel détecte automatiquement le format. Par conséquent, vous n’êtes plus obligé de spécifier le format dans le paramètre inform. Si vous spécifiez le format (correct ou incorrect), le logiciel l’ignore. Le format du certificat et du fichier de clé doivent être identiques.

Remarque : Un certificat doit être signé à l’aide de l’un des algorithmes de hachage suivants :

  • MD5
  • SHA-1
  • SHA-224
  • SHA-256
  • SHA-384 (pris en charge uniquement sur l’extrémité frontale)
  • SHA-512 (pris en charge uniquement sur l’extrémité frontale)

Une appliance MPX prend en charge les certificats de 512 bits ou plus, jusqu’aux tailles suivantes :

  • Certificat de serveur 4096 bits sur le serveur virtuel
  • Certificat client 4096 bits sur le service
  • Certificat d’autorité de certification 4096 bits (inclut les certificats intermédiaires et racine)
  • Certificat 4096 bits sur le serveur principal
  • Certificat client 4096 bits (si l’authentification client est activée sur le serveur virtuel)

Un dispositif virtuel VPX prend en charge les certificats de 512 bits ou plus, jusqu’aux tailles suivantes :

  • Certificat de serveur 4096 bits sur le serveur virtuel
  • Certificat client 4096 bits sur le service
  • Certificat d’autorité de certification 4096 bits (inclut les certificats intermédiaires et racine)
  • Certificat 4096 bits sur le serveur principal
  • Certificat client 2048 bits (si l’authentification client est activée sur le serveur virtuel)

Remarque

Une appliance Citrix ADC SDX prend en charge les certificats de 512 bits ou plus. Chaque instance Citrix ADC VPX hébergée sur l’appliance prend en charge les tailles de certificat précédentes pour une appliance virtuelle VPX. Toutefois, si une puce SSL est affectée à une instance, cette instance prend en charge les tailles de certificat prises en charge par une appliance MPX.

Ajouter une paire de clés de certificat à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez les commandes suivantes pour ajouter une paire de clés de certificat et vérifier la configuration :

add ssl certKey <certkeyName> -cert <string>[(-key <string> [-password]) | -fipsKey <string>] [-inform ( DER | PEM )] [<passplain>] [-expiryMonitor ( ENABLED | DISABLED ) [-notificationPeriod <positive_integer>]]

show ssl certKey [<certkeyName>]

Exemple :

add ssl certKey sslckey -cert server_cert.pem -key server_key.pem -password ssl -expiryMonitor ENABLED -notificationPeriod 30
 Done
Note: For FIPS appliances, replace -key with -fipskey

show ssl certKey sslckey
        Name: sslckey           Status: Valid,   Days to expiration:8418
        Version: 3
        Serial Number: 01
        Signature Algorithm: md5WithRSAEncryption
        Issuer:  C=US,ST=SJ,L=SJ,O=NS,OU=NSSSL,CN=www.root.com
        Validity
                Not Before: Jul 15 02:25:01 2005 GMT
                Not After : Nov 30 02:25:01 2032 GMT
        Subject:  C=US,ST=SJ,L=SJ,O=NS,OU=NSSSL,CN=www.server.com
        Public Key Algorithm: rsaEncryption
        Public Key size: 2048
 Done

Mettre à jour ou supprimer une paire de clés de certificat à l’aide de l’interface de ligne de commande

Pour modifier le moniteur d’expiration ou la période de notification dans une paire de clés de certificat, utilisez la commande set ssl certkey. Pour remplacer le certificat ou la clé dans une paire de clés de certificat, utilisez la commande update ssl certkey. La commande update ssl certkey a un paramètre supplémentaire pour remplacer la vérification du domaine. Pour les deux commandes, entrez le nom d’une paire de clés de certificat existante. Pour supprimer une paire de clés de certificat SSL, utilisez la commande rm ssl certkey, qui accepte uniquement l’argument <certkeyName>.

Exemple :

set ssl certKey <certkeyName> [-expiryMonitor ( ENABLED | DISABLED )
       [-notificationPeriod <positive_integer>]]

update ssl certKey <certkeyName> [-cert <string> [-password]] [-key
       <string> | -fipsKey <string>] [-inform <inform>] [-noDomainCheck]

Ajouter ou mettre à jour une paire de clés de certificat à l’aide de l’interface graphique

  1. Accédez à Gestion du trafic > SSL > Certificats > Serveur.

    Installation du certificat

  2. Entrez des valeurs pour les paramètres suivants et cliquez sur Installer.

    • Nom de la paire de clés de certificat - Nom du certificat et de la paire de clés privées.

    • Nom du fichier de certificat - Certificat signé reçu de l’autorité de certification.

    • Nom du fichier de clé - Nom du fichier de clé privée et éventuellement chemin d’accès au fichier de clé privée utilisé pour former la paire de clés de certificat.

    valeurs de type

Lier la paire de clés de certificat au serveur virtuel SSL

Important : associez tous les certificats intermédiaires à ce certificat avant de lier le certificat à un serveur virtuel SSL. Pour plus d’informations sur la liaison de certificats, reportez-vous à la section Créer une chaîne de certificats.

Le certificat utilisé pour le traitement des transactions SSL doit être lié au serveur virtuel qui reçoit les données SSL. Si plusieurs serveurs virtuels reçoivent des données SSL, une paire de clés de certificat valide doit être liée à chacun d’eux.

Utilisez un certificat SSL existant valide que vous avez chargé sur l’appliance Citrix ADC. Comme alternative à des fins de test, créez votre propre certificat SSL sur l’appliance. Les certificats intermédiaires créés à l’aide d’une clé FIPS sur l’appliance ne peuvent pas être liés à un serveur virtuel SSL.

Pendant la poignée de main SSL, dans le message de demande de certificat lors de l’authentification du client, le serveur répertorie les noms distinctifs (DN) de toutes les autorités de certification (CA) liées au serveur. Le serveur accepte un certificat client uniquement à partir de cette liste. Si vous ne souhaitez pas que le nom DN d’un certificat d’autorité de certification spécifique soit envoyé au client SSL, définissez l’indicateur skipCA. Ce paramètre indique que le nom unique du certificat d’autorité de certification particulière ne doit pas être envoyé au client SSL.

Pour plus d’informations sur la création de votre propre certificat, reportez-vous à la section Gestion des certificats.

Remarque : Citrix vous recommande d’utiliser uniquement des certificats SSL valides émis par une autorité de certification approuvée.

Lier une paire de clés de certificat SSL à un serveur virtuel à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez les commandes suivantes pour lier une paire de clés de certificat SSL à un serveur virtuel et vérifier la configuration :

-  bind ssl vserver <vServerName> -certkeyName <certificate-KeyPairName> -CA -skipCAName
-  show ssl vserver <vServerName>

Exemple :

bind ssl vs vs1 -certkeyName cert2 -CA -skipCAName
 Done
sh ssl vs vs1

 Advanced SSL configuration for VServer vs1:

 DH: DISABLED

 Ephemeral RSA: ENABLED Refresh Count: 0

 Session Reuse: ENABLED Timeout: 120 seconds

 Cipher Redirect: DISABLED

 SSLv2 Redirect: DISABLED

 ClearText Port: 0

 Client Auth: DISABLED

 SSL Redirect: DISABLED

 Non FIPS Ciphers: DISABLED

 SNI: DISABLED

 OCSP Stapling: DISABLED

 HSTS: DISABLED

 IncludeSubDomains: NO

 HSTS Max-Age: 0

 SSLv2: DISABLED SSLv3: ENABLED  TLSv1.0: ENABLED  TLSv1.1: DISABLED  TLSv1.2: DISABLED

 Push Encryption Trigger: Always

 Send Close-Notify: YES

 Strict Sig-Digest Check: DISABLED

ECC Curve: P_256, P_384, P_224, P_521

 1) CertKey Name: cert1 CA Certificate OCSPCheck: Optional CA_Name Sent
 2) CertKey Name: cert2 CA Certificate OCSPCheck: Optional CA_Name Skipped
 1) Cipher Name: DEFAULT

Description: Default cipher list with encryption strength >= 128bit
Done

Dissocier une paire de clés de certificat SSL d’un serveur virtuel à l’aide de l’interface de ligne de commande

Si vous essayez de dissocier une paire de clés de certificat d’un serveur virtuel à l’aide de la commande unbind ssl certKey <certkeyName>, un message d’erreur s’affiche. L’erreur apparaît car la syntaxe de la commande a changé. À l’invite de commandes, tapez la commande suivante :

unbind ssl vserver <vServerName> -certkeyName <string>

Exemple :

unbind ssl vserver vssl -certkeyName sslckey

Lier une paire de clés de certificat SSL à un serveur virtuel à l’aide de l’interface graphique

  1. Accédez à Gestion du trafic > Équilibrage de charge > Serveurs virtuels et ouvrez un serveur virtuel SSL. Cliquez dans la section Certificat.

    Lier un certificat au serveur virtuel

  2. Cliquez sur la flèche pour sélectionner la paire de clés de certificat.

    Cliquez sur la flèche pour sélectionner une paire de clés de certificat

  3. Sélectionnez la paire de clés de certificat dans la liste.

    Sélectionner une paire de clés de certificat

  4. Liez la paire de clés de certificat au serveur virtuel. Pour ajouter un certificat de serveur en tant que certificat SNI, sélectionnez Certificat de serveur pour SNI.

    Liez le certificat au serveur virtuel

Paramètres du serveur virtuel SSL

Définissez la configuration SSL avancée pour un serveur virtuel SSL. Vous pouvez également définir plusieurs de ces paramètres dans un profil SSL. Pour plus d’informations sur les paramètres qui peuvent être définis dans un profil SSL, reportez-vous à la section Paramètres du profil SSL.

Définir les paramètres du serveur virtuel SSL à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez :

set ssl vserver <vServerName>@ [-clearTextPort <port>] [-dh ( ENABLED |DISABLED ) -dhFile <string>] [-dhCount <positive_integer>][-dhKeyExpSizeLimit ( ENABLED | DISABLED )] [-eRSA ( ENABLED | DISABLED) [-eRSACount <positive_integer>]] [-sessReuse ( ENABLED | DISABLED )[-sessTimeout <positive_integer>]] [-cipherRedirect ( ENABLED | DISABLED ) [-cipherURL <URL>]] [-sslv2Redirect ( ENABLED | DISABLED )[-sslv2URL <URL>]] [-clientAuth ( ENABLED | DISABLED ) [-clientCert ( Mandatory | Optional )]] [-sslRedirect ( ENABLED | DISABLED )][-redirectPortRewrite ( ENABLED | DISABLED )] [-ssl2 ( ENABLED | DISABLED )] [-ssl3 ( ENABLED | DISABLED )] [-tls1 ( ENABLED | DISABLED )] [-tls11 ( ENABLED | DISABLED )] [-tls12 ( ENABLED | DISABLED )][-tls13 ( ENABLED | DISABLED )] [-SNIEnable ( ENABLED | DISABLED )][-ocspStapling ( ENABLED | DISABLED )] [-pushEncTrigger <pushEncTrigger>] [-sendCloseNotify ( YES | NO )] [-dtlsProfileName <string>] [-sslProfile <string>] [-HSTS ( ENABLED | DISABLED )][-maxage <positive_integer>] [-IncludeSubdomains ( YES | NO )][-strictSigDigestCheck ( ENABLED | DISABLED )] [-zeroRttEarlyData (ENABLED | DISABLED )] [-tls13SessionTicketsPerAuthContext <positive_integer>] [-dheKeyExchangeWithPsk ( YES | NO )]

Paramètres Diffie-Hellman (DH)

Pour utiliser des chiffrements sur l’appliance qui nécessitent un échange de clés DH pour configurer la transaction SSL, activez l’échange de clés DH sur l’appliance. Configurez d’autres paramètres en fonction de votre réseau.

Pour répertorier les chiffrements pour lesquels les paramètres DH doivent être définis à l’aide de l’interface de ligne de commande, tapez : sh cipher DH.

Pour répertorier les chiffrements pour lesquels les paramètres DH doivent être définis à l’aide de l’utilitaire de configuration, accédez à Gestion du trafic > SSL > Groupes de chiffrement, puis double-cliquez sur DH.

Pour plus d’informations sur l’activation de l’échange de clés DH, reportez-vous à la section Générer une clé Diffie-Hellman (DH).

Configurer les paramètres DH à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez les commandes suivantes pour configurer les paramètres DH et vérifier la configuration :

-  `set ssl vserver <vserverName> -dh <Option> -dhCount <RefreshCountValue> -filepath <string>
-  show ssl vserver <vServerName>`

Exemple :

set ssl vserver vs-server -dh ENABLED  -dhFile /nsconfig/ssl/ns-server.cert -dhCount 1000
Done

show ssl vserver vs-server

            Advanced SSL configuration for VServer vs-server:
            DH: ENABLED
            Ephemeral RSA: ENABLED          Refresh Count: 1000
            Session Reuse: ENABLED          Timeout: 120 seconds
            Cipher Redirect: DISABLED
            SSLv2 Redirect: DISABLED
            ClearText Port: 0
            Client Auth: DISABLED
            SSL Redirect: DISABLED
            Non FIPS Ciphers: DISABLED
            SNI: DISABLED
            OCSP Stapling: DISABLED
            HSTS: DISABLED
            HSTS IncludeSubDomains: NO
            HSTS Max-Age: 0
            SSLv2: DISABLED SSLv3: ENABLED  TLSv1.0: ENABLED TLSv1.2: ENABLED  TLSv1.2: ENABLED

    1)      Cipher Name: DEFAULT
            Description: Predefined Cipher Alias
Done

Configurer les paramètres DH à l’aide de l’interface graphique

  1. Accédez à Gestion du trafic > Équilibrage de charge > Serveurs virtuels, puis ouvrez un serveur virtuel.
  2. Dans la section Paramètres SSL, sélectionnez Activer le param DH, puis spécifiez un nombre d’actualisation et un chemin d’accès au fichier.

RSA éphémère

Ephemeral RSA permet aux clients d’exportation de communiquer avec le serveur sécurisé même si le certificat de serveur ne prend pas en charge les clients d’exportation (certificat 1024 bits). Si vous souhaitez empêcher les clients d’exportation d’accéder à l’objet Web sécurisé ou à la ressource, vous devez désactiver l’échange de clés RSA éphémères.

Par défaut, cette fonctionnalité est activée sur l’appliance Citrix ADC, le nombre d’actualisation étant défini sur zéro (utilisation infinie).

Remarque :

La clé RSA éphémère est automatiquement générée lorsque vous liez un chiffrement d’exportation à un serveur ou service virtuel SSL SSL ou TCP. Lorsque vous supprimez le chiffrement d’exportation, la clé ERSA n’est pas supprimée. Il est réutilisé ultérieurement lorsqu’un autre chiffrement d’exportation est lié à un serveur ou service virtuel SSL SSL ou TCP. La clé ERSA est supprimée lorsque le système redémarre.

Configurer RSA éphémère à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez les commandes suivantes pour configurer RSA éphémère et vérifier la configuration :

set ssl vserver <vServerName> -eRSA (enabled | disabled) -eRSACount <positive_integer>
show ssl vserver <vServerName>

Exemple :

set ssl vserver vs-server -eRSA ENABLED -eRSACount 1000
 Done

show ssl vserver vs-server

        Advanced SSL configuration for VServer vs-server:
        DH: DISABLED
        Ephemeral RSA: ENABLED          Refresh Count: 1000
        Session Reuse: ENABLED          Timeout: 120 seconds
        Cipher Redirect: DISABLED
        SSLv2 Redirect: DISABLED
        ClearText Port: 0
        Client Auth: DISABLED
        SSL Redirect: DISABLED
        Non FIPS Ciphers: DISABLED
        SNI: DISABLED
        OCSP Stapling: DISABLED
        HSTS: DISABLED
        HSTS IncludeSubDomains: NO
        HSTS Max-Age: 0
        SSLv2: DISABLED SSLv3: ENABLED  TLSv1.0: ENABLED TLSv1.2: ENABLED  TLSv1.2: ENABLED

1)      Cipher Name: DEFAULT
        Description: Predefined Cipher Alias
 Done

Configurer RSA éphémère à l’aide de l’interface graphique

  1. Accédez à Gestion du trafic > Équilibrage de charge > Serveurs virtuels, puis ouvrez un serveur virtuel.
  2. Dans la section Paramètres SSL, sélectionnez Activer le RSA éphémèreet spécifiez un nombre d’actualisations.

Réutilisation des sessions

Pour les transactions SSL, l’établissement de la liaison SSL initiale nécessite des opérations de chiffrement de clé publique à forte intensité de CPU. La plupart des opérations de poignée de main sont associées à l’échange de la clé de session SSL (message d’échange de clé client). Lorsqu’une session client est inactive pendant un certain temps et est ensuite reprise, la poignée de main SSL est généralement réexécutée. Lorsque la réutilisation de session est activée, l’échange de clés de session est évité pour les demandes de reprise de session reçues du client.

La réutilisation de session est activée sur l’appliance Citrix ADC par défaut. L’activation de cette fonctionnalité réduit la charge du serveur, améliore le temps de réponse et augmente le nombre de transactions SSL par seconde (TPS) que le serveur peut prendre en charge.

Configurer la réutilisation de session à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez les commandes suivantes pour configurer la réutilisation de session et vérifier la configuration :

set ssl vserver <vServerName> -sessReuse ( ENABLED | DISABLED ) -sessTimeout <positive_integer>
show ssl vserver <vServerName>

Exemple :

set ssl vserver vs-ssl -sessreuse enabled -sesstimeout 600
 Done

show ssl vserver vs-ssl

        Advanced SSL configuration for VServer vs-ssl:
        DH: DISABLED
        Ephemeral RSA: ENABLED          Refresh Count: 1000
        Session Reuse: ENABLED          Timeout: 600 seconds
        Cipher Redirect: DISABLED
        SSLv2 Redirect: DISABLED
        ClearText Port: 0
        Client Auth: DISABLED
        SSL Redirect: DISABLED
        Non FIPS Ciphers: DISABLED
        SNI: DISABLED
        OCSP Stapling: DISABLED
        HSTS: DISABLED
        HSTS IncludeSubDomains: NO
        HSTS Max-Age: 0
        SSLv2: DISABLED SSLv3: ENABLED  TLSv1.0: ENABLED TLSv1.2: ENABLED  TLSv1.2: ENABLED

1)      CertKey Name: Auth-Cert-1       Server Certificate

1)      Cipher Name: DEFAULT
        Description: Predefined Cipher Alias
 Done

Configurer la réutilisation de session à l’aide de l’interface graphique

  1. Accédez à Gestion du trafic > Équilibrage de charge > Serveurs virtuels, puis ouvrez un serveur virtuel.
  2. Dans la section Paramètres SSL, sélectionnez Activer la réutilisation de la session et spécifiez la durée pendant laquelle la session est active.

Paramètres du protocole SSL

L’appliance Citrix ADC prend en charge les protocoles SSLv3, TLSv1, TLSv1.1 et TLSv1.2. Chacun de ces protocoles peut être défini sur l’appliance en fonction de votre déploiement et du type de clients qui se connectent à l’appliance.

Les versions 1.0, 1.1 et 1.2 du protocole TLS sont plus sécurisées que les anciennes versions du protocole TLS/SSL. Toutefois, pour prendre en charge les systèmes hérités, de nombreuses implémentations TLS conservent une compatibilité descendante avec le protocole SSLv3. Dans une poignée de main SSL, la version de protocole la plus élevée commune au client et au serveur virtuel SSL configuré sur l’appliance Citrix ADC est utilisée.

Lors de la première tentative de poignée de main, un client TLS offre la version de protocole la plus élevée qu’il prend en charge. Si la poignée de main échoue, le client propose une version de protocole inférieure. Par exemple, si une poignée de main avec TLS version 1.1 échoue, le client tente de renégocier en proposant le protocole TLSv1.0. Si cette tentative échoue, le client tente de nouveau avec le protocole SSLv3. Un attaquant « man in the middle » (MITM) peut rompre la poignée de main initiale et déclencher une renégociation avec le protocole SSLv3, puis exploiter une vulnérabilité dans SSLv3. Pour atténuer ces attaques, vous pouvez désactiver SSLv3 ou ne pas autoriser la renégociation à l’aide d’un protocole rétrogradé. Toutefois, cette approche peut ne pas être pratique si votre déploiement inclut des systèmes hérités. Une alternative consiste à reconnaître une valeur de suite de chiffrement de signalisation (TLS_FALLBACK_SCSV) dans la requête client.

Une valeur TLS_FALLBACK_SCSV dans un message de bonjour client indique au serveur virtuel que le client a précédemment tenté de se connecter avec une version de protocole supérieure et que la demande actuelle est une solution de secours. Si le serveur virtuel détecte cette valeur et prend en charge une version supérieure à celle indiquée par le client, il rejette la connexion avec une alerte fatale. La poignée de main réussit si l’une des conditions suivantes est remplie :

  • La valeur TLS_FALLBACK_SCSV n’est pas incluse dans le message client Hello.
  • La version de protocole dans le client hello est la version de protocole la plus élevée prise en charge par le serveur virtuel.

Configurer la prise en charge du protocole SSL à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez les commandes suivantes pour configurer la prise en charge du protocole SSL et vérifier la configuration :

set ssl vserver <vServerName> -ssl2 ( ENABLED | DISABLED ) -ssl3 ( ENABLED | DISABLED ) -tls1 ( ENABLED | DISABLED ) -tls11 ( ENABLED | DISABLED ) -tls12 ( ENABLED | DISABLED )

show ssl vserver <vServerName>

Exemple :

set ssl vserver vs-ssl -tls11 ENABLED -tls12 ENABLED
Done

sh ssl vs vs-ssl

        Advanced SSL configuration for VServer vs-ssl:
            DH: DISABLED
            Ephemeral RSA: ENABLED                            Refresh Count: 0
            Session Reuse: ENABLED                              Timeout: 120 seconds
            Cipher Redirect: DISABLED
            SSLv2 Redirect: DISABLED
            ClearText Port: 0
            Client Auth: DISABLED
            SSL Redirect: DISABLED
            Non FIPS Ciphers: DISABLED
            SNI: DISABLED
            SSLv2: DISABLED        SSLv3: ENABLED    TLSv1.0: ENABLED  TLSv1.1: ENABLED  TLSv1.2: ENABLED
            Push Encryption Trigger: Always
            Send Close-Notify: YES
            1 bound certificate:

    1)      CertKey Name: mycert  Server Certificate
            1 configured cipher:

    1)      Cipher Name: DEFAULT
            Description: Predefined Cipher Alias

Done

Configurer la prise en charge du protocole SSL à l’aide de l’interface graphique

  1. Accédez à Gestion du trafic > Équilibrage de charge > Serveurs virtuels, puis ouvrez un serveur virtuel.
  2. Dans la section Paramètres SSL, sélectionnez un protocole à activer.

Ferme notifier

Une notification de fermeture est un message sécurisé qui indique la fin de la transmission de données SSL. Un paramètre de notification de fermeture est requis au niveau global. Ce paramètre s’applique à tous les serveurs virtuels, services et groupes de services. Pour plus d’informations sur le paramètre global, consultez la section « Paramètres SSL globaux » plus loin dans cette page.

Outre le paramètre global, vous pouvez définir le paramètre de notification rapprochée au niveau du serveur virtuel, du service ou du groupe de services. Vous avez donc la flexibilité de définir le paramètre pour une entité et de le désinstaller pour une autre entité. Cependant, assurez-vous que vous définissez ce paramètre au niveau global. Sinon, le paramètre au niveau de l’entité ne s’applique pas.

Configurer la notification de fermeture au niveau de l’entité à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez l’une des commandes suivantes pour configurer la fonctionnalité de notification rapprochée et vérifier la configuration :

  1. Pour configurer au niveau du serveur virtuel, tapez :
set ssl vserver <vServerName> -sendCloseNotify ( YES | NO )
show ssl vserver <vServerName>
  1. Pour configurer au niveau du service, tapez :
set ssl service <serviceName> -sendCloseNotify ( YES | NO )
show ssl service <serviceName>
  1. Pour configurer au niveau du groupe de services, tapez :
set ssl serviceGroup <serviceGroupName> -sendCloseNotify ( YES | NO )
show ssl serviceGroup <serviceGroupName>

Exemple :

set ssl vserver sslvsvr -sendCloseNotify YES

Done

Configurez la fonctionnalité de notification rapprochée au niveau de l’entité à l’aide de l’interface graphique

  1. Accédez à Gestion du trafic > Équilibrage de charge > Serveurs virtuels, puis ouvrez un serveur virtuel.
  2. Dans la section SSL Parameters, sélectionnez Send Close-Notify.

Paramètres SSL globaux

La personnalisation avancée de votre configuration SSL répond à des problèmes spécifiques. Vous pouvez utiliser la commande set ssl parameter ou l’utilitaire de configuration pour spécifier les éléments suivants :

  • Taille quantique à utiliser pour les transactions SSL.
  • Taille de la mémoire CRL.
  • Taille du cache OCSP.
  • Refuser la renégociation SSL.
  • Définissez l’indicateur PUSH pour les enregistrements déchiffrés, chiffrés ou tous les enregistrements.
  • Supprimer les requêtes si le client initie la poignée de main pour un domaine et envoie une requête HTTP pour un autre domaine.
  • Définissez l’heure après laquelle le chiffrement est déclenché. Remarque : l’heure que vous spécifiez s’applique uniquement si vous utilisez la commande set ssl vserver ou l’utilitaire de configuration pour définir le chiffrement basé sur la minuterie.
  • Vérification du certificat de conformité NDCPP : s’applique lorsque l’appliance agit sur un client (connexion principale). Pendant la vérification du certificat, ignorez le nom commun si SAN est présent dans le certificat SSL.
  • Activez un cluster hétérogène d’appliances basées sur des puces Cavium, telles que MPX 14000, et d’appliances basées sur des puces Intel Coleto, telles que MPX 15000 avec un nombre différent de moteurs de paquets. (Support ajouté à partir de la version 13.0 build 47.x.).
  • Activer la renégociation sécurisée au niveau du back-end (Support ajouté à partir de la version 1.0 build 58.x).
  • Contrôle du trafic SSL adaptatif (support ajouté à partir de la version 13.0 build 58.x).

Configurer les paramètres SSL globaux à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez les commandes suivantes pour configurer les paramètres SSL avancés et vérifier la configuration :

set ssl parameter [-quantumSize <quantumSize>] [-crlMemorySizeMB <positive_integer>] [-strictCAChecks (YES | NO)] [-sslTriggerTimeout <positive_integer>] [-sendCloseNotify (YES | NO)] [-encryptTriggerPktCount <positive_integer>] [-denySSLReneg <denySSLReneg>] [-insertionEncoding (Unicode|UTF-8)] [-ocspCacheSize <positive_integer>][- pushFlag <positive_integer>] [- dropReqWithNoHostHeader (YES | NO)] [-pushEncTriggerTimeout <positive_integer>] [-ndcppComplianceCertCheck ( YES | NO)] [-heterogeneousSSLHW (ENABLED | DISABLED )]
show ssl parameter

Exemple :

set ssl parameter -quantumSize 8 -crlMemorySizeMB 256 -strictCAChecks no -ssltriggerTimeout 100 -sendClosenotify no -encryptTriggerPktCount 45 -denySSLReneg NONSECURE -insertionEncoding unicode -ocspCacheSize 10 -pushFlag 3 -dropReqWithNoHostHeader YES  -pushEncTriggerTimeout 100 ms -ndcppComplianceCertCheck YES
Done

show ssl parameter
Advanced SSL Parameters
-----------------------
    SSL quantum size                                      : 8 KB
    Max CRL memory size                                   : 256 MB
    Strict CA checks                                      : NO
    Encryption trigger timeout                            : 100 ms
    Send Close-Notify                                     : NO
    Encryption trigger packet count                       : 45
    Deny SSL Renegotiation                                : NONSECURE
    Subject/Issuer Name Insertion Format                  : Unicode
    OCSP cache size                                       : 10 MB
    Push flag                                             : 0x3 (On every decrypted and encrypted record)
    Strict Host Header check for SNI enabled SSL sessions : YES
    PUSH encryption trigger timeout                       : 100 ms
    Crypto Device Disable Limit                           : 0
    Global undef action for control policies              : CLIENTAUTH
    Global undef action for data policies                 : NOOP
    Default profile                                       : DISABLED
    SSL Insert Space in Certificate Header                : YES
    Disable TLS 1.1/1.2 for SSL_BRIDGE secure monitors    : NO
    Disable TLS 1.1/1.2 for dynamic and VPN services      : NO
    Software Crypto acceleration CPU Threshold            : 0
    Hybrid FIPS Mode                                      : DISABLED
    Signature and Hash Algorithms supported by TLS1.2     : ALL
    SSL Interception Error Learning and Caching           : DISABLED
    SSL Interception Maximum Error Cache Memory           : 0 Bytes
    NDCPP Compliance Certificate Check                    : YES
    Heterogeneous SSL HW (Cavium and Intel Based)         : ENABLED
 Done

Configurer la vérification du certificat de conformité NDCPP à l’aide de l’interface graphique

  1. Accédez à Gestion du trafic > SSL et, dans le groupe Paramètres, sélectionnez Modifier les paramètres SSL avancés.

    Modifier les paramètres avancés

  2. Sélectionnez Vérification du certificat de conformité du NDCPP. Cliquez sur OK.

    Vérification du certificat de conformité NdCPP

Prise en charge de la renégociation sécurisée à l’arrière de l’appliance Citrix ADC

Remarque : Cette fonctionnalité est prise en charge dans la version 13.0 build 58.x et ultérieure. Dans les versions et versions antérieures, seule la renégociation non sécurisée était prise en charge sur le back-end.

La fonctionnalité est prise en charge sur les plates-formes suivantes : • VPX • Plateformes MPX contenant des puces N2 ou N3 • Plateformes basées sur puces Intel Coleto SSL

La fonctionnalité n’est pas encore prise en charge sur la plate-forme FIPS.

La renégociation sécurisée est refusée par défaut sur le back-end d’une appliance ADC. Autrement dit, ledenySSLReneg paramètre est défini sur ALL (par défaut).

Pour autoriser la renégociation sécurisée sur le back-end, sélectionnez l’un des paramètres suivants pour le paramètre denySSLReneg :

  • NON
  • FRONTEND_CLIENT
  • FRONTEND_CLIENTSERVER
  • NONSECURE

Activer la renégociation sécurisée à l’aide de la CLI

À l’invite de commandes, tapez :

set ssl parameter -denySSLReneg <denySSLReneg>

Exemple :

set ssl parameter -denySSLReneg NONSECURE
 Done

sh ssl parameter
Advanced SSL Parameters
-----------------------
    SSL quantum size                                      : 8 KB
    Max CRL memory size                                   : 256 MB
    Strict CA checks                                      : NO
    Encryption trigger timeout                            : 100 ms
    Send Close-Notify                                     : YES
    Encryption trigger packet count                       : 45
    Deny SSL Renegotiation                                : NONSECURE
    Subject/Issuer Name Insertion Format                  : Unicode
    OCSP cache size                                       : 10 MB
    Push flag                                             : 0x0 (Auto)
    Strict Host Header check for SNI enabled SSL sessions : NO
    Match HTTP Host header with SNI                       : CERT
    PUSH encryption trigger timeout                       : 1 ms
    Crypto Device Disable Limit                           : 0
    Global undef action for control policies              : CLIENTAUTH
    Global undef action for data policies                 : NOOP
    Default profile                                       : ENABLED
    SSL Insert Space in Certificate Header                : YES
    Disable TLS 1.1/1.2 for SSL_BRIDGE secure monitors    : NO
    Disable TLS 1.1/1.2 for dynamic and VPN services      : NO
    Software Crypto acceleration CPU Threshold            : 0
    Hybrid FIPS Mode                                      : DISABLED
    Signature and Hash Algorithms supported by TLS1.2     : ALL
    SSL Interception Error Learning and Caching           : DISABLED
    SSL Interception Maximum Error Cache Memory           : 0 Bytes
    NDCPP Compliance Certificate Check                    : NO
    Heterogeneous SSL HW (Cavium and Intel Based)         : DISABLED
    Crypto Operation Queue Limit                          : 150%
 Done

Activer la renégociation sécurisée à l’aide de l’interface graphique

  1. Accédez à Gestion du trafic > SSL > Modifier les paramètres SSL avancés.
  2. Définissez Refuser la renégociation SSL sur toute valeur autre que ALL.

    Paramètre global de renégociation sécurisée back-end

Contrôle adaptatif du trafic SSL

Remarque : Cette fonctionnalité est prise en charge dans la version 13.0 build 58.x et ultérieure.

Lorsque le trafic est élevé sur l’appliance et que la capacité d’accélération de crypto est pleine, l’appliance commence à mettre en file d’attente les connexions à traiter ultérieurement. Actuellement, la taille de cette file d’attente est fixée à 64 Ko et l’appliance commence à abandonner les connexions si cette valeur est dépassée.

À partir de la version 13.0 build 58.x, l’utilisateur peut configurer une valeur correspondant à un pourcentage de la capacité réelle. Grâce à cette amélioration, l’appliance supprime les nouvelles connexions si le nombre d’éléments de la file d’attente est supérieur à la limite calculée de manière adaptative et dynamique. Cette approche contrôle les connexions SSL entrantes et empêche la consommation excessive de ressources et d’autres pannes, telles que les défaillances de surveillance de l’équilibrage de charge ou les réponses lentes aux applications sécurisées, sur l’appliance.

Si la file d’attente est vide, l’appliance peut continuer à accepter les connexions. Si la file d’attente n’est pas vide, le système de crypto a atteint sa capacité et l’appliance démarre la file d’attente des connexions.

La limite est calculée en fonction des critères suivants :

  • Capacité réelle de l’appliance.
  • Valeur configurée par l’utilisateur en pourcentage de la capacité réelle. La valeur par défaut est définie sur 150 %.

Par exemple, si la capacité réelle d’une appliance est de 1000 opérations/seconde à un moment donné et que le pourcentage par défaut est configuré, la limite après laquelle l’appliance abandonne les connexions est de 1500 (150 % sur 1000).

Pour configurer la limite de file d’attente d’opérations à l’aide de la CLI

À l’invite de commandes, tapez :

set ssl parameter -operationQueueLimit <positive_integer>

Limite de file d’attente d’opération - Limite en pourcentage de capacité de la file d’attente des opérations de crypto au-delà de laquelle les nouvelles connexions SSL ne sont pas acceptées tant que la file d’attente n’est pas réduite. Valeur par défaut : 150. Valeur minimale : 0. Valeur maximale : 10000.

Pour configurer la limite de file d’attente d’opérations à l’aide de l’interface graphique

  1. Accédez à Gestion du trafic > SSL.
  2. Dans Paramètres, cliquez sur Modifier les paramètres SSL avancés.
  3. Tapez une valeur dans Limite de file d’attente d’opération. La valeur par défaut est 150.
  4. Cliquez sur OK.

    Limite de file d'attente

Déploiements de cluster hétérogènes

À partir de la version 13.0 build 47.x, vous pouvez former un déploiement en cluster hétérogène des appliances Citrix ADC MPX avec un nombre différent de moteurs de paquets en définissant le paramètre SSL « Hétérogène SSL HW » sur ENABLED. Par exemple, pour former un cluster d’appliances basées sur des puces Cavium (MPX 14000 ou similaire) et d’appliances basées sur des puces Intel Coleto (MPX 15000 ou similaire), activez le paramètre SSL « HW SSL hétérogène ». Pour former un cluster de plates-formes utilisant la même puce, conservez la valeur par défaut (DISABLED) pour ce paramètre.

Remarque : la fonctionnalité n’est pas prise en charge sur les instances VPX hébergées sur les appliances Citrix ADC SDX.

Pour plus d’informations sur les plates-formes prises en charge dans la formation d’un cluster hétérogène, reportez-vous à la section https://docs.citrix.com/fr-fr/citrix-adc/13/clustering/support-for-heterogeneous-cluster.html.

Activer un cluster hétérogène à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez :

set ssl parameter -heterogeneousSSLHW ENABLED

Activer un cluster hétérogène à l’aide de l’interface graphique

  1. Accédez à Gestion du trafic > SSL et, dans le groupe Paramètres, sélectionnez Modifier les paramètres SSL avancés.
  2. Sélectionnez HW SSL hétérogène. Cliquez sur OK.

    Paramètre matériel SSL hétérogène

Mécanisme de déclenchement de chiffrement basé sur l’indicateur PUSH

Le mécanisme de déclenchement de chiffrement basé sur l’indicateur PSH TCP vous permet désormais d’effectuer les opérations suivantes :

  • Fusionnez les paquets consécutifs dans lesquels l’indicateur PSH est défini dans un seul enregistrement SSL, ou ignorez l’indicateur PSH.
  • Effectuez un chiffrement basé sur la minuterie, dans lequel la valeur de délai d’attente est définie globalement à l’aide de la commande set ssl parameter -pushEncTriggerTimeout <positive_integer>.

Configurer le chiffrement basé sur les indicateurs PUSH à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez les commandes suivantes pour configurer le chiffrement basé sur les indicateurs PUSH et vérifier la configuration :

set ssl vserver <vServerName> [-pushEncTrigger <pushEncTrigger>]

show ssl vserver

Exemple :

set ssl vserver vserver1 -pushEncTrigger always

Done

sh ssl vserver vserver1

            Advanced SSL configuration for VServer vserver1:
            DH: DISABLED
            DH Private-Key Exponent Size Limit: DISABLED    Ephemeral RSA: ENABLED                                                                             Refresh Count: 0
            Session Reuse: ENABLED          Timeout: 120 seconds
            Cipher Redirect: DISABLED
            SSLv2 Redirect: DISABLED
            ClearText Port: 0
            Client Auth: DISABLED
            SSL Redirect: DISABLED
            Non FIPS Ciphers: DISABLED
            SNI: DISABLED
            OCSP Stapling: DISABLED
            HSTS: DISABLED
            HSTS IncludeSubDomains: NO
            HSTS Max-Age: 0
            SSLv2: DISABLED  SSLv3: ENABLED  TLSv1.0: ENABLED  TLSv1.1: ENABLED  TLSv1.2: ENABLED  TLSv1.3: DISABLED
            Push Encryption Trigger: Always
            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
            ECC Curve: P_256, P_384, P_224, P_521

    1)      Cipher Name: DEFAULT
            Description: Default cipher list with encryption strength >= 128bit
Done

Configurer le chiffrement basé sur les indicateurs PUSH à l’aide de l’interface graphique

  1. Accédez à Gestion du trafic > Équilibrage de charge > Serveurs virtuels et ouvrez un serveur virtuel SSL.
  2. Dans la section Paramètres SSL, dans la liste Trigger de chiffrement PUSH, sélectionnez une valeur.

Prise en charge de l’algorithme de hachage de signature TLS1.2

L’appliance Citrix ADC est entièrement compatible avec l’extension de hachage de signature TLS1.2.

Dans une poignée de main SSL, un client envoie une liste des algorithmes de hachage de signature pris en charge. Le client utilise l’extension « signature_algorithms » pour indiquer au serveur quelles paires d’algorithmes de hachage de signature peuvent être utilisées dans les messages de handshake SSL (SKE et CCV). Le champ « extension_data » de cette extension contient une valeur « supported_signature_algorithms » dans le message Client Hello. La poignée de main SSL se poursuit si le serveur prend en charge l’un de ces algorithmes de hachage de signature. Si le serveur ne prend pas en charge l’un de ces algorithmes, la connexion est interrompue.

De même, si le serveur demande un certificat client pour l’authentification client, le message Demande de certificat contient une valeur « supported_signature_algorithms ». Le certificat client est sélectionné en fonction de cet algorithme de hachage de signature.

Remarque :

L’appliance Citrix ADC agit en tant que serveur pour un client et client pour le serveur principal.

Auparavant, l’appliance ne supporte que RSA-SHA1 et RSA-SHA256 sur le frontal, et RSA-MD5, RSA-SHA1 et RSA-SHA256 sur le back-end. En outre, l’appliance VPX prend en charge le DSA-SHA1 sur le front et le back-end.

L’appliance MPX/SDX/VPX prend en charge les combinaisons de hachage de signature suivantes. Sur une appliance SDX, si une puce SSL est affectée à une instance VPX, la prise en charge du chiffrement d’une appliance MPX s’applique. Sinon, le support de chiffrement normal d’une instance VPX s’applique.

  • Sur une instance VPX :
    • RSA-MD5
    • RSA-SHA1
    • RSA-SHA224
    • RSA-SHA256
    • RSA-SHA384
    • RSA-SHA512
    • DSA-SHA1
    • DSA-SHA224
    • DSA-SHA256
    • DSA-SHA384
    • DSA-SHA512
  • Sur un appareil MPX/SDX doté de puces N3 :
    • RSA-MD5
    • RSA-SHA1
    • RSA-SHA224
    • RSA-SHA256
    • RSA-SHA384
    • RSA-SHA512
    • ECDSA-SHA1
    • ECDSA-SHA224
    • ECDSA-SHA256
    • ECDSA-SHA384
    • ECDSA-SHA512
  • Sur une appliance MPX/SDX sans puces N3 :
    • RSA-MD5
    • RSA-SHA1
    • RSA-SHA224
    • RSA-SHA256
    • RSA-SHA384
    • RSA-SHA512

Par défaut, tous les algorithmes de hachage de signature sont activés. Toutefois, vous ne pouvez activer que quelques algorithmes de hachage de signature à l’aide de la commande suivante :

set ssl parameter -sigDigestType <sigDigestType>

Parameters

sigDigestType

Signature digest algorithms supported by the appliance. The platform determines the list of algorithms supported by default.

              On VPX: RSA-MD5 RSA-SHA1 RSA-SHA224 RSA-SHA256 RSA-SHA384 RSA-

              SHA512 DSA-SHA1 DSA-SHA224 DSA-SHA256 DSA-SHA384 DSA-SHA512

              On MPX with N3 cards: RSA-MD5 RSA-SHA1 RSA-SHA224 RSA-

              SHA256 RSA-SHA384 RSA-SHA512 ECDSA-SHA1 ECDSA-SHA224 ECDSA-

              SHA256 ECDSA-SHA384 ECDSA-SHA512

              Other MPX Platforms: RSA-MD5 RSA-SHA1 RSA-SHA224 RSA-SHA256 RSA-SHA384 RSA-

              SHA512.

    set ssl parameter -sigDigestType RSA-SHA224 RSA-SHA256 RSA-SHA384 RSA-SHA512

Valider le certificat homologue

Selon la RFC 5246, le certificat homologue doit être signé à l’aide de l’un des algorithmes de hachage de signature inclus dans l’extension Client Hello. Vous pouvez utiliser le paramètre strictSigDigestCheck. Selon la liste de hachage de signature envoyée par le client, si vous l’activezstrictSigDigestCheck, l’appliance renvoie un certificat signé par l’un des algorithmes de hachage de signature mentionnés dans l’extension Client Hello. Si l’homologue n’a pas de certificat approprié, la connexion est interrompue. Si ce paramètre est désactivé, le hachage de signature n’est pas vérifié dans le certificat homologue.

Vous pouvez configurer une vérification stricte du résumé des signatures sur un serveur virtuel SSL et un service. Si vous activez ce paramètre sur un serveur virtuel SSL, le certificat de serveur envoyé par le serveur doit être signé par l’un des algorithmes de hachage de signature répertoriés dans l’extension Client Hello. Si l’authentification du client est activée, le certificat client reçu par le serveur doit être signé à l’aide de l’un des algorithmes de hachage de signature répertoriés dans la demande de certificat envoyée par le serveur.

Si vous activez ce paramètre sur un service SSL, le certificat de serveur reçu par le client doit être signé par l’un des algorithmes de hachage de signature répertoriés dans l’extension Client Hello. Le certificat client doit être signé à l’aide de l’un des algorithmes de hachage de signature répertoriés dans le message de demande de certificat.

Si le profil par défaut est activé, vous pouvez l’utiliser pour configurer une vérification stricte du résumé des signatures sur un serveur virtuel SSL, un service SSL et un profil SSL.

Configurez la vérification stricte du résumé de signature sur un serveur virtuel SSL, un service ou un profil à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez :

set ssl vserver <vServerName> -strictSigDigestCheck ( ENABLED | DISABLED )

set ssl service <serviceName> -strictSigDigestCheck ( ENABLED | DISABLED )

set ssl profile <name>-strictSigDigestCheck ( ENABLED | DISABLED )

Parameters

strictSigDigestCheck

              Check whether peer entity certificate is signed using one of the signature-hash algorithms supported by the Citrix ADC appliance.

              Possible values: ENABLED, DISABLED

              Default: DISABLED

Exemple :

set ssl vserver v1 –strictSigDigestCheck Enabled
set ssl service s1 –strictSigDigestCheck Enabled
set ssl profile p1 –strictSigDigestCheck Enabled

Important :

Si des chiffrements DH, ECDHE ou ECDSA sont configurés sur l’appliance, le message SKE doit être signé à l’aide de l’un des hachages de signature communs à la liste des clients et à la liste configurée sur l’appliance. S’il n’y a pas de hachage de signature commun, la connexion est supprimée.