Inledning
Den här artikeln innehåller information om de uppdateringar som Microsoft släpper för att aktivera TLS 1.2-stöd för SQL Server 2017 på Windows, SQL Server 2016, SQL Server 2008, SQL Server 2008 R2, SQL Server 2012 och SQL Server 2014. I den här artikeln visas även klientleverantörer som stöds. SQL Server 2016, SQL Server 2017 och SQL Server 2019 stöder TLS 1.2 utan uppdatering.
Flera kända säkerhetsproblem har rapporterats mot SSL och tidigare versioner av TLS (Transport Layer Security). Vi rekommenderar att du uppgraderar till TLS 1.2 för säker kommunikation.
Inga kända säkerhetsproblem har rapporterats för MicrosoftS TDS-implementering. Det här är kommunikationsprotokoll som används mellan SQL Server-klienter och SQL Server-databasmotorn. Microsoft Schannel-implementeringen av TLS 1.0 (om kända svagheter som har rapporterats till Microsoft från och med publiceringsdatumet för den här artikeln) sammanfattas i Schannel-implementering 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 har stöd för 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! Versionerna som är senare än de som anges i den här tabellen har också stöd för TLS 1.2.
SQL Server-version |
Första version/version som stöder TLS 1.2 |
Aktuella uppdateringar med TLS 1.2-support |
Ytterligare information |
---|---|---|---|
SQL Server 2014 SP1 CU |
12.0.4439.1 SP1 CU5 |
Obs! KB3130926 kommer nu att installera den senaste CU som produceras för 2014 SP1 (CU13 – KB4019099 ), som innehåller stöd för TLS 1.2 samt alla snabbkorrigeringar som släppts hittills. OM det behövs finns CU5 tillgänglig i Windows Update-katalogen. |
KB3052404 - ÅTGÄRDAT: Du kan inte använda transport layer security protocol 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. |
|
SQL Server 2014 RTM CU |
12.0.2564.0 RTM CU12 |
KB3130923 – kumulativ uppdatering 12 för SQL Server 2014 Obs! KB3130923 installerar nu den senaste CU-uppdateringen för 2014 RTM (CU14 – KB3158271), som innehåller TLS 1.2-stöd samt alla snabbkorrigeringar som släppts hittills. OM det behövs finns CU12 tillgänglig i Windows Update-katalogen. |
KB3052404 - ÅTGÄRDAT: Du kan inte använda transport layer security protocol 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 |
TLS 1.2 Stöd för 2012 SP3 GDR finns i den senaste kumulativa GDR-uppdateringen – KB4057115. Obs! Stöd för TLS 1.2 finns också i 2012 SP4. |
|
SQL Server 2012 SP3 CU |
11.0.6518.0 SP1 CU3 |
Obs! KB3123299 kommer nu att installera den senaste CU-uppdateringen för 2012 SP3 (CU10 – KB4025925,som innehåller TLS 1.2-stöd samt alla snabbkorrigeringar som släppts hittills). OM det behövs finns CU1 tillgänglig i Windows Update-katalogen. Obs! Stöd för TLS 1.2 finns också i 2012 SP4. |
KB3052404 - ÅTGÄRDAT: Du kan inte använda transport layer security protocol 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 finns i den senaste kumulativa GDR-uppdateringen – KB3194719. |
|
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-uppdateringen för 2012 SP2 (CU16 – KB3205054,som innehåller TLS 1.2-stöd samt alla snabbkorrigeringar som släppts hittills). OM det behövs finns CU1 tillgänglig i Windows Update-katalogen. |
KB3052404 - ÅTGÄRDAT: Du kan inte använda transport layer security protocol 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 SP3 TLS 1.2-uppdatering |
Stöd för TLS 1.2 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 CU (endast IA-64) |
10.50.4344.0 SP2 TLS 1.2-uppdatering |
||
SQL Server 2008 SP4 (endast x86/x64) |
10.0.6547.0 SP4 TLS 1.2-uppdatering |
Stöd för TLS 1.2 finns 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 CU (endast IA-64) |
10.0.5896.0 SP3 TLS 1.2-uppdatering |
Klientkomponentnedladdningar
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) |
Ytterligare korrigeringar som krävs för ATT SQL Server ska använda TLS 1.2
Du måste installera följande .NET-snabbkorrigeringar för att aktivera SQL Server-funktioner som Databas-e-post och vissa SSIS-komponenter som använder .NET-slutpunkter som kräver TLS 1.2-stöd, till exempel webbtjänstuppgiften, för att TLS 1.2 ska användas.
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 |
|
Windows 8 RTM, Windows 2012 RTM |
3.5 |
|
Windows 8.1, Windows 2012 R2 SP1 |
3,5 SP1 |
Vanliga frågor och svar
Stöds TLS 1.1 i SQL Server 2016 och senare versioner?
Ja. SQL Server 2016, SQL Server 2017 på Windows och SQL Server 2019 på Windows-versioner levereras med TLS 1.0 till TLS 1.2-stöd. 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 nivå av stöd som SQL Server 2016 och SQL Server 2017, och SQL Server 2019 har stöd för äldre versioner av TLS. SQL Server 2019 RTM levereras med TLS 1.2-stöd och ingen ytterligare uppdatering/korrigering krävs för att aktivera TLS 1.2-stöd.
Påverkas TDS av kända svagheter?
Inga kända säkerhetsproblem har rapporterats för Microsoft TDS-implementeringen. Eftersom flera organisationer som efterlever standarder tar bort användningen av TLS 1.2 för krypterade kommunikationskanaler släpper Microsoft stöd för TLS 1.2 för den grundläggande SQL Server-installationsbasen.
Hur ska TLS 1.2-uppdateringarna distribueras till kunderna?
Den här artikeln innehåller nedladdningslänkar för lämpliga server- och klientuppdateringar som stöder TLS 1.2.
Stöds SQL Server 2005 för TLS 1.2?
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ändarnamn och lösenord vid inloggning ä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 har stöd för TLS 1.2?
Windows Server 2008 R2 och senare versioner har stöd för 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. Inställningarna DisabledByDefault och Enabled måste skapas på Windows 7-klienter och Windows Server 2008 R2-servrar. På Windows 8 och senare versioner av klientoperativsystemet eller Windows Server 2012-servern och senare versioner av serveroperativsystemet bör TLS 1.2 redan vara aktiverat. Om du implementerar en distributionsprincip för Windows-registret som måste vara oberoende av operativsystemets version rekommenderar vi att du lägger till de omnämnda registernycklarna i principen.
Kända problem
Problem 1
ISQL Server Management Studio (SSMS), Report Server och Report Manager ansluter inte till databasmotorn när du har tillämpat korrigeringen för SQL Server 2008, 2008 R2, 2012 eller 2014. Report Server and Report Manager fail and return the following error message:
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 uppstår eftersom SSMS, Report Manager och Reporting Services Konfigurationshanteraren använder ADO.NET och ADO.NET-stöd för TLS 1.2 är endast tillgängligt i .NET Framework 4.6. För tidigare versioner av .NET Framework måste du använda 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 Framework visas i tabellen i avsnittet "Så här vet du om du behöver den här uppdateringen".
Problem 2
Reporting Services Konfigurationshanteraren 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 kunde upprättas till servern, men ett fel uppstod vid handskakningen före inloggningen.
Du kan lösa problemet genom att manuellt skapa följande registernyckel på det system som är värd för Reporting Services Konfigurationshanteraren: 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 eller databasspegling eller tjänstjämföring i SQL Server. Ett felmeddelande som liknar följande loggas i SQL-felloggen:
Anslutningshandskakning misslyckades. Ett OS-anrop misslyckades: (80090331) 0x80090331(Klienten och servern kan inte kommunicera, eftersom de inte har en gemensam algoritm.). Delstat 56.
Mer information om det här problemet finns i ÅTGÄRDAT: Den krypterade slutpunktskommunikationen med TLS 1.2misslyckas 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ÄRDAT: 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 ser ut ungefär så här 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 kan märka något av följande symptom:
Symptom 1:
Ett felmeddelande som ser ut ungefär så här loggas i SQL Server-felloggen:
Anslutningshandskakning misslyckades. Ett OS-anrop misslyckades: (80090331) 0x80090331(Klienten och servern kan inte kommunicera, eftersom de inte har en gemensam algoritm.). Delstat 58.'
Symptom 2:
Ett felmeddelande som liknar följande loggas i Windows händelselogg:
Loggnamn: System
Källa: Schannel
Datum: <datum/tid>
Händelse-ID: 36888
Uppgiftskategori: Ingen
Nivå: Fel
Nyckelord:
Användare: SYSTEM
Dator: ------------
Beskrivning:
En allvarligt varning har genererats och skickats till fjärrslutpunkten. Detta kan resultera i att anslutningen avslutas. Det definierat allvarliga felkoden för TLS-protokollet är 40. Windows SChannel-feltillståndet är 1205.
Loggnamn: System
Källa: Schannel
Datum: <datum/tid>
Händelse-ID: 36874
Uppgiftskategori: Ingen
Nivå: Fel
Nyckelord:
Användare: SYSTEM
Dator: -----------
Beskrivning:
En TLS 1.2-anslutningsbegäran togs emot från ett fjärrklientprogram, men inget av de kodpaket som stöds av klientprogrammet stöds av servern. SSL-anslutningsbegäran misslyckades.
Det här problemet uppstår eftersom tillgänglighetsgrupper och databasspegling kräver ett certifikat som inte använder hash-algoritmer med fast längd, till exempel MD5. Algoritmer för hash-kod med fast längd stöds inte i TLS 1.2.
Mer information finns i ÅTGÄRDAT: Kommunikation med MD5-hash-algoritmen misslyckas om SQL Server använder TLS 1.2.
Problem 6
Följande SQL Server-databasmotorns versioner påverkas av problemet med att tjänsten avslutas oregelbundet som rapporteras i Knowledge Base-artikeln 3146034. Kunder som vill skydda sig själva från problemet med att tjänsten avslutas rekommenderar vi att de installerar TLS 1.2-uppdateringarna för Microsoft SQL Server som nämns i den här artikeln om deras SQL Server-version finns med i tabellen nedan.
SQL Server-version |
Påverkad 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
Databaspost fungerar inte med TLS 1.2. Databas-e-post misslyckas med följande fel:
Microsoft.SqlServer.Management.SqlIMail.Server.Common.BaseException:
Det gick inte att läsa information om e-postkonfigurationen från databasen. Det går inte att starta e-postsessionen.
Mer information finns i avsnittet Ytterligare korrigeringar som krävs för att SQL Server ska kunna använda TLS 1.2 i den här artikeln.
Vanliga fel som kan uppstå när TLS 1.2-uppdateringar saknas på klienten eller servern
Problem 1
System Center Konfigurationshanteraren (SCCM) kan inte ansluta till SQL Server när TLS 1.2-protokollet har aktiverats på SQL Server. I det här fallet får du följande felmeddelande:
TCP-leverantör: En befintlig anslutning stängdes av fjärrvärden
Det här problemet kan uppstå när SCCM använder en drivrutin för SQL Server Native Client som inte har någon korrigering. Lös problemet genom att hämta och installera korrigeringen för intern klient som listas i avsnittet Klientkomponenter i den här artikeln. 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 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)>