Citrix ADC

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 basé sur SSL. Le serveur virtuel interceptera le trafic SSL, le décryptera et le transmettra à un service lié au serveur virtuel. Pour sécuriser le trafic urgent, tel que le streaming 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.

Remarque

À partir de la version 13.1 build 17.x, les protocoles inférieurs à TLSv1.2 sont désactivés sur les services internes SSL.

  • Si le profil par défaut est activé, ns_default_ssl_profile_internal_frontend_service est lié aux services internes SSL et les protocoles SSLv3, TLSv1.0 et TLSv1.1 sont désactivés dans ce profil.
  • Si le profil par défaut n’est pas activé, les protocoles SSLv3, TLSv1.0 et TLSv1.1 sont désactivés dans les paramètres des services internes SSL.

Activer le protocole SSL

Pour traiter le trafic SSL, vous devez activer le traitement SSL. Vous pouvez configurer des entités basées sur SSL, telles que des serveurs et des services virtuels, 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 la CLI

À l’invite de commandes, tapez :

enable ns feature ssl

show ns feature
<!--NeedCopy-->

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
<!--NeedCopy-->

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 sur le réseau et surveiller son état.

Ajouter un service à l’aide de la CLI

À 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>
<!--NeedCopy-->

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
<!--NeedCopy-->

Modifier ou supprimer un service à l’aide de la CLI

Pour modifier un service, utilisez la commande set service, qui est similaire à 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>.

rm service <servicename>
<!--NeedCopy-->

Exemple :

rm service sslsvc
<!--NeedCopy-->

Pour modifier un service, utilisez la commande set service, sélectionnez n’importe quel paramètre et modifiez son paramètre.

set service <name> (<IP> | <serverName>) <serviceType> <port>
<!--NeedCopy-->

Exemple :

set service sslsvc 198.51.100.225 SSL 443
<!--NeedCopy-->

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 en tant que 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 basé sur 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 inactif sur l’appliance Citrix ADC jusqu’à ce qu’un couple 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 de protocole SSL ou SSL_TCP. La fonctionnalité 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>
<!--NeedCopy-->

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
<!--NeedCopy-->

Modifier ou supprimer un serveur virtuel basé sur 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 basé sur 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 n’accepte que l’argument <name>.

Configurer un serveur virtuel basé sur 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 SSL.

Liez les services au serveur virtuel SSL

L’appliance ADC transmet les données SSL décrypté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 crypté. 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, voir Configurer le déchargement SSL avec un 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>
<!--NeedCopy-->

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
<!--NeedCopy-->

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>
<!--NeedCopy-->

Exemple :

unbind lb vserver sslvs sslsvc
     Done
<!--NeedCopy-->

Liaison d’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 et cliquez sur la vignette Liaisons de service de serveur virtuel d’équilibrage de charge sous la section Services et groupes de services .
  3. Dans la page Liaison de service de serveur virtuel d’équilibrage de charge, cliquez sur l’onglet Ajouter des liaisons, cliquez sur Cliquez pour sélectionnersous Sélectionner un service, puis activez la case à cocher en regard du service à lier.

  4. Cliquez sur Sélectionner, puis sur Lier.

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

L’hébergement virtuel est utilisé par les serveurs Web pour héberger plusieurs noms 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 d’un déchargement SSL basé sur un serveur virtuel. Toutefois, lorsque plusieurs sites Web sont hébergés sur le même serveur virtuel, l’établissement de liaison SSL est terminé avant que le nom d’hôte attendu ne soit envoyé au serveur virtuel. Par conséquent, l’appliance ne peut pas déterminer quel 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 prise de contact. L’appliance ADC compare ce nom d’hôte au nom commun et, s’il ne correspond pas, le compare à l’autre nom de l’objet (SAN). Si le nom correspond, l’appliance présente le certificat correspondant au client.

Un certificat SSL générique permet d’activer le cryptage SSL sur plusieurs sous-domaines si la même organisation contrôle ces domaines et si le nom de domaine de deuxième niveau est le même. Par exemple, un certificat générique émis à un réseau sportif sous le nom commun « *.sports.net » peut être utilisé pour sécuriser des domaines, tels que « login.sports.net » et « help.sports.net ». Il ne peut pas sécuriser le domaine « 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 SAN sont 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 ou le service virtuel é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>
<!--NeedCopy-->

