TLS 1.2-ondersteuning voor Microsoft SQL Server

Van toepassing op: SQL Server
Origineel KB-nummer: 3135244

Inleiding

Dit artikel bevat informatie over de updates die Microsoft uitbrengt om TLS 1.2-ondersteuning in te schakelen voor SQL Server 2017 in Windows, SQL Server 2016, SQL Server 2014, SQL Server 2012, SQL Server 2008 en SQL Server 2008 R2. In dit artikel worden ook ondersteunde clientproviders vermeld. SQL Server 2016, SQL Server 2017 en SQL Server 2019 ondersteunen TLS 1.2 zonder dat er een update nodig is.

Er zijn verschillende bekende beveiligingsproblemen gemeld voor SSL (Secure Sockets Layer) en eerdere versies van TLS (Transport Layer Security). U wordt aangeraden een upgrade uit te voeren naar TLS 1.2 voor veilige communicatie.

Belangrijk

Er zijn geen bekende beveiligingsproblemen gemeld voor de Microsoft TDS-implementatie. Dit is het communicatieprotocol dat wordt gebruikt tussen SQL Server-clients en de SQL Server-database-engine. De Microsoft Schannel-implementatie van TLS 1.0 (met betrekking tot de bekende beveiligingsproblemen die aan Microsoft zijn gemeld vanaf de publicatiedatum van dit artikel) wordt samengevat in de Schannel-implementatie van TLS 1.0 in windows-beveiligingsupdate: 24 november 2015.

Weten of u deze update nodig hebt

Gebruik de volgende tabel om te bepalen of uw huidige versie van SQL Server AL TLS 1.2 ondersteunt of dat u een update moet downloaden om TLS 1.2-ondersteuning in te schakelen. Gebruik de downloadkoppelingen in de tabel om de serverupdates te verkrijgen die van toepassing zijn op uw omgeving.

Opmerking

Builds die later zijn dan de builds die in deze tabel worden vermeld, ondersteunen ook TLS 1.2.

SQL Server release Eerste build/release met ondersteuning voor TLS 1.2 Huidige updates met TLS 1.2-ondersteuning Aanvullende informatie
SQL Server 2014 SP1 CU 12.0.4439.1

SP1 CU5
KB3130926 - Cumulatieve update 5 voor SQL Server 2014 SP1

Opmerking: KB3130926 installeert nu de laatste CU die is geproduceerd voor 2014 SP1 (CU13 - KB4019099), die TLS 1.2-ondersteuning en alle hotfixes bevat die tot nu toe zijn uitgebracht. Indien nodig is CU5 beschikbaar in de Windows Update-catalogus.

Opmerking: TLS 1.2-ondersteuning is ook beschikbaar in 2014 SP2 en 2014 SP3.
KB3052404 - OPLOSSING: U kunt het Transport Layer Security-protocol versie 1.2 niet gebruiken om verbinding te maken met een server waarop SQL Server 2014 of SQL Server 2012 wordt uitgevoerd
SQL Server 2014 SP1 GDR 12.0.4219.0

SP1 GDR TLS 1.2-update
TLS 1.2-ondersteuning voor 2014 SP1 GDR is beschikbaar in de meest recente cumulatieve GDR-update- KB4019091.

Opmerking: TLS 1.2-ondersteuning is ook beschikbaar in 2014 SP2 en 2014 SP3.
SQL Server 2014 RTM CU 12.0.2564.0

RTM CU12
KB3130923 - Cumulatieve update 12 voor SQL Server 2014

Opmerking: KB3130923 installeert nu de laatste CU die is uitgebracht voor 2014 RTM (CU14 - KB3158271 ), die TLS 1.2-ondersteuning en alle hotfixes bevat die tot nu toe zijn uitgebracht. Indien nodig is CU12 beschikbaar in Windows Update Catalogus.

Opmerking: TLS 1.2-ondersteuning is ook beschikbaar in 2014 SP2 en 2014 SP3.
KB3052404 - OPLOSSING: U kunt het Transport Layer Security-protocol versie 1.2 niet gebruiken om verbinding te maken met een server waarop SQL Server 2014 of SQL Server 2012 wordt uitgevoerd
SQL Server 2014 RTM GDR 12.0.2271.0

