Comment résoudre les problèmes de négociation TLS [Mise à jour]

Dans cet article, vous découvrirez ce qu’est l’erreur TLS Handshake Failed et pourquoi elle se produit. Vous apprendrez ensuite comment résoudre les problèmes de négociation TLS.
How to troubleshoot TLS handshake issues [Updated]

Si vous avez rencontré un message d'erreur indiquant « Échec de la prise de contact TLS » et que vous ne savez pas quoi faire, vous n'êtes pas seul. L’échec de la négociation TLS est une erreur courante. Bien que cela puisse être une expérience frustrante, il existe des moyens de résoudre les problèmes de négociation TLS et de les résoudre.

 

TLS handshake issues

 

 

Dans cet article, vous découvrirez ce qu'est l'erreur d'échec de la prise de contact TLS et pourquoi elle se produit. Vous apprendrez ensuite comment résoudre les problèmes de négociation TLS.

 

Commençons !

 

Comprendre TLS/SSL

 

Vous devez sécuriser votre site Web afin d'établir des connexions sécurisées entre deux serveurs. Pour ce faire, vous devrez installer un certificat Secure Sockets Layer (SSL) – protocole de cryptage et de sécurité SSL – sur votre site. Cela permettra à votre site d'utiliser HTTPS pour garantir des connexions sécurisées.

 

Malheureusement, il arrive parfois que les choses ne se passent pas comme prévu et vous pouvez rencontrer un problème lors de la connexion entre le serveur de votre site et le navigateur d'un visiteur. Le problème peut survenir sous la forme d’une erreur « Échec de la prise de contact TLS » ou de tout autre problème.

 

Transport Layer Security (TLS) et Secure Sockets Layer (SSL) sont des protocoles de sécurité qui assurent le cryptage et l'identification des sites Web. Ils sont utilisés pour authentifier les transferts de données entre les serveurs, les applications, les systèmes tels que les navigateurs et les utilisateurs.

 

En termes simples, vous avez besoin de certificats TLS/SSL pour sécuriser votre site Web à l'aide de HTTPS.

 

Comprendre la négociation TLS/SSL

 

Une négociation TLS est une forme de communication et d'accord entre deux serveurs : l'hôte de vos sites et le serveur du client. Il s’agit de la première étape du processus d’établissement d’une connexion HTTPS claire.

 

Pour authentifier et établir une connexion, le serveur de votre site et le navigateur du client doivent se serrer la main, c'est-à-dire.e, passez par une série de contrôles (la poignée de main). Ceci établit les paramètres de connexion HTTPS.

 

Qu'est-ce que cela signifie ?

 

Le client (généralement un navigateur) envoie généralement une demande pour établir une connexion sécurisée au serveur du site. Le serveur envoie ensuite une clé publique (protocole) à votre appareil et veille à vérifier cette clé par rapport à une liste pré-préparée de protocoles/certificats. L’appareil génère ensuite une clé et utilise la clé du serveur pour la chiffrer.

 

Si cette communication de va-et-vient ne donne pas de résultat positif, i.e, si la négociation SSL échoue entre le serveur et le client, HTTPS ne générera pas de connexion sécurisée, ce qui entraînera un échec de la négociation TLS/SSL. Cette erreur peut se présenter sous deux formes ;

 

  • HTTP/1.1 503 Service indisponible
  • Alerte fatale reçue : handshake_failure (Erreur 525)
TLS error 525

 

Remarque : Vous verrez ces messages d'erreur à la suite d'un appel d'API au cours duquel un échec de négociation TLS se produit.

 

Quelles sont les causes des problèmes de négociation TLS

 

En général, l’erreur 525 ou l’erreur 503 signifie généralement qu’il y a eu un échec de négociation TLS. Certaines des causes de l'échec peuvent inclure :

 

Côté serveur, les causes d'erreur sont les suivantes :

  • Incompatibilité de protocole : le serveur ne prend pas en charge le protocole utilisé par le client.
  • Certificat incorrect : le nom d'hôte de l'URL du client ne correspond pas au nom d'hôte dans le certificat stocké côté serveur, ou le certificat est incomplet ou invalide, ou le certificat est incorrect ou expiré
  • Incompatibilité de suite de chiffrement : le serveur ne prend pas en charge la suite de chiffrement utilisée par le client.
  • Serveur activé SNI : lorsque le SNI (Server Name Identification) back-end est activé, mais que le client-serveur ne peut pas communiquer avec les serveurs SNI.

 

Du côté du client, les causes peuvent inclure :

 

  • Si la connexion est interceptée par un tiers.
  • Si l’appareil du client a une date ou une heure incorrecte.
  • Si le client rencontre une erreur avec la configuration du navigateur.

Comment résoudre les problèmes de négociation TLS

 

Il existe plusieurs causes potentielles aux « problèmes de prise de contact TLS »." Vous pouvez utiliser les solutions suivantes pour résoudre ces problèmes ;

 

Méthode 1 : mettre à jour la date et l'heure de votre système

 

Un mauvais réglage de la date ou de l'heure est l'une des principales causes des problèmes de négociation TLS. Étant donné que l'heure du système permet de tester si le certificat est valide ou expiré, une différence entre l'heure ou la date de votre appareil et celle du serveur peut donner l'impression que les certificats ont expiré.

 

Corrigez l'heure et la date en les réglant sur automatique, puis visitez à nouveau le site et voyez si le problème de négociation TLS a été résolu.

 

Méthode 2 : corrigez la configuration de votre navigateur pour qu'elle corresponde à la dernière prise en charge du protocole TLS

 

