TLS 1.2-stöd för Microsoft SQL Server

Gäller för: SQL Server
Ursprungligt KB-nummer: 3135244

Inledning

Den här artikeln innehåller information om uppdateringar som Microsoft släpper för att aktivera TLS 1.2-stöd för SQL Server 2017 i Windows, SQL Server 2016, SQL Server 2014, SQL Server 2012, SQL Server 2008 och SQL Server 2008 R2. Den här artikeln innehåller även en lista över klientleverantörer som stöds. SQL Server 2016, SQL Server 2017 och SQL Server 2019 stöder TLS 1.2 utan att det behövs någon uppdatering.

Flera kända sårbarheter har rapporterats mot Secure Sockets Layer (SSL) och tidigare versioner av TLS (Transport Layer Security). Vi rekommenderar att du uppgraderar till TLS 1.2 för säker kommunikation.

Viktigt

Inga kända säkerhetsrisker har rapporterats för Microsoft TDS-implementeringen. Det här är kommunikationsprotokollet som används mellan SQL Server klienter och SQL Server databasmotorn. Microsoft Schannel-implementeringen av TLS 1.0 (om kända säkerhetsrisker som har rapporterats till Microsoft från och med publiceringsdatumet för den här artikeln) sammanfattas i Schannel-implementeringen av TLS 1.0 i Windows säkerhetsstatusuppdatering: 24 november 2015.

Så här vet du om du behöver den här uppdateringen

Använd följande tabell för att avgöra om din aktuella version av SQL Server redan stöder TLS 1.2 eller om du måste ladda ned en uppdatering för att aktivera TLS 1.2-stöd. Använd nedladdningslänkarna i tabellen för att hämta de serveruppdateringar som gäller för din miljö.

Obs!

Versioner som är senare än de som anges i den här tabellen stöder även TLS 1.2.

SQL Server version Ursprunglig version/version som stöder TLS 1.2 Aktuella uppdateringar med stöd för TLS 1.2 Ytterligare information
SQL Server 2014 SP1 CU 12.0.4439.1

SP1 CU5
KB3130926 – Kumulativ uppdatering 5 för SQL Server 2014 SP1

Obs!KB3130926 kommer nu att installera den senaste CU som producerades för 2014 SP1 (CU13 – KB4019099), som innehåller stöd för TLS 1.2 och alla snabbkorrigeringar som släppts hittills. Om det behövs är CU5 tillgängligt i Windows Update Catalog.

Obs! TLS 1.2-stöd är också tillgängligt under 2014 SP2 och 2014 SP3.
KB3052404 – KORRIGERING: Du kan inte använda Transport Layer Security-protokollet version 1.2 för att ansluta till en server som kör SQL Server 2014 eller SQL Server 2012
SQL Server 2014 SP1 GDR 12.0.4219.0

SP1 GDR TLS 1.2-uppdatering
TLS 1.2-stöd för 2014 SP1 GDR finns i den senaste kumulativa GDR-uppdateringen KB4019091.

Obs! TLS 1.2-stöd är också tillgängligt under 2014 SP2 och 2014 SP3.
SQL Server 2014 RTM CU 12.0.2564.0

RTM CU12
KB3130923 – kumulativ uppdatering 12 för SQL Server 2014

Obs! KB3130923 kommer nu att installera den senaste CU som släpptes för 2014 RTM (CU14 – KB3158271 ), som innehåller stöd för TLS 1.2 och alla snabbkorrigeringar som har släppts hittills. CU12 är tillgängligt i Windows Update Catalog om det behövs.

Obs! TLS 1.2-stöd är också tillgängligt under 2014 SP2 och 2014 SP3.
KB3052404 – KORRIGERING: Du kan inte använda Transport Layer Security-protokollet version 1.2 för att ansluta till en server som kör SQL Server 2014 eller SQL Server 2012
SQL Server 2014 RTM GDR 12.0.2271.0

RTM GDR TLS 1.2-uppdatering
TLS-stöd för SQL 2014 RTM är för närvarande endast tillgängligt genom att installera 2014 SP2 och 2014 SP3.
SQL Server 2012 SP3 GDR 11.0.6216.27

SP3 GDR TLS 1.2-uppdatering
Beskrivning av säkerhetsuppdateringen för SQL Server 2012 SP3 GDR: 16 januari 2018

Obs! Stöd för TLS 1.2 är också tillgängligt i 2012 SP4.
SQL Server 2012 SP3 CU 11.0.6518.0

SP1 CU3
KB3123299 – Kumulativ uppdatering 1 för SQL Server 2012 SP3

