Document technique : Meilleures pratiques pour la mise en réseau SSL/TLS

Vue d’ensemble

Ce document technique vise à expliquer ce qu’une personne expérimentée en ADC configurerait en tant qu’implémentation générique pour obtenir la note A+ à Qualys SSL Labs.

Qualys SSL Labs effectue une série de tests robustes et fournit un tableau de bord que vous pouvez utiliser pour améliorer votre configuration. La numérisation est gratuite et ne prend qu’environ une minute.

Qualys développe activement des laboratoires SSL. Les tests sont susceptibles de changer à mesure que de nouveaux protocoles sont créés et que des vulnérabilités sont découvertes. Il est recommandé de tester régulièrement les sites afin de s’assurer que de nouvelles vulnérabilités ne sont pas exposées.

Remarque : adressez-vous à votre équipe de sécurité au sujet de votre déploiement. Les experts en sécurité affirment que SSL Labs A+ est une bonne cible générale, mais qu’il peut ne pas répondre aux besoins de votre entreprise.

Éléments de configuration qui doivent être validés

  • Certificats - La chaîne complète est-elle fournie et fiable ? L’algorithme de signature est-il sécurisé ?
  • Protocoles, clés et chiffrement - Quelles versions de protocole SSL et TLS sont prises en charge ? Quelles suites de chiffrement sont préférées et dans quel ordre ? Est-ce que les suites de chiffrement fournies prennent en charge le secret de transfert ?
  • TLS Handshake Simulation - Détermine quel protocole et chiffrement sont négociés par plusieurs clients et navigateurs différents
  • Détails du protocole - La renégociation sécurisée est-elle prise en charge ? La sécurité stricte des transports est-elle prise en charge ?
  • Vulnérabilités connues - Le serveur est-il vulnérable aux attaques telles que POODLE, BEAST ou TLS descendance ?

Une fois que SSL Labs a terminé les tests, il présente une note alphabétique ainsi qu’une échelle de points pour chacune des 4 catégories :

1 Certificate
2 Protocol Support
3 Key Exchange
4 Cipher Strength

Chacune des catégories reçoit une note numérique que SSL Labs calcule ensuite en moyenne pour obtenir un total. Certains cas particuliers et certaines configurations que SSL Labs recommande de ne pas utiliser, comme l’activation de SSLv3, peuvent limiter votre note finale. Vous trouverez une documentation complète sur la façon dont SSL Labs classe les serveurs ici.

Problèmes liés à la mise en œuvre

Profils SSL

Cet article utilise des profils SSL. Lorsque cette option est activée pour la première fois, les profils SSL définissent tous les serveurs virtuels SSL pour utiliser le profil par défaut.

Les profils SSL ont priorité sur les paramètres SSL globaux et par serveur virtuel.

Soutien à la clientèle

Certaines des étapes de configuration décrites dans cet article peuvent entraîner des problèmes de connectivité avec les anciens clients et navigateurs. Par exemple, Internet Explorer 11 sous Windows 7 et 8.1 ne prend en charge que les anciennes suites de chiffrement et d’autres navigateurs plus anciens peuvent ne pas prendre entièrement en charge les chiffrements TLS1.2 et ECC. Dans les cas où le support est manquant, le client peut rencontrer des messages d’erreur et ne pas pouvoir afficher le site.

Les laboratoires SSL disposent d’un bouton « Tester votre navigateur » sur leur page d’accueil pour vous aider à déterminer vos besoins.

Prise en charge du chiffrement des applications Citrix Receiver/Workspace pour les déploiements de passerelle

Consultez les articles suivants concernant la prise en charge du chiffrement client lors du déploiement d’un serveur virtuel de passerelle pour des applications et des postes virtuels :

Remarque : reportez-vous à la section Notes sur le microprogramme pour les versions requises et d’autres remarques concernant le microprogramme ADC spécifique.

Étapes de base - GUI

