Désactiver TLS 1.0 et 1.1 dans Apache et Nginx

Toutes les versions du SSL /TLS protocole avant TLS 1.2 sont désormais obsolètes et considérés comme non sécurisés. De nombreuses plates-formes de serveurs Web ont encore TLS 1.0 et TLS 1.1 activé par défaut. Cependant, tous les navigateurs Web modernes sont compatibles avec TLS 1.2. Pour cette raison, il est conseillé aux propriétaires de sites Web de vérifier la configuration de leur serveur pour s'assurer que seules les versions actuelles et sécurisées de SSL /TLS sont activés et tous les autres (y compris TLS 1.0 TLS 1.1 et SSL 3.0) sont désactivés.

Ce guide comprend des instructions pour vérifier quelles versions de SSL /TLS sont activés sur un site Web, désactivant les versions obsolètes de SSL /TLS dans Apache et Nginx, et montre des exemples d'erreurs de navigateur résultant de serveurs exécutant uniquement des versions obsolètes et non sécurisées de SSL /TLS.

Cochez SSL activé /TLS versions

Outils en ligne

Vous pouvez vérifier rapidement les versions de SSL /TLS votre site Web prend en charge en visitant CDN77 TLS Checker et saisissez le nom de domaine que vous souhaitez vérifier. Comme on peut le voir ci-dessous, https://example.com désactive actuellement les versions 2 et 3 de SSL, mais active toutes les versions de TLS (y compris la version obsolète TLS 1.1 et 1.0):

SSL /TLS versions prises en charge par example.com

Nmap

Vous pouvez également vérifier le SSL /TLS versions et chiffrements pris en charge par un site Web avec l'open-source nmap outil de ligne de commande:

nmap --script ssl-enum-ciphers -p

Le port par défaut pour SSL /TLS is 443. La commande ci-dessous générera un rapport pour example.com:

