Introduction
Cet article fournit des informations sur les mises à jour que Microsoft publie pour activer la prise en charge de TLS 1.2 pour SQL Server 2017 sur Windows, SQL Server 2016, SQL Server 2008, SQL Server 2008 R2, SQL Server 2012 et SQL Server 2014. Cet article répertorie également les fournisseurs de clients pris en charge. SQL Server 2016, SQL Server 2017 et SQL Server 2019 supportent TLS 1.2 sans mise à jour.
Plusieurs vulnérabilités connues ont été signalées par rapport à SSL et aux versions antérieures de Transport Layer Security (TLS). Nous vous recommandons d’mettre à niveau vers TLS 1.2 pour sécuriser la communication.
Importante Aucune vulnérabilité connue n’a été signalée pour l’implémentation du service TDS Microsoft. Il s’agit du protocole de communication utilisé entre SQL Server clients et le moteur SQL Server base de données. L’implémentation par Microsoft Schannel de TLS 1.0 (en ce qui concerne les vulnérabilités connues signalées à Microsoft à la date de publication de cet article) est résumée dans l’implémentation Schannel de TLS 1.0dans la mise à jour de l’état de sécurité de Windows : 24 novembre 2015.
Comment savoir si vous avez besoin de cette mise à jour ?
Utilisez le tableau suivant pour déterminer si votre version actuelle de SQL Server dispose déjà d’une prise en charge de TLS 1.2 ou si vous devez télécharger une mise à jour pour activer la prise en charge de TLS 1.2. Utilisez les liens de téléchargement du tableau pour obtenir les mises à jour serveur applicables à votre environnement.
RemarqueLes builds ultérieures à celles répertoriées dans ce tableau peuvent également prise en charge TLS 1.2.
SQL Server publication |
Build/publication initiale qui a pris en charge TLS 1.2 |
Mises à jour actuelles avec prise en charge de TLS 1.2 |
Informations supplémentaires |
---|---|---|---|
SQL Server 2014 SP1 CU |
12.0.4439.1 SP1 CU5 |
KB3130926 - Mise à jour cumulative 5 SQL Server 2014 SP1 Remarque : KB3130926 installera désormais le dernier cu produits pour 2014 SP1 (CU13 - KB4019099), qui inclut la prise en charge de TLS 1.2, ainsi que tous les correctifs logiciels publiés à ce jour. Si nécessaire, CU5 est disponible dans le catalogue Windows Update. Remarque : La prise en charge de TLS 1.2 est également disponible dans 2014 SP2 et 2014 SP3. |
KB3052404 - CORRECTIF : vous ne pouvez pas utiliser le protocole 1.2 de Transport Layer Security pour vous connecter à un serveur exécutant SQL Server 2014 ou SQL Server 2012 |
SQL Server 2014 SP1 GDR |
12.0.4219.0 Mise à jour TLS 1.2 GDR SP1 |
Le support TLS 1.2 pour la RDA 2014 SP1 est disponible dans la dernière mise à jour cumulative de la RDA ( KB4019091). Remarque : La prise en charge de TLS 1.2 est également disponible dans 2014 SP2 et 2014 SP3. |
|
SQL Server 2014 RTM CU |
12.0.2564.0 RTM CU12 |
Remarque : KB3130923 installera désormais la dernière version de la version 2014 RTM (CU14 - KB3158271), qui inclut la prise en charge de TLS 1.2, ainsi que tous les correctifs logiciels publiés à ce jour. Si nécessaire, CU12 est disponible dans le catalogue Windows Update. Remarque : La prise en charge de TLS 1.2 est également disponible dans 2014 SP2 et 2014 SP3. |
KB3052404 - CORRECTIF : vous ne pouvez pas utiliser le protocole 1.2 de Transport Layer Security pour vous connecter à un serveur exécutant SQL Server 2014 ou SQL Server 2012 |
SQL Server 2014 RTM GDR |
12.0.2271.0 Mise à jour TLS 1.2 GDR RTM |
Le support TLS pour SQL 2014 RTM n’est actuellement disponible qu’en installant 2014 SP2 et 2014 SP3. |
|
SQL Server 2012 SP3 GDR |
11.0.6216.27 Mise à jour TLS 1.2 GDR SP3 |
La prise en charge de TLS 1.2 pour la RDA 2012 SP3 est disponible dans la dernière mise à jour cumulative de la RDA (KB4057115). Remarque : La prise en charge de TLS 1.2 est également disponible dans SP4 2012. |
|
SQL Server 2012 SP3 CU |
11.0.6518.0 SP1 CU3 |
KB3123299 - Mise à jour cumulative 1 SQL Server 2012 SP3 Remarque : KB3123299 installera désormais la dernière version de cu publiée pour 2012 SP3 (CU10 - KB4025925,qui inclut la prise en charge de TLS 1.2, ainsi que tous les correctifs logiciels publiés à ce jour). Si nécessaire, CU1 est disponible dans le catalogue Windows Update. Remarque : La prise en charge de TLS 1.2 est également disponible dans SP4 2012. |
KB3052404 - CORRECTIF : vous ne pouvez pas utiliser le protocole 1.2 de Transport Layer Security pour vous connecter à un serveur exécutant SQL Server 2014 ou SQL Server 2012 |
SQL Server 2012 SP2 GDR |
11.0.5352.0 Mise à jour TLS 1.2 GDR SP2 |
Le support TLS 1.2 pour la RDA SP2 2012 est disponible dans la dernière mise à jour cumulative de la RDA –KB3194719. La prise en charge de TLS 1.2 est également disponible dans 2012 SP3 et 2012 SP4. |
|
SQL Server 2012 SP2 CU |
11.0.5644.2 SP2 CU10 |
KB3120313 - Mise à jour cumulative 10 SQL Server 2012 SP2. Remarque : KB3120313 installera désormais la dernière version de CU publiée pour 2012 SP2 (CU16 - KB3205054,qui inclut la prise en charge de TLS 1.2, ainsi que tous les correctifs logiciels publiés à ce jour). Si nécessaire, CU1 est disponible dans le catalogue Windows Update. Remarque : La prise en charge de TLS 1.2 est également disponible dans 2012 SP3 et 2012 SP4. |
KB3052404 - CORRECTIF : vous ne pouvez pas utiliser le protocole 1.2 de Transport Layer Security pour vous connecter à un serveur exécutant SQL Server 2014 ou SQL Server 2012 |
SQL Server 2008 R2 SP3 (x86/x64 uniquement) |
10.50.6542.0 Mise à jour SP3 TLS 1.2 |
Le support TLS 1.2 est disponible dans la dernière mise à jour cumulative pour SQL Server 2008 R2 SP3 – KB4057113. |
|
SQL Server GDR 2008 R2 SP2 (IA-64 uniquement) |
10.50.4047.0 Mise à jour SP2 TLS 1.2 |
||
SQL Server 2008 R2 SP2 CU (IA-64 uniquement) |
10.50.4344.0 Mise à jour SP2 TLS 1.2 |
||
SQL Server 2008 SP4 (x86/x64 uniquement) |
10.0.6547.0 Mise à jour SP4 TLS 1.2 |
Le support TLS 1.2 est disponible dans la dernière mise à jour cumulative pour SQL Server 2008 SP4 – KB4057114. (x86/x64 uniquement) |
|
SQL Server GDR 2008 SP3 (IA-64 uniquement) |
10.0.5545.0 Mise à jour SP3 TLS 1.2 |
||
SQL Server 2008 SP3 CU (IA-64 uniquement) |
10.0.5896.0 Mise à jour SP3 TLS 1.2 |
Téléchargements du composant client
Utilisez le tableau suivant pour télécharger les composants clients et les mises à jour de pilotes applicables à votre environnement.
Composant/pilote du client |
Mises à jour avec prise en charge de TLS 1.2 |
SQL Server Client natif 10.0 pour SQL Server 2008/2008 R2 (x86/x64/IA64) |
|
SQL Server Client natif 11.0 pour SQL Server 2012/2014 (x86/x64) |
Correctifs supplémentaires nécessaires pour SQL Server’utiliser TLS 1.2
Vous devez installer les correctifs correctifs logiciels .NET suivants pour activer des fonctionnalités SQL Server telles que Courrier de base de données et certains composants SSIS qui utilisent des points de terminaison .NET qui nécessitent une prise en charge de TLS 1.2 telle que la tâche de service web pour utiliser TLS 1.2.
Système d’exploitation |
Version de .NET Framework |
Mises à jour avec prise en charge de TLS 1.2 |
---|---|---|
Windows 7 Service Pack 1, Windows 2008 R2 Service Pack 1 |
3.5 .1 |
Prise en charge du TLS v1.2 inclus dans .NET Framework version 3.5.1 |
Windows 8 RTM, Windows 2012 RTM |
3.5 |
Prise en charge du TLS v1.2 inclus dans .NET Framework version 3.5 |
Windows 8.1, Windows 2012 R2 SP1 |
3.5 SP1 |
Forum aux questions
TLS 1.1 est-il pris en charge SQL Server 2016 et versions ultérieures ?
Oui. SQL Server 2016, SQL Server 2017 sur Windows et SQL Server 2019 sur Windows sont disponibles avec le support TLS 1.0 vers TLS 1.2. Vous devez désactiver TLS 1.0 et 1.1 si vous souhaitez utiliser uniquement TLS 1.2 pour la communication client-serveur.
Est SQL Server 2019 autorise-t-il les connexions à l’aide du TLS 1.0 ou 1.1, ou uniquement 1.2 ?
SQL Server 2019 présente le même niveau de prise en charge qu’SQL Server 2016 et SQL Server 2017, et SQL Server 2019 prend en charge les anciennes versions de TLS. SQL Server 2019 RTM est livré avec la prise en charge TLS 1.2 et aucune mise à jour/correctif supplémentaire n’est nécessaire pour activer la prise en charge de TLS 1.2.
Est-ce que TDS est affecté par des vulnérabilités connues ?
Aucune vulnérabilité connue n’a été signalée pour l’implémentation de Microsoft TDS. Étant donné que plusieurs organisations chargées de l’application des normes imposent l’utilisation de TLS 1.2 pour les canaux de communication chiffrés, Microsoft publie la prise en charge de TLS 1.2 pour la base d’installation SQL Server données.
Comment les mises à jour TLS 1.2 seront-elle distribuées aux clients ?
Cet article fournit des liens de téléchargement pour les mises à jour de serveur et client appropriées qui supportent TLS 1.2.
SQL Server 2005 sera-t-il pris en charge pour TLS 1.2 ?
Le support TLS 1.2 est proposé uniquement pour les versions SQL Server 2008 et versions ultérieures.
Les clients qui n’utilisent pas SSL/TLS sont-ils affectés si SSL 3.0 et TLS 1.0 sont désactivés sur le serveur ?
Oui. SQL Server chiffre le nom d’utilisateur et le mot de passe lors de la connexion, même si un canal de communication sécurisé n’est pas utilisé. Cette mise à jour est requise pour SQL Server instances qui n’utilisent pas des communications sécurisées et dont tous les autres protocoles à l’exception du protocole TLS 1.2 sont désactivés sur le serveur.
Quelles versions de Windows Server supportent TLS 1.2 ?
Windows Server 2008 R2 et versions ultérieures supportent TLS 1.2.
Quel est le paramètre de Registre correct pour activer TLS 1.2 pour SQL Server communication ? Les paramètres de Registre corrects sont les suivants :
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client] "DisabledByDefault"=dword:00000000 "Enabled"=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server] "DisabledByDefault"=dword:00000000 "Enabled"=dword:00000001
Ces paramètres sont requis pour les ordinateurs serveurs et clients. Les paramètres DisabledByDefault et Enabled doivent être créés sur les clients Windows 7 et les serveurs Windows Server 2008 R2. Sur Windows 8 et les versions ultérieures des systèmes d’exploitation clients ou de Windows Server 2012 Server et versions ultérieures des systèmes d’exploitation serveur, TLS 1.2 doit déjà être activé. Si vous implémentez une stratégie de déploiement pour le Registre Windows qui doit être indépendante de la version du système d’exploitation, nous vous recommandons d’ajouter les clés de Registre mentionnées à la stratégie.
Problèmes connus
Problème 1
ISQL Server Management Studio (SSMS), Report Server et le Gestionnaire de rapports ne se connectent pas au moteur de base de données après avoir appliqué le correctif pour SQL Server 2008, 2008 R2, 2012 ou 2014. Le serveur de rapports et le Gestionnaire de rapports échouent et retournent le message d’erreur suivant :
Le serveur d’états ne peut pas ouvrir de connexion à la base de données du serveur d’états. Une connexion à la base de données est requise pour toutes les demandes et le traitement. (rsReportServerDatabaseUnavailable)
Ce problème se produit parce que SSMS, le Gestionnaire de rapports et le Gestionnaire de configuration Reporting Services utilisent ADO.NET et que la prise en charge de ADO.NET pour TLS 1.2 est disponible uniquement dans .NET Framework 4.6. Pour les versions antérieures de .NET Framework, vous devez appliquer une mise à jour Windows afin que ADO.NET puisse prendre en charge les communications TLS 1.2 pour le client. Les mises à jour Windows qui activent la prise en charge de TLS 1.2 dans les versions antérieures de .NET Framework sont répertoriées dans le tableau de la section « Comment savoir si vous avez besoin de cette mise à jour ».
Problème 2
Reporting Services Configuration Manager signale le message d’erreur suivant même après que les fournisseurs de clients ont été mis à jour vers une version qui prend en charge TLS 1.2 :
Connexion non établie au serveur : une connexion a été établie avec succès sur le serveur, mais une erreur s’est produite lors de la connexion préalable à la connexion.
Pour résoudre ce problème, créez manuellement la clé de Registre suivante sur le système qui héberge Reporting Services Configuration Manager : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client : « Enabled"=dword:00000001
Problème 3
La communication chiffrée au point de terminaison qui utilise TLS 1.2 échoue lorsque vous utilisez des communications chiffrées pour des groupes de disponibilité, la mise en miroir de la base de données ou le courtier en services SQL Server. Un message d’erreur semblable au suivant est consigné dans le journal SQL erreurs :
Échec de la connexion. Échec d’un appel de système d’exploitation : (80090331) 0x80090331 (Le client et le serveur ne peuvent pas communiquer, car ils ne possèdent pas un algorithme commun). État 56.
Pour plus d’informations sur ce problème, voir CORRECTIF : la communication chiffrée du point de terminaison avec TLS 1.2échoue lorsque vous utilisez SQL Server.
Problème 4
Diverses erreurs se produisent lorsque vous essayez d’installer SQL Server 2012 ou SQL Server 2014 sur un serveur sur activé pour TLS 1.2.
Pour plus d’informations, voir CORRIGER : Erreur lors de l’installation de SQL Server 2012 ou SQL Server 2014sur un serveur sur qui le système TLS 1.2 est activé.
Problème 5
Une connexion chiffrée avec la mise en miroir de base de données ou les groupes de disponibilité ne fonctionne pas lorsque vous utilisez un certificat après avoir désactivé tous les autres protocoles autres que TLS 1.2. Un message d’erreur semblable au suivant est consigné dans le journal SQL Server erreurs :
Une connexion chiffrée avec la mise en miroir de base de données ou les groupes de disponibilité ne fonctionne pas lorsque vous utilisez un certificat après avoir désactivé tous les autres protocoles autres que TLS 1.2. Vous remarquerez peut-être l’un des symptômes suivants :
Symptôme 1 :
Un message d’erreur semblable au suivant est consigné dans le journal SQL Server erreurs :
Échec de la connexion. Échec d’un appel de système d’exploitation : (80090331) 0x80090331 (Le client et le serveur ne peuvent pas communiquer, car ils ne possèdent pas un algorithme commun). État 58. »
Symptôme 2 :
Un message d’erreur semblable au suivant est consigné dans le journal des événements Windows :
Nom du journal : Système
Source : Schannel
Date : date <date d'>
ID d’événement : 36888
Catégorie de tâche : Aucune
Niveau : Erreur
Mots clés :
Utilisateur : SYSTÈME
Ordinateur : ------------
Description :
Une alerte rouge a été générée et envoyée au point de terminaison distant. Cela peut entraîner la résiliation de la connexion. Le code d’erreur que le protocole TLS a défini est 40. L’état d’erreur Windows SChannel est 1205.
Nom du journal : Système
Source : Schannel
Date : date <date d'>
ID d’événement : 36874
Catégorie de tâche : Aucune
Niveau : Erreur
Mots clés :
Utilisateur : SYSTÈME
Ordinateur : -----------
Description :
Une demande de connexion TLS 1.2 a été reçue à partir d’une application cliente distante, mais aucune des suites cipheres prise en charge par l’application cliente n’est prise en charge par le serveur. La demande de connexion SSL a échoué.
Ce problème se produit car les groupes de disponibilité et la mise en miroir des bases de données nécessitent un certificat qui n’utilise pas d’algorithmes de hachage de longueur fixe, tel que MD5. Les algorithmes de hachage de longueur fixe ne sont pas pris en charge dans TLS 1.2.
Pour plus d’informations, voir CORRECTIF : La communication à l’aide de l’algorithme de hachage MD5 échoue si SQL Server utilise TLS 1.2.
Problème 6
Les versions suivantes SQL Server du moteur de base de données sont affectées par le problème de résiliation intermittente du service signalé dans l’article 3146034de la Base de connaissances. Pour que les clients se protègent du problème de résiliation du service, nous vous recommandons d’installer les mises à jour TLS 1.2 pour Microsoft SQL Server mentionnées dans cet article si leur version de SQL Server figure dans le tableau suivant.
SQL Server publication |
Version affectée |
SQL Server 2008 R2 SP3 (x86 et x64) |
10.50.6537.0 |
SQL Server GDR 2008 R2 SP2 (IA-64 uniquement) |
10.50.4046.0 |
SQL Server 2008 R2 SP2 (IA-64 uniquement) |
10.50.4343.0 |
SQL Server 2008 SP4 (x86 et x64) |
10.0.6543.0 |
SQL Server GDR 2008 SP3 (IA-64 uniquement) |
10.0.5544.0 |
SQL Server 2008 SP3 (IA-64 uniquement) |
10.0.5894.0 |
Problème 7
Courrier de base de données ne fonctionne pas avec TLS 1.2. Le courrier de base de données échoue avec les erreurs suivantes :
Microsoft.SqlServer.Management.SqlIMail.Server.Common.BaseException :
Les informations de configuration du courrier n’ont pas pu être lues à partir de la base de données. Impossible de démarrer la session de messagerie.
Pour plus d’informations, reportez-vous à la section intitulée Correctifs supplémentaires nécessaires SQL Server pour utiliser TLS 1.2 dans cet article.
Erreurs courantes que vous pouvez éprouver lorsque des mises à jour TLS 1.2 sont manquantes sur le client ou le serveur
Problème 1
System Center Configuration Manager (SCCM) ne peut pas se connecter à SQL Server une fois le protocole TLS 1.2 activé sur SQL Server. Dans ce cas, vous recevez le message d’erreur suivant :
Fournisseur TCP : une connexion existante a été fermée par l’hôte distant
Ce problème peut se produire lorsque SCCM utilise SQL Server client natif qui n’a pas de correctif. Pour résoudre ce problème, téléchargez et installez le correctif du client natif répertorié dans la section Des composants clients téléchargeables de cet article. Par exemple : Microsoft® SQL Server® 2012 Native Client - QFE.
Vous pouvez trouver le pilote utilisé par SCCM pour se connecter à SQL Server en l’affichez, comme dans l’exemple suivant :
[SQL Server Native Client 11.0]TCP Provider: An existing connection was forcibly closed by the remote host.~~ $$<Configuration Manager Setup><08-22-2016 04:15:01.917+420><thread=2868 (0xB34)>
*** [08001][10054][Microsoft][SQL Server Native Client 11.0]Client unable to establish connection $$<Configuration Manager Setup><08-22-2016 04:15:01.917+420><thread=2868 (0xB34)>
*** Failed to connect to the SQL Server, connection type: SMS ACCESS. $$<Configuration Manager Setup><08-22-2016 04:15:01.917+420><thread=2868 (0xB34)>
INFO: SQL Connection failed. Connection: SMS ACCESS, Type: Secure $$<Configuration Manager Setup><08-22-2016 04:15:01.917+420><thread=2868 (0xB34)>Native Client 11.0]TCP Provider: An existing connection was forcibly closed by the remote host.~~ $$<Configuration Manager Setup><08-22-2016 04:15:01.917+420><thread=2868 (0xB34)>
*** [08001][10054][Microsoft][SQL Server Native Client 11.0]Client unable to establish connection $$<Configuration Manager Setup><08-22-2016 04:15:01.917+420><thread=2868 (0xB34)>
*** Failed to connect to the SQL Server, connection type: SMS ACCESS. $$<Configuration Manager Setup><08-22-2016 04:15:01.917+420><thread=2868 (0xB34)>
INFO: SQL Connection failed. Connection: SMS ACCESS, Type: Secure $$<Configuration Manager Setup><08-22-2016 04:15:01.917+420><thread=2868 (0xB34)>