Suivez les étapes suivantes pour obtenir un score élevé au test SSL Labs.

  • Assurez-vous que l’ADC exécute une version récente du microprogramme. La version 13.0 build 7.1 ou ultérieure est recommandée pour tirer parti de l’accélération matérielle TLS1.3

  • Assurez-vous que la chaîne de certificats est complète et fiable

    • Les autorités de certification racines ne signent pas toujours directement les certificats. Au lieu de cela, une autorité de certification racine utilise souvent un intermédiaire pour signer un certificat
    • Installez le certificat intermédiaire sur l’ADC. Liez-le au certificat de serveur que vous avez lié au serveur virtuel
    • Les certificats intermédiaires sont fournis par le fournisseur qui fournit le certificat de serveur, souvent dans un « bundle de certificats ». Ils se trouvent généralement sur le site public du fournisseur
    • Il se peut que vous deviez installer et associer plusieurs certificats intermédiaires. Pour que le certificat du serveur fonctionne, l’ADC doit envoyer une chaîne complète. Une chaîne complète se termine par un certificat signé par l’une des autorités de certification racine de confiance du client
    • Comme le client possède déjà l’autorité de certification racine approuvée, vous n’avez pas besoin de l’installer et de la lier sur l’ADC
    • Pour installer un certificat intermédiaire, allez dans : Gestion du trafic > SSL > Certificats > Certificats CA et choisissez Installer (Remarque : les versions précédentes de Citrix ADC ne disposent pas de l’option « Certificats CA » dans l’interface utilisateur)
    • Lier un intermédiaire en sélectionnant le certificat et en choisissant Lien dans le menu d’action
    • Si le bon certificat intermédiaire est installé, il est automatiquement renseigné dans le menu de liaison

Certificat CA - installation

Lien de certificat

Certificate-Linked

  • Créer un groupe de chiffrement personnalisé qui fournit la confidentialité directe (FS)
    • Accédez à Gestion du trafic > SSL > Groupes de chiffrement et choisissez Ajouter
    • Nommez le groupe de chiffrement « SSL_LABS_Cipher_Group_Q4_2021 »
    • Cliquez sur Ajouter, puis développez la section ALL - sélectionnez les suites de chiffrement suivantes :
      • TLS1.3-AES256-GCM-SHA384
      • TLS1.3-AES128-GCM-SHA256
      • TLS1.3-CHACHA20-POLY1305-SHA256
      • TLS1.2-ECDHE-ECDSA-AES256-GCM-SHA384
      • TLS1.2-ECDHE-ECDSA-AES128-GCM-SHA256
      • TLS1.2-ECDHE-ECDSA-AES256-SHA384
      • TLS1.2-ECDHE-RSA-AES256-GCM-SHA384
    • Cliquez sur la flèche > droite pour déplacer les chiffrements de la colonne Disponible vers la colonne Configur é
    • Cliquez sur Créer

Create-Group

  • Activer les profils SSL

Accédez à Gestion du trafic > SSL > Modifier les paramètres SSL avancés, faites défiler vers le bas et sélectionnez Activer le profil par défaut.

Enable_Default_Profile

Les profils SSL définissent tous les serveurs virtuels SSL pour qu’ils utilisent le profil par défaut lors de la première activation. Au fur et à mesure que les paramètres SSL existants par serveur virtuel sont supprimés, l’ADC vous demandera de confirmer.

Confirm_Default_Profile

  • Création d’un profil SSL
    • Accédez à Système > Profils > Profil SSL, puis sélectionnez Ajouter
      SSL_Profile - Nommez le profil « SSL_LABS_PROFILE_Q4_2021 » - Faites défiler jusqu’à Refuser la renégociation SSL et sélectionnez NON SÉCURISÉ pour autoriser uniquement les clients prenant en charge la RFC 5746 à renégocier - Faites défiler jusqu’à HSTS, cochez HSTSet spécifiez un âge maximum de 157 680000 secondes - Faites défiler jusqu’à Protocole et sélectionnez uniquement TLSv12 et TLSv13 SSL_profile_protocols - Faites défiler jusqu’à la fin du formulaire et sélectionnez OK - Faites défiler jusqu’à Chiffrements SSL, sélectionnez l’icône en forme de crayon à modifier, puis cliquez sur Supprimer tout - Cliquez sur Ajouter et ajoutez le groupe de chiffrement que nous avons créé précédemment SSL_profile_cipher_list - Faites défiler jusqu’à la fin du formulaire et sélectionnez Terminé
  • Liez le profil SSL au serveur virtuel SSL
    • Sur le serveur virtuel sélectionné, sélectionnez l’icône en forme de crayon pour modifier le profil SSLlié
    • Sélectionnez le profil SSL que nous avons créé dans la liste déroulante
    • Cliquez sur OK

