Symptômes
Supposez que vous utilisez la version 1,2 du protocole TLS (Transport Layer Security) dans Microsoft SQL Server. Lorsque le certificat utilisé pour chiffrer les communications de point de terminaison pour la mise en miroir de la base de données, les groupes de disponibilité et le Service Broker utilise un algorithme de hachage MD5, la communication échoue. Par ailleurs, vous recevez le message d’erreur suivant dans le journal des erreurs SQL Server :
Échec du protocole de connexion. Un appel du système d’exploitation a échoué : (80090331) 0x80090331 (le client et le serveur ne peuvent pas communiquer, car ils ne possèdent pas d’algorithme commun.). État 58. '
Par ailleurs, le journal Windows signale l’erreur Schannel suivante :
Une alerte irrécupérable a été générée et envoyée au point de terminaison distant. Cela risque de provoquer la fin de la connexion. Le code d’erreur irrécupérable du protocole TLS est 40. L’état d’erreur Windows SChannel est 1205.
Cause
Ce problème se produit car le protocole TLS 1,2 ne prend pas en charge MD5 en tant qu’algorithme de hachage de signature.
Résolution
Conformément aux recommandations et normes en vigueur en matière de sécurité, nous vous recommandons de basculer vers un hachage de signature non MD5 pour les certificats utilisés pour le chiffrement de points de terminaison SQL Server. La liste des versions fixes qui prennent en charge TLS 1,2 est disponible dans l’article suivant de la base de connaissances Microsoft :
3135244 Prise en charge de TLS 1,2 pour Microsoft SQL Server
Statut
Microsoft a confirmé l'existence de ce problème dans les produits Microsoft figurant dans la liste des produits concernés par cet article.
Références
Apprenez-en davantage sur la terminologie utilisée par Microsoft pour décrire les mises à jour logicielles.