$ nmap --script ssl-enum-ciphers -p 443 example.com Démarrage de Nmap 7.80 (https://nmap.org) à 2020-08-25 13:10 EDT Rapport d'analyse Nmap pour example.com (93.184.216.34) L'hôte est actif (latence de 0.031 s). Autres adresses par exemple.com (non scannées): 2606: 2800: 220: 1: 248: 1893: 25c8: 1946 SERVICE D'ÉTAT DU PORT 443 / tcp open https | ssl-enum-ciphers: |   TLSv1.0: | chiffrements: |       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (secp256r1) - A |       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (secp256r1) - A |       TLS_DHE_RSA_WITH_AES_128_CBC_SHA (dh 2048) - A |       TLS_DHE_RSA_WITH_AES_256_CBC_SHA (dh 2048) - A |       TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA (dh 2048) - A |       TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA (dh 2048) - A |       TLS_RSA_WITH_AES_256_CBC_SHA (rsa 2048) - A |       TLS_RSA_WITH_CAMELLIA_256_CBC_SHA (rsa 2048) - A |       TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A |       TLS_RSA_WITH_CAMELLIA_128_CBC_SHA (rsa 2048) - A |       TLS_DHE_RSA_WITH_SEED_CBC_SHA (dh 2048) - A |       TLS_RSA_WITH_SEED_CBC_SHA (rsa 2048) - A | compresseurs: | NULL | préférence de chiffrement: serveur |   TLSv1.1: | chiffrements: |       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (secp256r1) - A |       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (secp256r1) - A |       TLS_DHE_RSA_WITH_AES_128_CBC_SHA (dh 2048) - A |       TLS_DHE_RSA_WITH_AES_256_CBC_SHA (dh 2048) - A |       TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA (dh 2048) - A |       TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA (dh 2048) - A |       TLS_RSA_WITH_AES_256_CBC_SHA (rsa 2048) - A |       TLS_RSA_WITH_CAMELLIA_256_CBC_SHA (rsa 2048) - A |       TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A |       TLS_RSA_WITH_CAMELLIA_128_CBC_SHA (rsa 2048) - A |       TLS_DHE_RSA_WITH_SEED_CBC_SHA (dh 2048) - A |       TLS_RSA_WITH_SEED_CBC_SHA (rsa 2048) - A | compresseurs: | NULL | préférence de chiffrement: serveur |   TLSv1.2: | chiffrements: |       TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (secp256r1) - A |       TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (secp256r1) - A |       TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 (dh 2048) - A |       TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 (dh 2048) - A |       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (secp256r1) - A |       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (secp256r1) - A |       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (secp256r1) - A |       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (secp256r1) - A |       TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 (dh 2048) - A |       TLS_DHE_RSA_WITH_AES_128_CBC_SHA (dh 2048) - A |       TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 (dh 2048) - A |       TLS_DHE_RSA_WITH_AES_256_CBC_SHA (dh 2048) - A |       TLS_RSA_WITH_AES_128_GCM_SHA256 (rsa 2048) - A |       TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA (dh 2048) - A |       TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA (dh 2048) - A |       TLS_RSA_WITH_AES_256_CBC_SHA (rsa 2048) - A |       TLS_RSA_WITH_CAMELLIA_256_CBC_SHA (rsa 2048) - A |       TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A |       TLS_RSA_WITH_CAMELLIA_128_CBC_SHA (rsa 2048) - A |       TLS_DHE_RSA_WITH_SEED_CBC_SHA (dh 2048) - A |       TLS_RSA_WITH_SEED_CBC_SHA (rsa 2048) - A | compresseurs: | NULL | préférence de chiffrement: serveur | _ force minimale: A Nmap effectuée: 1 adresse IP (1 hôte en place) analysée en 3.88 secondes

Configuration du serveur

Apache

Pour désactiver TLS 1.0 et 1.1 dans Apache, vous devrez éditer le fichier de configuration contenant le SSLProtocol directive pour votre site Web. Ce fichier peut être situé à différents endroits selon votre plate-forme, votre version ou d'autres détails d'installation. Certains emplacements possibles sont:

  • /usr/local/apache2/conf/extra/httpd-ssl.conf (installation Apache par défaut)
  • /etc/apache2/mods-enabled/ssl.conf (Ubuntu / Debian)
  • /private/etc/apache2/extra/httpd-ssl.conf (macOS)

Lorsque vous avez localisé le fichier de configuration correct, recherchez une ligne commençant par SSLProtocol. Cet exemple, à partir d'une installation par défaut de macOS Apache, désactive SSLv3 avec le - opérateur mais active TLS 1.0 et 1.1:

SSLProtocol tout -SSLv3

Vous pouvez désactiver toutes les versions obsolètes de SSL /TLS pris en charge par Apache en les spécifiant comme suit:

SSLProtocol tout -SSLv3 -TLSv1 -TLSv1.1

La configuration ci-dessus permet TLS 1.2, ainsi que TLS 1.3 s'il est disponible dans votre environnement.

Apache et hôtes virtuels

Apache peut exécuter plusieurs sites Web sur un seul serveur. Celles-ci Hôtes virtuels peut être basé sur le numéro IP, le port ou le nom de domaine, et peut inclure des paramètres qui remplacent la configuration de base pour Apache. Pour cette raison, vous devez vérifier les paramètres de chaque hôte virtuel dans vos fichiers de configuration, en particulier si vos modifications du SSL de base /TLS la configuration ne semble pas fonctionner.

Pour les versions d'Apache antérieures à 2.4.42 (construites / liées à OpenSSL avant 1.1.1), il n'était pas possible de spécifier différents SSL /TLS protocoles pour les hôtes virtuels basés sur le nom partageant le même numéro IP de base et le même port - le SSLProtocol du premier hôte virtuel a été appliqué à tous les autres. À partir d'Apache 2.4.42 / OpenSSL 1.1.1, le SSLProtocol de chaque hôte virtuel basé sur le nom est honoré lorsque le Indication de nom de serveur (SNI) est fourni par le client pendant la SSL /TLS poignée de main.

Une fois que vous avez effectué vos modifications de configuration, rechargez Apache pour les appliquer. Pour plus d'informations sur le SSLProtocol directive, veuillez vous référer à Apache Documentation.

Nginx

SSL /TLS les paramètres de protocole peuvent être spécifiés dans le fichier de configuration principal Nginx (généralement situé à /etc/nginx/nginx.conf) ou dans les fichiers de configuration de votre site. Recherchez une ligne commençant par ssl_protocols. Par exemple, ce qui suit est de la valeur par défaut nginx.conf fichier d'une nouvelle installation de Nginx sur Ubuntu:

protocoles_ssl TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Suppression de SSLv3, réf: POODLE

Vous pouvez modifier cette ligne de sorte que seules les versions actuelles et sécurisées de SSL /TLS sont inclus:

protocoles_ssl TLSv1.2 TLSv1.3 ;

Notez que tous les paramètres de votre configuration SSL par défaut peuvent être remplacés par des blocs de serveur configurant des noms de domaine individuels, assurez-vous donc de les vérifier si les modifications apportées à vos paramètres de protocole ne sont pas reflétées sur votre site Web.

Une fois que vous avez effectué vos modifications de configuration, rechargez Nginx pour les appliquer. Pour plus d'informations, veuillez consulter la documentation de Nginx sur configuration des serveurs HTTPS.

TLS Erreurs du navigateur 1.0 et 1.1

Parce que TLS les versions 1.0 et 1.1 sont actuellement considérées comme non sécurisées, la plupart des navigateurs modernes produiront un message d'erreur s'ils rencontrent un site Web où ils sont obsolètes. TLS les versions sont activées mais TLS 1.2 ou 1.3 ne l'est pas. Des exemples de ces erreurs sont présentés ci-dessous:

Google Chrome

Les tests de Chrome ont été effectués avec Chrome 84 sur Windows 10. Les captures d'écran proviennent de Chrome. Notez que la version actuelle de Microsoft Edge (basée sur Chromium) affiche le même code d'erreur que Chrome, accompagné d'un texte légèrement différent.

Google Chrome affiche le message d'erreur suivant lorsqu'il se connecte à un site Web en cours d'exécution TLS 1.0 ou 1.1:

Votre connexion n'est pas entièrement sécurisée
Ce site utilise une configuration de sécurité obsolète, qui peut exposer vos informations (par exemple, mots de passe, messages ou cartes de crédit) lors de leur envoi sur ce site.
NET::ERR_SSL_OBSOLETE_VERSION

TLS Message d'erreur 1.0 dans ChromeEn cliquant sur le Avancé affichera le message suivant, plus un lien pour accéder au site Web, étiqueté le danger:

La connexion utilisée pour charger ce site utilisée TLS 1.0 ou TLS 1.1, qui sont obsolètes et seront désactivées à l'avenir. Une fois désactivé, les utilisateurs ne pourront plus charger ce site. Le serveur doit activer TLS 1.2 ou plus tard.

Informations avancées sur TLS 1.0 et 1.1 dans Chrome

Mozilla Firefox

Les tests de Firefox ont été effectués avec Firefox 79.0 sous Windows 10.

Mozilla Firefox produit le message d'erreur suivant lorsqu'il se connecte à un site Web en cours d'exécution TLS 1.0 ou 1.1:

Connexion sécurisée Échec
Une erreur s'est produite lors d'une connexion à [URL]. Peer utilisant une version non prise en charge du protocole de sécurité.
Code d'erreur: SSL_ERROR_UNSUPPORTED_VERSION
...
Ce site Web peut ne pas prendre en charge le TLS 1.2 protocole, qui est la version minimale prise en charge par Firefox. Activation TLS 1.0 et 1.1 pourraient permettre à cette connexion de réussir.
TLS 1.0 et TLS 1.1 sera définitivement désactivé dans une prochaine version.

Firefox TLS Message d'erreur 1.0 et 1.1

En cliquant sur le Activer TLS 1.0 et 1.1 peut aider à charger le site, mais ce n'est pas une exemption ponctuelle. Pour re-désactiver TLS 1.0 et 1.1, allez à about:config dans Firefox et définir security.tls.version.enable-deprecated à false.

définir la sécurité.tls.version.enable-obsolète à false

Apple Safari

Les tests Safari ont été effectués avec Safari version 13.1.2 sur macOS 10.15.6 (Catalina)

Le navigateur Safari d'Apple chargera les sites Web HTTPS en utilisant TLS 1.0 et 1.1, mais affichera un message «Non sécurisé» dans la barre d'adresse du navigateur.

TLS Site 1.0 dans Apple Safari

Pour plus d'informations

Pour en savoir plus sur les problèmes de sécurité associés aux versions antérieures de TLS, veuillez lire notre article, Déprécier tôt TLS pour un Internet plus sûr. Pour plus d'informations sur les différences importantes entre TLS 1.2 et TLS 1.3, vérifier TLS 1.3 est là pour rester.

Et, comme toujours, si vous avez des questions, veuillez nous contacter par e-mail à Support@SSL.com, appel 1-877-SSL-SECURE, ou cliquez simplement sur le lien de discussion en bas à droite de cette page. Vous pouvez également trouver des réponses à de nombreuses questions d'assistance courantes dans notre knowledgebase. Merci d'avoir visité SSL.com!

Twitter
Facebook
LinkedIn
Reddit
Email

Restez informé et en sécurité

SSL.com est un leader mondial de la cybersécurité, PKI et les certificats numériques. Inscrivez-vous pour recevoir les dernières nouvelles de l'industrie, des conseils et des annonces de produits de SSL.com.

Nous aimerions recevoir vos commentaires

Répondez à notre enquête et faites-nous part de votre avis sur votre récent achat.