Étapes de base - CLI

Suivez les étapes suivantes pour obtenir un score élevé au test SSL Labs.

Dans les exemples CLI ci-dessous, le nom du serveur virtuel SSL est répertorié comme ex-vServer - il peut être remplacé par le nom du serveur virtuel SSL dans votre environnement.

  • Créer un groupe de chiffrement personnalisé qui préfère les suites de chiffrement ECDHE et ECDSA
add ssl cipher SSL_Labs_Cipher_Group_Q4_2021

bind ssl cipher SSL_Labs_Cipher_Group_Q4_2021 -cipherName TLS1.3-AES256-GCM-SHA384

bind ssl cipher SSL_Labs_Cipher_Group_Q4_2021 -cipherName TLS1.3-AES128-GCM-SHA256

bind ssl cipher SSL_Labs_Cipher_Group_Q4_2021 -cipherName TLS1.3-CHACHA20-POLY1305-SHA256

bind ssl cipher SSL_Labs_Cipher_Group_Q4_2021 -cipherName TLS1.2-ECDHE-ECDSA-AES256-GCM-SHA384

bind ssl cipher SSL_Labs_Cipher_Group_Q4_2021 -cipherName TLS1.2-ECDHE-ECDSA-AES128-GCM-SHA256

bind ssl cipher SSL_Labs_Cipher_Group_Q4_2021 -cipherName TLS1.2-ECDHE-ECDSA-AES256-SHA384

bind ssl cipher SSL_Labs_Cipher_Group_Q4_2021 -cipherName TLS1.2-ECDHE-RSA-AES256-GCM-SHA384
<!--NeedCopy-->
  • Activer les profils SSL
set ssl parameter -defaultProfile ENABLED
<!--NeedCopy-->
  • Création d’un profil SSL
add ssl profile SSL_Labs_Profile_Q4_2021 -tls1 DISABLED -tls11 DISABLED -tls12 ENABLED -tls13 ENABLED -denySSLReneg NONSECURE -HSTS ENABLE
<!--NeedCopy-->
  • Dissocier le groupe de chiffrement par défaut du profil SSL et lier le groupe personnalisé
unbind ssl profile SSL_Labs_Profile_Q4_2021 -cipherName DEFAULT

bind ssl profile SSL_Labs_Profile_Q4_2021 -cipherName SSL_Labs_Cipher_Group_Q4_2021
<!--NeedCopy-->
  • Liez le profil SSL au serveur virtuel SSL
set ssl vserver "Ex-vServer" -sslProfile SSL_Labs_Profile_Q4_2021
<!--NeedCopy-->

Autres paramètres

Certificats SHA1

Les certificats signés avec SHA1 sont considérés comme faibles et empêchent une note élevée dans le test SSL Labs. Si des certificats sont signés SHA1, ils doivent être remplacés par un certificat SHA256 et installés sur l’ADC.

DNS CAA

DNS Certification Authority Authorization (CAA) permet aux autorités de certification de valider si elles sont autorisées à délivrer des certificats pour un domaine et de fournir un contact en cas de problème.

La CAA DNS n’est pas requise pour obtenir un A+ chez SSL Labs et constitue une étape facultative. Vous pouvez en savoir plus sur DNS CAA ici.

Support client hérité

Les chiffrements ECDHE que nous utilisons dans ce guide remplacent les anciens chiffrements DHE plus lents. Si vous avez d’anciens clients que vous ne pouvez pas mettre à niveau, vous n’avez peut-être pas d’autre choix que d’activer DHE.

Activer les suites de chiffrement DHE dans l’interface graphique

  • Allez dans Gestion du trafic > SSL et sélectionnez Créer une clé Diffie-Hellman (DH)