Pour lier plusieurs certificats de serveur à un service transparent à l’aide de l’interface de ligne de commande, remplacez vserver par service et vservername par 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 seul serveur virtuel SSL à 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-en un 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 Activer SNI.

Prise en charge de SNI sur le service dorsal

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

L’appliance Citrix ADC prend en charge l’indication du nom du serveur (SNI) au niveau du back-end. En d’autres termes, le nom commun est envoyé en tant que nom de serveur dans le client Hello au serveur principal pour que l’établissement de la liaison soit réussi. Ce support permet de répondre aux exigences de sécurité des clients des intégrateurs de systèmes fédéraux. 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 Federal System Integrator incluent la prise en charge d’Active Directory Federation Services (ADFS) 3.0 en 2012R2 et des serveurs WAP. Pour répondre à cette exigence, la prise en charge de SNI au niveau du back-end sur 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 sous la forme https://www.mail.example.com. Et ce nom d’hôte doit correspondre au nom du serveur indiqué dans le Hello client.

Prise en charge du SNI dynamique sur le service dorsal

L’appliance Citrix ADC prend en charge le SNI dynamique 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. Il n’est plus nécessaire 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 transféré à la connexion SSL dorsale.

Auparavant, vous deviez configurer le SNI statique 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’était pas en mesure d’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é. Désormais, si le serveur principal est configuré pour plusieurs domaines, le serveur peut répondre avec le bon certificat en fonction du SNI reçu dans le message Client Hello de l’appliance.

Point à noter :

  • Le SNI doit être activé sur le frontal et le bon certificat SNI doit être lié au serveur virtuel SSL. Si vous n’activez pas le SNI sur le serveur frontal, les informations SNI ne sont pas transmises au serveur principal.

  • Lorsque l’authentification du serveur est activée, le certificat de serveur est vérifié par le certificat de l’autorité de certification et les entrées de nom commun/SAN du certificat de 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 dorsale et de la session SSL est basée sur le SNI lorsque le SNI dynamique est activé.

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

Configurez 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
<!--NeedCopy-->

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
<!--NeedCopy-->

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

  1. Accédez à Traffic Management > Load Balancing > Services.
  2. Sélectionnez un service SSL, puis dans Paramètres avancés, cliquez sur Paramètres SSL.
  3. Cliquez sur Activer SNI.

    Activer le SNI

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

  1. Accédez à Système > Profils > Profil SSL.
  2. Cliquez sur Ajouter.
  3. Dans les paramètres de base, sélectionnez Activer SNI.

    SNI dans le profil

  4. Cliquez sur OK.

Lier un moniteur sécurisé à un service principal compatible SNI

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

Configurez et liez un moniteur sécurisé à un service principal 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>
<!--NeedCopy-->

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
<!--NeedCopy-->

Configurez et liez un moniteur sécurisé à un service principal activé SNI à l’aide de l’interface graphique

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

    Profil SSL compatible SNI

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

    Nom commun dans le profil SSL activé pour SNI

  5. Cliquez sur OK.
  6. Accédez à Gestion du trafic > Équilibrage de charge > Surveiller.
  7. Cliquez sur Ajouter.
  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 Profil SSL, sélectionnez le profil SSL principal créé au cours des étapes précédentes.
  12. Cliquez sur Créer.

    Créer un profil SSL compatible SNI

  13. Accédez à Traffic Management > Load Balancing > Services.
  14. Sélectionnez un service SSL et cliquez sur Modifier.
  15. Dans Moniteurs, cliquez sur Ajouter une liaison, sélectionnez le moniteur créé au cours des étapes précédentes, puis cliquez sur Lier.

    Lier le moniteur sécurisé au service SSL activé SNI

Configurez et liez un moniteur sécurisé à un service principal compatible SNI à l’aide de l’interface graphique

  1. Accédez à Gestion du trafic > Équilibrage de charge > Surveiller.
  2. Ajoutez un moniteur de type HTTP-ECV ou TCP-ECVet 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 ne possédez pas de certificat ni de clé existants, reportez-vous à la section Créer un certificat.

Pour créer une paire de clés de certificat ECDSA, cliquez sur Cré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.