RTM GDR TLS 1.2-update
TLS-ondersteuning voor SQL 2014 RTM is momenteel alleen beschikbaar door 2014 SP2 en 2014 SP3 te installeren.
SQL Server 2012 SP3 GDR 11.0.6216.27

SP3 GDR TLS 1.2-update
Beschrijving van de beveiligingsupdate voor SQL Server 2012 SP3 GDR: 16 januari 2018

Opmerking: TLS 1.2-ondersteuning is ook beschikbaar in 2012 SP4.
SQL Server 2012 SP3 CU 11.0.6518.0

SP1 CU3
KB3123299 - Cumulatieve update 1 voor SQL Server 2012 SP3

Opmerking: KB3123299 installeert nu de laatste CU die is uitgebracht voor 2012 SP3 (CU10 - KB4025925, met TLS 1.2-ondersteuning en alle hotfixes die tot nu toe zijn uitgebracht). Indien nodig is CU1 beschikbaar in Windows Update Catalogus.

Opmerking: TLS 1.2-ondersteuning is ook beschikbaar in 2012 SP4.
KB3052404 - OPLOSSING: U kunt het Transport Layer Security-protocol versie 1.2 niet gebruiken om verbinding te maken met een server waarop SQL Server 2014 of SQL Server 2012 wordt uitgevoerd
SQL Server 2012 SP2 GDR 11.0.5352.0

SP2 GDR TLS 1.2-update
TLS 1.2-ondersteuning voor 2012 SP2 GDR is beschikbaar in de nieuwste cumulatieve GDR-update - KB3194719.

TLS 1.2-ondersteuning is ook beschikbaar in 2012 SP3 en 2012 SP4.
SQL Server 2012 SP2 CU 11.0.5644.2

SP2 CU10
KB3120313 : cumulatieve update 10 voor SQL Server 2012 SP2.

Opmerking: KB3120313 installeert nu de laatste CU die is uitgebracht voor 2012 SP2 (CU16 - KB3205054, met TLS 1.2-ondersteuning en alle hotfixes die tot nu toe zijn uitgebracht). Indien nodig is CU1 beschikbaar in Windows Update Catalogus. Opmerking: TLS 1.2-ondersteuning is ook beschikbaar in 2012 SP3 en 2012 SP4.
KB3052404 - OPLOSSING: U kunt het Transport Layer Security-protocol versie 1.2 niet gebruiken om verbinding te maken met een server waarop SQL Server 2014 of SQL Server 2012 wordt uitgevoerd
SQL Server 2008 R2 SP3 (alleen x86/x64) 10.50.6542.0

SP2 TLS 1.2-update
TLS 1.2-ondersteuning is beschikbaar in de meest recente cumulatieve update voor SQL Server 2008 R2 SP3 - KB4057113.
SQL Server 2008 R2 SP2 GDR (alleen IA-64) 10.50.4047.0

SP2 TLS 1.2-update
SQL Server 2008 R2 SP2 GDR (IA-64) TLS 1.2 Updates
SQL Server 2008 R2 SP2 CU (alleen IA-64) 10.50.4344.0

SP2 TLS 1.2-update
SQL Server 2008 R2 SP2 GDR (IA-64) TLS 1.2 Updates
SQL Server 2008 SP4 (alleen x86/x64) 10.0.6547.0

SP4 TLS 1.2-update
TLS 1.2-ondersteuning is beschikbaar in de meest recente cumulatieve update voor SQL Server 2008 SP4 - KB4057114(alleen x86/x64).
SQL Server 2008 SP3 GDR (alleen IA-64) 10.0.5545.0

SP3 TLS 1.2-update
SQL Server 2008 SP3 GDR (IA-64) TLS 1.2 Updates
SQL Server 2008 SP3 CU (alleen IA-64) 10.0.5896.0

SP3 TLS 1.2-update
SQL Server 2008 SP3 CU (IA-64) TLS 1.2 Updates

Downloads van clientonderdelen

Gebruik de volgende tabel om de clientonderdelen en stuurprogramma-updates te downloaden die van toepassing zijn op uw omgeving.

Clientonderdeel/stuurprogramma Updates met TLS 1.2-ondersteuning
SQL Server Native Client 10.0 voor SQL Server 2008/2008 R2 (x86/x64/IA64) Microsoft SQL Server 2008 en SQL Server 2008 R2 Native Client
SQL Server Native Client 11.0 voor SQL Server 2012/2014 (x86/x64) Microsoft SQL Server 2012 Native Client - QFE
MDAC-clientonderdelen (Sqlsrv32.dll en Sqloledb.dll) Update van onderhoudsstack voor Windows 10 versie 1809: 10 november 2020