Créer_DH_KEY_CONFIG

  • Nommez la clé Diffie-Hellman « DH_Key_Name_Here.key »

  • Entrez la taille du paramètre (bits). Doit être compris entre 512 et 2048

  • Choisissez le générateur Diffie-Hellman (2 ou 5)

  • Sélectionnez Créer En fonction de la taille de clé sélectionnée, cette opération peut prendre un certain temps.

Remarque : Ne quittez pas cet écran tant qu’il n’est pas terminé

Créer_DH_KEY_CONFIG

  • Accédez à Système > Profils > Profil SSL

  • Sélectionnez le profil SSL_Labs_profile_Q4_2021 et choisissez Modifier

  • Sélectionnez l’icône en forme de crayon

  • Descendez jusqu’à la case Activer le paramètre DH et sélectionnez-la

  • Choisissez la touche DH que vous venez de créer

Activer DH_Param_and_Key

  • Faites défiler vers le bas et sélectionnez OK

  • Liez une suite de chiffrement DHE au groupe de chiffrement que nous avons créé précédemment

  • Accédez à Gestion du trafic > SSL > Groupes de chiffrement

  • Sélectionnez le chiffrement TLS1.2-DHE-RSA-AES256-GCM-SHA384

Bind_DHE_Chipher

  • Cliquez sur la flèche pour l’ajouter au groupe de chiffrement

select_DHE_CIPHER_ADDED

Activer les suites de chiffrement DHE dans l’interface de ligne de commande

  • Création et liaison d’une clé DH au profil SSL (CLI)
create ssl dhparam DH_Key_Name_Here.key 2048 -gen 2

set ssl profile SSL_Labs_Profile_Q4_2021 -dh ENABLED -dhFile DH_Key_Name_Here.key
<!--NeedCopy-->
  • Liez une suite de chiffrement DHE au groupe de chiffrement que nous avons créé précédemment
bind ssl cipher SSL_Labs_Cipher_Group_Q4_2021 -cipherName TLS1.2-DHE-RSA-AES256-GCM-SHA384
<!--NeedCopy-->

Notes du micrologiciel

  • Citrix a activé TLS1.2 par défaut dans la version 10.5 build 57du microprogramme

  • La vulnérabilité ROBOT a été corrigée dans les versions 12.0 build 53, 11.1 build 56, 11.0 build 71 et 10.5 build 67 - plus de détails sont disponibles ici

  • L’indicateur HSTS (Strict Transport Security) est devenu disponible dans la version 12.0 35 - les versions antérieures nécessitaient une stratégie de réécriture pour insérer l’en-tête HSTS. Vous ne pouvez pas utiliser les deux comme ADC pour insérer 2 en-têtes, ce qui n’est pas autorisé.

  • La prise en charge de TLS1.2 a été ajoutée aux appliances VPX dans 10.5 build 57. Il était disponible dans les versions antérieures pour les appliances avec du matériel SSL dédié

  • La prise en charge de TLS1.3 a été ajoutée dans 12.1 build 49.23 - il doit être activé dans le vServerSSLProfile, et les chiffrements TLS1.3 (répertoriés) doivent être liés

  • La prise en charge des certificats ECC a été ajoutée aux appliances VPX dans la version 12.0 57. Il était disponible dans les versions antérieures pour les appliances avec du matériel SSL dédié

  • La vulnérabilité Zombie POODLE a été corrigée dans les versions 12.1 build 50.31, 12.0 build 60.9, 11.1 build 60.14, 11.0 build 72.17 et 10.5 build 69.5. Cette vulnérabilité ne concerne que les appliances MPX \ SDX dotées de matériel Nitrox SSL. Les appliances MPX \ SDX avec Coleto Creek ne sont pas vulnérables. La désactivation des suites de chiffrement basées sur CBC atténue également cette vulnérabilité. Voir l’article CTX pour plus d’informations

  • La liste de chiffrement a été modifiée pour corriger les faiblesses de la CBC, supprimant ainsi les chiffrements 0xc028 et 0x39

  • Citrix a ajouté l’accélération matérielle TLS1.3 dans la version 13.0 build 71

Document technique : Meilleures pratiques pour la mise en réseau SSL/TLS