Depuis la version 13.0 build 79.x, les paires de clés de certificat protégées par mot de passe sont toujours ajoutées avec succès. Auparavant, si une option de mot de passe fort était activée sur une appliance Citrix ADC, les paires de clés de certificat protégées par mot de passe n’étaient parfois pas ajoutées. Toutefois, la configuration de la clé de certificat est perdue si vous rétrogradez vers une version antérieure. De plus, dans la réponse de l’API NITRO pour les paires de clés de certificat, la passplain variable est envoyée à la place de la passcrypt variable.

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 cryptées avec la clé publique du serveur, qui est disponible via le certificat du serveur. Le déchiffrement 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é à la 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 2048 bits. Dans les versions précédentes, le certificat par défaut était de 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 2 048 bits.

Le certificat et la clé doivent tous deux se trouver dans le stockage local sur l’appliance Citrix ADC avant de pouvoir être ajoutés à l’appliance. Si votre fichier de certificat ou 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 par défaut dans le répertoire /nsconfig/ssl. Si vos certificats ou clés sont stockés dans un autre emplacement, vous devez fournir le chemin d’accès absolu aux fichiers sur l’appliance Citrix ADC. Les appliances Citrix ADC FIPS ne prennent pas en charge les clés externes (clés non FIPS). Sur un dispositif 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 module de sécurité matériel (HSM) de l’appliance.

Seules les clés RSA sont prises en charge sur les appliances Citrix ADC.

Définissez la période de notification et autorisez le moniteur d’expiration à é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 - Messagerie renforcée pour la confidentialité
  • DER - Règle de codage distincte
  • PFX - Échange d’informations personnelles

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
  • SHA-512

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 (y compris 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 (y compris 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)

À partir de la version 13.1 build 17.x, toutes les plates-formes Citrix ADC prennent en charge les certificats signés à l’aide des algorithmes RSASSA-PSS. Ces algorithmes sont pris en charge dans la validation du chemin d’accès au certificat X.509. Le tableau suivant présente les jeux de paramètres RSASSA-PSS pris en charge par l’appliance Citrix ADC.

ID de clé publique Fonction de génération de masque (MGF) Fonction MGF Digest Fonction Signature Digest Longueur de salt
Cryptage RSA MGF1 SHA-256 SHA-256 32 octets
Cryptage RSA MGF1 SHA-384 SHA-384 48 octets
Cryptage RSA MGF1 SHA-512 SHA-512 64 octets

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 un dispositif virtuel VPX. Toutefois, si une puce SSL est attribué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>]
<!--NeedCopy-->

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
<!--NeedCopy-->

Mettre à jour ou supprimer une paire de clés de certificat en utilisant 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é d’une paire de clés de certificat, utilisez la commande update ssl certkey. La commande update ssl certkey possède 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 n’accepte que 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]
<!--NeedCopy-->

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.

    Certificat d'installation

  2. Entrez les valeurs des 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 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 des certificats, voir 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 valide et existant que vous avez chargé sur l’appliance Citrix ADC. À des fins de test, vous pouvez également créer 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.

Lors de la prise de contact SSL, dans le message de demande de certificat lors de l’authentification client, le serveur répertorie les noms distincts (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 de nom unique 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, consultez Gestion des certificats.

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

Liez 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>
<!--NeedCopy-->

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
<!--NeedCopy-->

Délier 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 délier 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>
<!--NeedCopy-->

Exemple :

unbind ssl vserver vssl -certkeyName sslckey
<!--NeedCopy-->

Liez 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 à l’intérieur de la section Certificat .

    Certificat de liaison 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 la 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 pouvant être définis dans un profil SSL, consultez Paramètres de 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 )]
<!--NeedCopy-->