Obs! KB3123299 kommer nu att installera den senaste CU som släpptes för 2012 SP3 (CU10 – KB4025925, som innehåller stöd för TLS 1.2 och alla snabbkorrigeringar som har släppts hittills). Vid behov är CU1 tillgängligt i Windows Update Catalog.

Obs! Stöd för TLS 1.2 är också tillgängligt i 2012 SP4.
KB3052404 – KORRIGERING: Du kan inte använda Transport Layer Security-protokollet version 1.2 för att ansluta till en server som kör SQL Server 2014 eller SQL Server 2012
SQL Server 2012 SP2 GDR 11.0.5352.0

SP2 GDR TLS 1.2-uppdatering
TLS 1.2-stöd för 2012 SP2 GDR är tillgängligt i den senaste kumulativa GDR-uppdateringen – KB3194719.

TLS 1.2-stöd är också tillgängligt under 2012 SP3 och 2012 SP4.
SQL Server 2012 SP2 CU 11.0.5644.2

SP2 CU10
KB3120313 – Kumulativ uppdatering 10 för SQL Server 2012 SP2.

Obs! KB3120313 installerar nu den senaste CU som släpptes för 2012 SP2 (CU16 – KB3205054, som innehåller stöd för TLS 1.2 och alla snabbkorrigeringar som har släppts hittills). Vid behov är CU1 tillgängligt i Windows Update Catalog. Obs! Stöd för TLS 1.2 finns också i 2012 SP3 och 2012 SP4.
KB3052404 – KORRIGERING: Du kan inte använda Transport Layer Security-protokollet version 1.2 för att ansluta till en server som kör SQL Server 2014 eller SQL Server 2012
SQL Server 2008 R2 SP3 (endast x86/x64) 10.50.6542.0

SP2 TLS 1.2-uppdatering
TLS 1.2-stöd finns i den senaste kumulativa uppdateringen för SQL Server 2008 R2 SP3 – KB4057113.
SQL Server 2008 R2 SP2 GDR (endast IA-64) 10.50.4047.0

SP2 TLS 1.2-uppdatering
SQL Server 2008 R2 SP2 GDR (IA-64) TLS 1.2 Uppdateringar
SQL Server 2008 R2 SP2 CU (endast IA-64) 10.50.4344.0

SP2 TLS 1.2-uppdatering
SQL Server 2008 R2 SP2 GDR (IA-64) TLS 1.2 Uppdateringar
SQL Server 2008 SP4 (endast x86/x64) 10.0.6547.0

SP4 TLS 1.2-uppdatering
TLS 1.2-stöd är tillgängligt i den senaste kumulativa uppdateringen för SQL Server 2008 SP4 – KB4057114(endast x86/x64).
SQL Server 2008 SP3 GDR (endast IA-64) 10.0.5545.0

SP3 TLS 1.2-uppdatering
SQL Server 2008 SP3 GDR (IA-64) TLS 1.2 Uppdateringar
SQL Server 2008 SP3 CU (endast IA-64) 10.0.5896.0

SP3 TLS 1.2-uppdatering
SQL Server 2008 SP3 CU (IA-64) TLS 1.2 Uppdateringar

Nedladdningar av klientkomponent

Använd följande tabell för att ladda ned de klientkomponenter och drivrutinsuppdateringar som gäller för din miljö.

Klientkomponent/drivrutin Uppdateringar med TLS 1.2-stöd
SQL Server Native Client 10,0 för SQL Server 2008/2008 R2 (x86/x64/IA64) Microsoft SQL Server 2008 och SQL Server 2008 R2 Native Client
SQL Server Native Client 11.0 för SQL Server 2012/2014 (x86/x64) Microsoft SQL Server 2012 Native Client – QFE
MDAC-klientkomponenter (Sqlsrv32.dll och Sqloledb.dll) Uppdatering av servicestacken för Windows 10 version 1809: 10 november 2020

Ytterligare korrigeringar krävs för att SQL Server ska kunna använda TLS 1.2

Du måste installera följande .NET-snabbkorrigeringar för att aktivera SQL Server funktioner som Database Mail och vissa SSIS-komponenter som använder .NET-slutpunkter som kräver TLS 1.2-stöd som webbtjänstaktiviteten för att använda TLS 1.2.