Votre navigateur est « l'homme du milieu » et il peut affecter la manière dont votre appareil communique avec le serveur. Toute mauvaise configuration du navigateur peut entraîner des problèmes TLS.

 

Pour vérifier si votre navigateur est à l'origine du problème, essayez d'utiliser un autre navigateur pour accéder au site et voyez si vous rencontrez le même problème. Si le problème se produit sur tous les sites, il s’agit alors d’un problème système.

 

Il existe peut-être une extension de navigateur ou un logiciel de sécurité sur votre appareil qui intercepte les connexions TLS et provoque la prise de contact TLS problématique. Dans un certain nombre de cas, un virus ou un logiciel malveillant présent sur le système était en cause.

 

Pour résoudre ce problème :

 

  1. Vous devrez peut-être désactiver le logiciel de sécurité ou les extensions de navigateur sur votre appareil, ou
  2. Réinitialisez votre navigateur.

Méthode 3 : vérifier et modifier les protocoles TLS [sous Windows]

 

Des problèmes liés au navigateur peuvent également être causés par une incompatibilité de protocole.

 

Par exemple, si le navigateur est configuré uniquement pour une valeur TLS spécifique, par ex.g, TLS1.0 ou TLS1.1, mais le serveur ne prend en charge que TLS 1.2, alors la communication entre les deux manquera d’un protocole mutuellement pris en charge. Cela conduit inévitablement à un échec de la négociation TLS.

 

Pour vérifier ce problème dans votre navigateur (Google Chrome) :

  1. Ouvrir le navigateur Chrome
  2. Aller à Paramètres > Avancé
  3. Faites défiler vers le bas pour ouvrir Systèmes > Ouvrez les paramètres proxy de votre ordinateur
    Fix TLS issues

  4. Dans la nouvelle fenêtre contextuelle Windows, sélectionnez l'onglet Avancé.
  5. Dans l'onglet Avancé, sous la section Sécurité, vérifiez si la case en regard de Utiliser TLS 1.2 est sélectionné > cochez-le s’il n’est pas coché.
    Fix TLS issues in chrome

  6. Vérifiez si les cases pour SSL 2.0 et SSL3.0 sont cochés > puis décochez-les si c'est le cas. Faites de même pour TLS 1.0 et TLS1.1
  7. Cliquez sur OK, puis vérifiez si ce processus a résolu l'erreur de prise de contact.

 

Remarque : si vous utilisez Mac Os ou Apple Safari, ils ne proposent pas d'option pour désactiver ou activer les protocoles TLS/SSL car TLS 1.2 est, par défaut, automatiquement activé.

Méthode 4 : Vérifiez la configuration de votre serveur [pour prendre en charge SNI]

 

La configuration de l'indication du nom du serveur (SNI) est l'une des principales causes des problèmes TLS. Pour que le serveur fonctionne correctement, le SNI lui permet d'héberger en toute sécurité plusieurs certificats/protocoles TLS pour une seule adresse IP.

 

Sur un serveur, chaque site Web possède son propre certificat. Ainsi, si le serveur n'est pas compatible SNI, il existe une forte probabilité d'échec de la négociation TLS, car le serveur risque de ne pas reconnaître le certificat actuel.

 

Pour vérifier si le site nécessite SNI, vous pouvez utiliser le test de serveur SSL de Qualys. il vous suffira de saisir le nom de domaine de votre site, puis de cliquer sur Soumettre et d'attendre que le test génère des résultats.

 

Sur la page de résultats, localisez le message « Ce site fonctionne uniquement dans les navigateurs prenant en charge SNI » :

 

verify SNI


Méthode n° 5 : Vérifier et garantir que les suites de chiffrement correspondent

 

Une inadéquation des suites de chiffrement est également une cause majeure des problèmes de prise de contact TLS, en particulier l'échec de la prise de contact TLS. Les suites de chiffrement ne sont qu'un ensemble d'algorithmes, notamment ceux de chiffrement en masse, d'échange de clés et de code d'authentification de message, utilisés pour sécuriser les connexions réseau TLS/SSL.

 

Si les suites de chiffrement du serveur ne correspondent pas à celles de Cloudflare ou ne les prennent pas en charge, la probabilité d'une erreur « TLD Handshake Failed » est plus élevée.

 

Pour vérifier la configuration des suites de chiffrement, vous utiliserez à nouveau le test du serveur TLS de Qualys. Encore une fois, saisissez simplement votre domaine, puis cliquez sur Soumettre et attendez le rapport.

 

Sur la page de résultats, vérifiez sous la section Cipher Suites pour localiser les informations de chiffrement.

 

Soyez attentif aux statuts tels que ceux écrits « Faible ».» Vous pourrez ensuite les corriger en les comparant avec le support de votre navigateur.

 

check and ensure that cipher suites match

 

 

Enfin

 

Nous pensons que ces conseils ont été faciles à suivre et que vous avez pu résoudre le problème de négociation TLS que vous avez rencontré. TLS est un sujet extrêmement vaste et il peut exister d'autres solutions disponibles.

 

Si vous avez trouvé cela utile, vous aimerez peut-être notre liste de diffusion. Nous partageons chaque jour de nombreux nouveaux conseils, astuces, dépannages, guides pratiques, comparaisons de produits et bien d'autres articles d'aide. Court, élaboré, doux et pratique !

 

Lisez également

 

> Corrigé : erreur potentielle de base de données de mise à jour Windows détectée
> Qu'est-ce que l'hôte de service Windows SuperFetch et comment y remédier
> Corrigé : Google Chrome attend problème de cache sous Windows 10
> Résolu : Ethernet n'a pas de configuration IP valide dans Windows 10