Paramètres de 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 la façon d’activer l’échange de clés DH, voir 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>`
<!--NeedCopy-->

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
<!--NeedCopy-->

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ètre DH, puis spécifiez un nombre d’actualisations et un chemin d’accès au fichier.

RSA éphémère

Le RSA éphémère 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 ou à la ressource Web sécurisé, vous devez désactiver l’échange de clés RSA éphémère.

Par défaut, cette fonctionnalité est activée sur l’appliance Citrix ADC, avec le nombre d’actualisations 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 basé sur 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 basé sur SSL ou TCP. La clé eRSA est supprimée au redémarrage du système.

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

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

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

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
<!--NeedCopy-->

Configurer le 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 prise de contact SSL initiale nécessite des opérations de chiffrement à clé publique gourmandes en CPU. La plupart des opérations de prise de contact 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 qu’elle est ensuite reprise, l’établissement de liaison SSL est généralement recommencé. 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 par défaut sur l’appliance Citrix ADC. 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>
<!--NeedCopy-->

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
<!--NeedCopy-->

Configuration de 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 sessionet spécifiez une durée pendant laquelle la session doit rester 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 prise de contact, un client TLS propose la version de protocole la plus élevée qu’il prend en charge. Si la prise de contact échoue, le client propose une version de protocole inférieure. Par exemple, si une prise de contact 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 « homme au milieu » (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 autre solution consiste à reconnaître une valeur de suite de chiffrement de signalisation (TLS_FALLBACK_SCSV) dans la demande du client.

Une valeur TLS_FALLBACK_SCSV dans un message Hello client indique au serveur virtuel que le client a déjà 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 qu’il prend en charge une version supérieure à celle indiquée par le client, il rejette la connexion avec une alerte fatale. La prise de contact réussit si l’une des conditions suivantes est remplie :

  • La valeur TLS_FALLBACK_SCSV n’est pas incluse dans le message Hello du client.
  • La version du 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>
<!--NeedCopy-->

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
<!--NeedCopy-->

Configurer le support 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.

Notification rapprochée

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 mondial. 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 de fermeture au niveau du serveur virtuel, du service ou du groupe de services. Vous avez donc la possibilité de définir le paramètre pour une entité et de le désactiver pour une autre entité. Veillez toutefois à définir 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 la CLI

À l’invite de commandes, tapez l’une des commandes suivantes pour configurer la fonction de notification de fermeture 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>
<!--NeedCopy-->
  1. Pour configurer au niveau du service, tapez :
set ssl service <serviceName> -sendCloseNotify ( YES | NO )
show ssl service <serviceName>
<!--NeedCopy-->
  1. Pour configurer au niveau du groupe de services, tapez :
set ssl serviceGroup <serviceGroupName> -sendCloseNotify ( YES | NO )
show ssl serviceGroup <serviceGroupName>
<!--NeedCopy-->

Exemple :

set ssl vserver sslvsvr -sendCloseNotify YES

Done
<!--NeedCopy-->

Configurez la fonctionnalité de notification de fermeture 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 Paramètres SSL, sélectionnez Envoyer une notification de fermeture.

Paramètres SSL globaux

La personnalisation avancée de votre configuration SSL résout 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 demandes si le client initie la prise de contact pour un domaine et envoie une demande 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 le minuteur.
  • Vérification du certificat de conformité NDCPP — S’applique lorsque l’appliance agit en tant que client (connexion principale). Lors de la vérification du certificat, ignorez le nom commun si le 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 des appliances basées sur des puces Intel Coleto, telles que les appliances MPX 15000 avec un nombre différent de moteurs de paquets. (Prise en charge ajoutée dans la version 13.0 build 47.x).
  • Activer la renégociation sécurisée au back-end (Support ajouté à partir de la version 1.0 build 58.x).
  • Contrôle du trafic SSL adaptatif (prise en charge ajoutée dans 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
<!--NeedCopy-->

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
<!--NeedCopy-->

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é au NdCPP

Prise en charge de la renégociation sécurisée au niveau du back-end d’une appliance Citrix ADC

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

La fonctionnalité est prise en charge sur les plateformes suivantes : • VPX • Plates-formes MPX contenant des puces N2 ou N3 • Plates-formes à puce Intel Coleto SSL

La fonctionnalité n’est pas encore prise en charge sur la plateforme FIPS.

La renégociation sécurisée est refusée par défaut sur le back-end d’un boîtier ADC. En d’autres termes, le paramètre denySSLReneg est défini sur ALL (par défaut).

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

  • NON
  • FRONTEND_CLIENT
  • FRONTEND_CLIENTSERVER
  • NON SÉCURISÉ

Activer la renégociation sécurisée à l’aide du 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
<!--NeedCopy-->

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 n’importe quelle valeur autre que ALL.

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

Contrôle du trafic SSL adaptatif

Remarque : Cette fonctionnalité est prise en charge dans les versions 13.0 build 58.x et ultérieures.

Lorsqu’un trafic élevé est reçu sur l’appliance et que la capacité d’accélération de chiffrement est pleine, l’appliance commence à mettre les connexions en file d’attente pour un traitement ultérieur. Actuellement, la taille de cette file d’attente est fixée à 64 K 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 représentant un pourcentage de la capacité réelle. Grâce à cette amélioration, l’appliance abandonne les nouvelles connexions si le nombre d’éléments dans 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 défaillances, telles que l’échec de la surveillance de l’équilibrage de charge ou la lenteur de réponse 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 chiffrement a atteint sa capacité et l’appliance commence à mettre les connexions en file d’attente.

La limite est calculée en fonction des éléments suivants :

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

Par exemple, si la capacité réelle d’un appareil est de 1 000 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 1 500 (150 % sur 1 000).

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

À l’invite de commandes, tapez :

set ssl parameter -operationQueueLimit <positive_integer>

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

Pour configurer la limite de file d’attente des 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. Entrez une valeur dans Limite de file d’attente des opérations. La valeur par défaut est 150.
  4. Cliquez sur OK.

    Limite de la file

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

À partir de la version 13.0 build 47.x, vous pouvez former un déploiement de cluster hétérogène d’appliances Citrix ADC MPX avec un nombre différent de moteurs de paquets en définissant le paramètre SSL « HW SSL hétérogène » 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 puce 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.

Remarques :

Les fonctionnalités suivantes ne sont pas prises en charge dans un cluster hétérogène :

  • Instances VPX hébergées sur des appliances Citrix ADC SDX.
  • Protocole SSLv3 sur les entités SSL, telles que le serveur virtuel, les services, le groupe de services et les services internes.
  • Seuil du processeur d’accélération crypto logicielle (utilisant du matériel et des logiciels pour améliorer les performances de chiffrement ECDSA et ECDHE).

Pour plus d’informations sur les plates-formes prises en charge dans un cluster hétérogène, reportez-vous à la section https://docs.citrix.com/en-us/citrix-adc/current-release/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 PU

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

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

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

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

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

show ssl vserver
<!--NeedCopy-->

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
<!--NeedCopy-->

Configurer le chiffrement basé sur l’indicateur 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 Déclencheur de chiffrement PUSH, sélectionnez une valeur.

Support 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 indique au serveur quelles paires d’algorithmes de hachage de signature peuvent être utilisées dans les messages d’établissement de liaison SSL (SKE et CCV) en utilisant l’extension « signature_algorithms ». Le champ « extension_data » de cette extension contient une valeur « supported_signature_algorithms » dans le message Client Hello. L’établissement de liaison SSL se poursuit si le serveur prend en charge l’un de ces algorithmes de hachage de signature. Si le serveur ne prend en charge aucun de ces algorithmes, la connexion est interrompue.

De même, si le serveur demande un certificat client pour l’authentification du client, le message de 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 en tant que client pour le serveur principal.

L’appliance prend uniquement en charge RSA-SHA1 et RSA-SHA256 sur le frontal, et RSA-MD5, RSA-SHA1 et RSA-SHA256 sur le serveur principal.

L’appliance MPX/SDX/VPX prend en charge les combinaisons de hachage de signature suivantes. Sur une appliance SDX, si une puce SSL est attribué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 et sur une appliance MPX/SDX sans puces N3 :
    • RSA-MD5
    • RSA-SHA1
    • RSA-SHA224
    • RSA-SHA256
    • RSA-SHA384
    • RSA-SHA512
  • Sur un appareil MPX/SDX équipé de puces N3 :
    • RSA-MD5
    • RSA-SHA1
    • RSA-SHA224
    • RSA-SHA256
    • RSA-SHA384
    • RSA-SHA512
    • ECDSA-SHA1
    • ECDSA-SHA-224
    • ECDSA-SHA256
    • ECDSA-SHA384
    • ECDSA-SHA-512

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

              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
<!--NeedCopy-->

Validez 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’activez strictSigDigestCheck, 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 ne possède pas de certificat approprié, la connexion est abandonnée. Si ce paramètre est désactivé, le hachage de la 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 et un service virtuels SSL. 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 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é de signature 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, un service ou un profil SSL à 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
<!--NeedCopy-->

Exemple :

set ssl vserver v1 –strictSigDigestCheck Enabled
set ssl service s1 –strictSigDigestCheck Enabled
set ssl profile p1 –strictSigDigestCheck Enabled
<!--NeedCopy-->

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.