Operativsystem .NET Framework version Uppdateringar med TLS 1.2-stöd
Windows 7 Service Pack 1, Windows 2008 R2 Service Pack 1 3.5.1 Stöd för TLS v1.2 som ingår i .NET Framework version 3.5.1
Windows 8 RTM, Windows 2012 RTM 3.5 Stöd för TLS v1.2 som ingår i .NET Framework version 3.5
Windows 8.1, Windows 2012 R2 SP1 3.5 SP1 Stöd för TLS v1.2 som ingår i .NET Framework version 3.5 SP1 på Windows 8.1 och Windows Server 2012 R2

Vanliga frågor och svar

  • Stöds TLS 1.1 på SQL Server 2016 och senare versioner?

    Ja. SQL Server 2016, SQL Server 2017 på Windows och SQL Server 2019 på Windows-versioner levereras med stöd för TLS 1.0 till TLS 1.2. Du måste inaktivera TLS 1.0 och 1.1 om du bara vill använda TLS 1.2 för klient-serverkommunikation.

  • Tillåter SQL Server 2019 anslutningar med TLS 1.0 eller 1.1 eller endast 1.2?

    SQL Server 2019 har samma supportnivå som SQL Server 2016 och SQL Server 2017, och SQL Server 2019 stöder äldre versioner av TLS. SQL Server 2019 RTM levereras med stöd för TLS 1.2 och ingen annan uppdatering eller korrigering krävs för att aktivera TLS 1.2-stöd.

  • Påverkas TDS av kända sårbarheter?

    Inga kända säkerhetsrisker har rapporterats för Microsoft TDS-implementeringen. Eftersom flera organisationer för standardframtvingande kräver användning av TLS 1.2 för krypterade kommunikationskanaler släpper Microsoft stöd för TLS 1.2 för den omfattande SQL Server installationsbasen.

  • Hur distribueras TLS 1.2-uppdateringarna till kunder?

    Den här artikeln innehåller nedladdningslänkar för lämpliga server- och klientuppdateringar som stöder TLS 1.2.

  • Stöder TLS 1.2 SQL Server 2005?

    TLS 1.2-stöd erbjuds endast för SQL Server 2008 och senare versioner.

  • Påverkas kunder som inte använder SSL/TLS om SSL 3.0 och TLS 1.0 är inaktiverade på servern?

    Ja. SQL Server krypterar användarnamnet och lösenordet under inloggningen även om en säker kommunikationskanal inte används. Den här uppdateringen krävs för alla SQL Server instanser som inte använder säker kommunikation och som har alla andra protokoll utom TLS 1.2 inaktiverade på servern.

  • Vilka versioner av Windows Server stöder TLS 1.2?

    Windows Server 2008 R2 och senare versioner stöder TLS 1.2.

  • Vad är rätt registerinställning för att aktivera TLS 1.2 för SQL Server kommunikation?

    Rätt registerinställningar är följande:

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

    De här inställningarna krävs för både server- och klientdatorer. DisabledByDefault Inställningarna och Enabled måste skapas på Windows 7-klienter och Windows Server 2008 R2-servrar. På Windows 8 och senare versioner av klientoperativsystemen eller Windows Server 2012 servern och senare versioner av serveroperativsystemen bör TLS 1.2 redan vara aktiverat. Om du implementerar en distributionsprincip för Windows-registret som måste vara oberoende av os-versionen rekommenderar vi att du lägger till de nämnda registernycklarna i principen. Om du använder Database Mail på SQL Server måste du också ange följande .NET-registernycklar:

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