Aanvullende oplossingen die nodig zijn voor SQL Server om TLS 1.2 te gebruiken

U moet de volgende .NET hotfix-rollups installeren om SQL Server functies zoals Database Mail en bepaalde SSIS-onderdelen in te schakelen die gebruikmaken van .NET-eindpunten waarvoor TLS 1.2-ondersteuning is vereist, zoals de webservicetaak voor het gebruik van TLS 1.2.

Besturingssysteem .NET Framework versie Updates met TLS 1.2-ondersteuning
Windows 7 Service Pack 1, Windows 2008 R2 Service Pack 1 3.5.1 Ondersteuning voor TLS v1.2 opgenomen in de .NET Framework versie 3.5.1
Windows 8 RTM, Windows 2012 RTM 3.5 Ondersteuning voor TLS v1.2 opgenomen in de .NET Framework versie 3.5
Windows 8.1, Windows 2012 R2 SP1 3.5 SP1 Ondersteuning voor TLS v1.2 in de .NET Framework versie 3.5 SP1 op Windows 8.1 en Windows Server 2012 R2

Veelgestelde vragen

  • Wordt TLS 1.1 ondersteund in SQL Server 2016 en latere versies?

    Ja. SQL Server 2016 worden SQL Server 2017 in Windows en SQL Server 2019 op Windows-versies geleverd met TLS 1.0-ondersteuning voor TLS 1.2. U moet TLS 1.0 en 1.1 uitschakelen als u alleen TLS 1.2 wilt gebruiken voor client-servercommunicatie.

  • Staat SQL Server 2019 verbindingen toe met TLS 1.0 of 1.1 of alleen 1.2?

    SQL Server 2019 heeft hetzelfde ondersteuningsniveau als SQL Server 2016 en SQL Server 2017, en SQL Server 2019 ondersteunt oudere versies van TLS. SQL Server 2019 RTM wordt geleverd met TLS 1.2-ondersteuning en er is geen andere update of oplossing vereist om TLS 1.2-ondersteuning in te schakelen.

  • Heeft TDS last van bekende beveiligingsproblemen?

    Er zijn geen bekende beveiligingsproblemen gemeld voor de Microsoft TDS-implementatie. Omdat verschillende organisaties die standaarden afdwingen het gebruik van TLS 1.2 voor versleutelde communicatiekanalen verplichten, biedt Microsoft ondersteuning voor TLS 1.2 voor de wijdverspreide SQL Server-installatiebasis.

  • Hoe worden de TLS 1.2-updates gedistribueerd naar klanten?

    Dit artikel bevat downloadkoppelingen voor de juiste server- en clientupdates die TLS 1.2 ondersteunen.

  • Ondersteunt TLS 1.2 SQL Server 2005?

    TLS 1.2-ondersteuning wordt alleen aangeboden voor SQL Server 2008 en latere versies.

  • Worden klanten die geen SSL/TLS gebruiken beïnvloed als SSL 3.0 en TLS 1.0 zijn uitgeschakeld op de server?

    Ja. SQL Server versleutelt de gebruikersnaam en het wachtwoord tijdens het aanmelden, zelfs als er geen beveiligd communicatiekanaal wordt gebruikt. Deze update is vereist voor alle SQL Server exemplaren die geen beveiligde communicatie gebruiken en waarvoor alle andere protocollen behalve TLS 1.2 zijn uitgeschakeld op de server.

  • Welke versies van Windows Server ondersteunen TLS 1.2?

    Windows Server 2008 R2 en latere versies ondersteunen TLS 1.2.

  • Wat is de juiste registerinstelling om TLS 1.2 in te schakelen voor SQL Server communicatie?

    De juiste registerinstellingen zijn als volgt:

    • [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

    Deze instellingen zijn vereist voor zowel server- als clientcomputers. De DisabledByDefault instellingen en Enabled moeten worden gemaakt op Windows 7-clients en Windows Server 2008 R2-servers. Op Windows 8 en latere versies van de clientbesturingssystemen of Windows Server 2012 server en latere versies van de serverbesturingssystemen moet TLS 1.2 al zijn ingeschakeld. Als u een implementatiebeleid implementeert voor Het Windows-register dat onafhankelijk moet zijn van de release van het besturingssysteem, wordt u aangeraden de genoemde registersleutels toe te voegen aan het beleid. Als u bovendien Database Mail op uw SQL Server gebruikt, moet u ook de volgende .NET-registersleutels instellen:

    • [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v2.0.50727] "SystemDefaultTlsVersions"=dword:00000001 "SchUseStrongCrypto"=dword:00000001
    • [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319] "SystemDefaultTlsVersions"=dword:00000001 "SchUseStrongCrypto"=dword:00000001
    • [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727] "SystemDefaultTlsVersions"=dword:00000001 "SchUseStrongCrypto"=dword:00000001
    • [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319] "SystemDefaultTlsVersions"=dword:00000001 "SchUseStrongCrypto"=dword:00000001

Bekende problemen

  • Probleem 1

    SQL Server Management Studio (SSMS), Report Server en Report Manager maken geen verbinding met de database-engine nadat u de oplossing voor SQL Server 2008, 2008 R2, 2012 of 2014 hebt toegepast. Report Server en Report Manager mislukken en retourneren het volgende foutbericht:

    De rapportserver kan geen verbinding met de rapportserverdatabase openen. Een verbinding met de database is vereist voor alle aanvragen en verwerking. (rsReportServerDatabaseUnavailable)

    Dit probleem treedt op omdat SSMS, Report Manager en Reporting Services Configuration Manager ADO.NET gebruiken en ADO.NET ondersteuning voor TLS 1.2 alleen beschikbaar is in de .NET Framework 4.6. Voor eerdere versies van de .NET Framework moet u een Windows-update toepassen, zodat ADO.NET TLS 1.2-communicatie voor de client kan ondersteunen. De Windows-updates die ONDERSTEUNING voor TLS 1.2 in eerdere versies van het .NET Framework mogelijk maken, worden vermeld in de tabel in de sectie Hoe weet u of u deze update nodig hebt .

  • Probleem 2

    Reporting Services Configuration Manager rapporteert het volgende foutbericht, zelfs nadat clientproviders zijn bijgewerkt naar een versie die TLS 1.2 ondersteunt:

    Kan geen verbinding maken met server: er is een verbinding tot stand gebracht met de server, maar er is een fout opgetreden tijdens de handshake voorafgaand aan aanmelding.

    Schermopname van een testverbindingsfout nadat clientproviders zijn bijgewerkt naar een versie die TLS 1.2 ondersteunt.

    U kunt dit probleem oplossen door handmatig de volgende registersleutel te maken op het systeem dat als host fungeert voor de Reporting Services-Configuration Manager:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client: "Enabled"=dword:00000001

  • Probleem 3

    De versleutelde eindpuntcommunicatie die gebruikmaakt van TLS 1.2 mislukt wanneer u versleutelde communicatie gebruikt voor beschikbaarheidsgroepen, databasespiegeling of Service Broker in SQL Server. Een foutbericht dat er ongeveer als volgt uitziet, wordt vastgelegd in het SQL-foutenlogboek:

    Connection handshake failed. An OS call failed: (80090331) 0x80090331(The client and server cannot communicate, because they do not possess a common algorithm.). State 56.
    

    Zie FIX: The encrypted endpoint communication with TLS 1.2 fails when you use SQL Server (Oplossing: de versleutelde eindpuntcommunicatie met TLS 1.2 mislukt wanneer u SQL Server gebruikt) voor meer informatie over dit probleem.

  • Probleem 4

    Er treden verschillende fouten op wanneer u probeert SQL Server 2012 of SQL Server 2014 te installeren op een server waarop TLS 1.2 is ingeschakeld.

    Zie FIX: Error when you install SQL Server 2012 or SQL Server 2014 on a server that has TLS 1.2 enabled voor meer informatie.

  • Probleem 5

    Een versleutelde verbinding met databasespiegeling of beschikbaarheidsgroepen werkt niet wanneer u een certificaat gebruikt nadat u alle andere protocollen dan TLS 1.2 hebt uitgeschakeld. Een foutbericht dat er ongeveer als volgt uitziet, wordt vastgelegd in het SQL Server foutenlogboek:

    Een versleutelde verbinding met databasespiegeling of beschikbaarheidsgroepen werkt niet wanneer u een certificaat gebruikt nadat u alle andere protocollen dan TLS 1.2 hebt uitgeschakeld. Mogelijk ziet u een van de volgende symptomen:

    • Symptoom 1:

      Een foutbericht dat er ongeveer als volgt uitziet, wordt vastgelegd in het SQL Server foutenlogboek:

      Connection handshake failed. An OS call failed: (80090331) 0x80090331(The client and server cannot communicate, because they do not possess a common algorithm.). State 58.'
      
    • Symptoom 2:

      Een foutbericht dat er ongeveer als volgt uitziet, wordt vastgelegd in het Windows-gebeurtenislogboek:

      Log Name:      System
      Source:        Schannel
      Date:          <Date Time>
      Event ID:      36888
      Task Category: None
      Level:         Error
      Keywords:     
      User:          SYSTEM
      Computer:      ------------
      Description:
      A fatal alert was generated and sent to the remote endpoint. This may result in termination of the connection. The TLS protocol defined fatal error code is 40. The Windows SChannel error state is 1205.
      
      Log Name:      System
      Source:        Schannel
      Date:          <Date Time>
      Event ID:      36874
      Task Category: None
      Level:         Error
      Keywords:     
      User:          SYSTEM
      Computer:      -----------
      Description:
      An TLS 1.2 connection request was received from a remote client application, but none of the cipher suites supported by the client application are supported by the server. The SSL connection request has failed.
      

      Dit probleem treedt op omdat beschikbaarheidsgroepen en databasespiegeling een certificaat vereisen dat geen hash-algoritmen met vaste lengte gebruikt, zoals MD5. Hash-algoritmen met vaste lengte worden niet ondersteund in TLS 1.2.

    Zie FIX: Communication using MD5 hash algorithm fails if SQL Server using TLS 1.2 (Fix: Communicatie met md5-hashalgoritme mislukt als SQL Server TLS 1.2 gebruikt) voor meer informatie.

  • Probleem 6

    De volgende SQL Server versies van database-engine worden beïnvloed door het probleem met het onregelmatig beëindigen van de service dat wordt gerapporteerd in het Knowledge Base-artikel 3146034. Klanten die zich willen beschermen tegen het probleem met het beëindigen van de service, raden we aan de TLS 1.2-updates te installeren voor SQL Server die in dit artikel worden vermeld als hun SQL Server-versie in de volgende tabel wordt vermeld:

    SQL Server release Betrokken versie
    SQL Server 2008 R2 SP3 (x86 en x64) 10.50.6537.0
    SQL Server 2008 R2 SP2 GDR (alleen IA-64) 10.50.4046.0
    SQL Server 2008 R2 SP2 (alleen IA-64) 10.50.4343.0
    SQL Server 2008 SP4 (x86 en x64) 10.0.6543.0
    SQL Server 2008 SP3 GDR (alleen IA-64) 10.0.5544.0
    SQL Server 2008 SP3 (alleen IA-64) 10.0.5894.0
  • Probleem 7

    Database Mail werkt niet met TLS 1.2. Database Mail mislukt met de volgende fout:

    Microsoft.SqlServer.Management.SqlIMail.Server.Common.BaseException: E-mailconfiguratiegegevens kunnen niet worden gelezen uit de database. Kan de e-mailsessie niet starten.

    Zie Aanvullende oplossingen die nodig zijn voor SQL Server om TLS 1 te gebruiken voor meer informatie.

Veelvoorkomende fouten die kunnen optreden wanneer TLS 1.2-updates ontbreken op de client of server

Probleem 1

System Center Configuration Manager (SCCM) kan geen verbinding maken met SQL Server nadat het TLS 1.2-protocol is ingeschakeld op SQL Server. In deze situatie wordt het volgende foutbericht weergegeven:

TCP-provider: een bestaande verbinding is geforceerd gesloten door de externe host

Dit probleem kan optreden wanneer SCCM een SQL Server Native Client-stuurprogramma gebruikt dat geen oplossing heeft. U kunt dit probleem oplossen door de clientoplossing te downloaden en te installeren die wordt vermeld in de sectie Downloads van clientonderdelen . Bijvoorbeeld Microsoft® SQL Server ® 2012 Native Client - QFE.

U kunt zien welk stuurprogramma SCCM gebruikt om verbinding te maken met SQL Server door het logboek van SCCM te bekijken, zoals in het volgende voorbeeld wordt weergegeven:

[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)>