Kända problem

  • Ärende 1

    SQL Server Management Studio (SSMS), rapportservern och rapporthanteraren ansluter inte till databasmotorn när du har tillämpat korrigeringen för SQL Server 2008, 2008 R2, 2012 eller 2014. Rapportservern och Rapporthanteraren misslyckas och returnerar följande felmeddelande:

    Rapportservern kan inte öppna en anslutning till rapportserverdatabasen. En anslutning till databasen krävs för alla begäranden och bearbetning. (rsReportServerDatabaseUnavailable)

    Det här problemet beror på att SSMS, Report Manager och Reporting Services Configuration Manager använda ADO.NET och ADO.NET stöd för TLS 1.2 endast är tillgängligt i .NET Framework 4.6. För tidigare versioner av .NET Framework måste du tillämpa en Windows-uppdatering så att ADO.NET kan stödja TLS 1.2-kommunikation för klienten. Windows-uppdateringar som aktiverar TLS 1.2-stöd i tidigare versioner av .NET-ramverket visas i tabellen i avsnittet Så här vet du om du behöver den här uppdateringen .

  • Ärende 2

    Reporting Services Configuration Manager rapporterar följande felmeddelande även efter att klientleverantörer har uppdaterats till en version som stöder TLS 1.2:

    Det gick inte att ansluta till servern: En anslutning upprättades till servern, men sedan uppstod ett fel under handskakningen före inloggningen.

    Skärmbild av ett testanslutningsfel när klientprovidrar har uppdaterats till en version som stöder TLS 1.2.

    Lös problemet genom att manuellt skapa följande registernyckel i systemet som är värd för Reporting Services-Configuration Manager:

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

  • Problem 3

    Den krypterade slutpunktskommunikationen som använder TLS 1.2 misslyckas när du använder krypterad kommunikation för tillgänglighetsgrupper, databasspegling eller Service Broker i SQL Server. Ett felmeddelande som liknar följande loggas i SQL-felloggen:

    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.
    

    Mer information om det här problemet finns i Åtgärda: Den krypterade slutpunktskommunikationen med TLS 1.2 misslyckas när du använder SQL Server.

  • Problem 4

    Olika fel uppstår när du försöker installera SQL Server 2012 eller SQL Server 2014 på en server som har TLS 1.2 aktiverat.

    Mer information finns i ÅTGÄRDA: Fel när du installerar SQL Server 2012 eller SQL Server 2014 på en server som har TLS 1.2 aktiverat.

  • Problem 5

    En krypterad anslutning med databasspegling eller tillgänglighetsgrupper fungerar inte när du använder ett certifikat när du har inaktiverat alla andra protokoll än TLS 1.2. Ett felmeddelande som liknar följande loggas i SQL Server-felloggen:

    En krypterad anslutning med databasspegling eller tillgänglighetsgrupper fungerar inte när du använder ett certifikat när du har inaktiverat alla andra protokoll än TLS 1.2. Du kanske ser något av följande symptom:

    • Symptom 1:

      Ett felmeddelande som liknar följande loggas i SQL Server-felloggen:

      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.'
      
    • Symptom 2:

      Ett felmeddelande som liknar följande loggas i Windows-händelseloggen:

      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.
      

      Det här problemet beror på att tillgänglighetsgrupper och databasspegling kräver ett certifikat som inte använder hashalgoritmer med fast längd, till exempel MD5. Hashalgoritmer med fast längd stöds inte i TLS 1.2.

    Mer information finns i ÅTGÄRDA: Kommunikationen med MD5-hashalgoritmen misslyckas om SQL Server använder TLS 1.2.

  • Problem 6

    Följande SQL Server databasmotorversioner påverkas av det tillfälliga tjänstavslutsproblemet som rapporteras i knowledge base-artikeln 3146034. För att kunderna ska kunna skydda sig mot problemet med tjänstavslut rekommenderar vi att de installerar TLS 1.2-uppdateringarna för SQL Server som nämns i den här artikeln om deras SQL Server version visas i följande tabell:

    SQL Server version Berörd version
    SQL Server 2008 R2 SP3 (x86 och x64) 10.50.6537.0
    SQL Server 2008 R2 SP2 GDR (endast IA-64) 10.50.4046.0
    SQL Server 2008 R2 SP2 (endast IA-64) 10.50.4343.0
    SQL Server 2008 SP4 (x86 och x64) 10.0.6543.0
    SQL Server 2008 SP3 GDR (endast IA-64) 10.0.5544.0
    SQL Server 2008 SP3 (endast IA-64) 10.0.5894.0
  • Problem 7

    Database Mail fungerar inte med TLS 1.2. Database Mail misslyckas med följande fel:

    Microsoft.SqlServer.Management.SqlIMail.Server.Common.BaseException: Det gick inte att läsa information om e-postkonfiguration från databasen. Det går inte att starta e-postsessionen.

    Mer information finns i Ytterligare korrigeringar som krävs för att SQL Server ska kunna använda TLS 1.

Vanliga fel som kan uppstå när TLS 1.2-uppdateringar saknas på klienten eller servern

Ärende 1

System Center Configuration Manager (SCCM) kan inte ansluta till SQL Server när TLS 1.2-protokollet har aktiverats på SQL Server. I den här situationen får du följande felmeddelande:

TCP-provider: En befintlig anslutning stängdes av med två skäl av fjärrvärden

Det här problemet kan inträffa när SCCM använder en SQL Server Native Client drivrutin som inte har någon korrigering. Lös problemet genom att ladda ned och installera klientkorrigeringen som visas i avsnittet Klientkomponentnedladdningar . Till exempel Microsoft® SQL Server ® 2012 Native Client – QFE.

Du kan ta reda på vilken drivrutin SCCM använder för att ansluta till SQL Server genom att visa SCCM loggen, som du ser i följande exempel:

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