Särskilda fall för kryptering av anslutningar till SQL Server
En klientdator måste lita på servercertifikatet så att klienten kan begära TLS-kryptering (Transport Layer Security) och certifikatet måste redan finnas på servern. Det vanligaste scenariot för SQL Server-kryptering omfattar miljöer som:
- Tvingar fram kryptering för alla inkommande klientanslutningar till SQL Server.
- Använd certifikat från en offentlig kommersiell certifikatutfärdare som Windows redan litar på. Motsvarande rotcertifikat för CA är installerat i certifikatarkivet Betrodda rotcertifikatutfärdare på alla datorer i nätverket.
I det här scenariot behöver du inte utföra extra steg för lyckad kryptering när du har konfigurerat SQL Server för kryptering enligt proceduren som beskrivs i Konfigurera SQL Server Database Engine för kryptering av anslutningar. Den här artikeln innehåller procedurer för att kryptera anslutningar till SQL Server för mindre vanliga scenarier som inte beskrivs i Konfigurera SQL Server Database Engine för kryptering av anslutningar.
Notera
En fullständig lista över deltagare i Microsoft Trusted Root Program finns i Lista över deltagare – Microsoft Trusted Root Program.
Använd ett certifikat som utfärdats av en offentlig certifikatutfärdare och endast vissa klienter behöver krypterade anslutningar
Konfigurera certifikatet på SQL Server enligt den procedur som beskrivs i Konfigurera SQL Server att använda certifikat.
Ange nyckelordet för kryptering i anslutningsegenskaperna till Ja eller Sant. Om du till exempel använder Microsoft ODBC-drivrutin för SQL Server ska anslutningssträngen ange
Encrypt=yes;
.
Använd ett certifikat som utfärdats av en intern certifikatutfärdare eller skapats med hjälp av New-SelfSignedCertificate eller makecert
Scenario 1: Du vill kryptera alla anslutningar till SQL Server
När du har slutfört båda procedurerna i steg 1: Konfigurera SQL Server att använda certifikat och steg 2: Konfigurera krypteringsinställningar i SQL Server i artikeln Konfigurera SQL Server Database Engine för kryptering av anslutningaranvänder du något av följande alternativ för att konfigurera klientprogrammet för kryptering.
Alternativ 1: Konfigurera klientprogram för Förtroendeservercertifikat. Den här inställningen gör att klienten hoppar över steget som validerar servercertifikatet och fortsätter med krypteringsprocessen. Om du till exempel använder SQL Server Management Studio (SSMS) 20 och senare versioner kan du välja Betrodd servercertifikat på sidan Inloggning (eller på sidan Alternativ i tidigare versioner).
Alternativ 2: På varje klient, lägg till certifikatets utfärdande myndighet i lagret för betrodda rotcertifikat genom att utföra följande steg:
Exportera certifikatet från en dator som kör SQL Server med hjälp av proceduren som beskrivs i Exportera servercertifikat.
Importera certifikatet med hjälp av proceduren som beskrivs i Exportera och importera certifikat.
Scenario 2: Endast vissa klienter behöver krypterade anslutningar
När du har konfigurerat certifikatet för SQL Server som beskrivs i steg 1 i Konfigurera SQL Server Database Engine för kryptering av anslutningaranvänder du något av följande alternativ för att konfigurera klientprogrammet för kryptering:
Alternativ 1: Konfigurera klientapplikationer att lita på servercertifikatet och ange krypteringsordet i anslutningsegenskaperna till Ja eller Sant. Om du till exempel använder Microsoft ODBC-drivrutin för SQL Server ska anslutningssträngen ange Encrypt=Yes;TrustServerCertificate=Yes;
.
Mer information om servercertifikat och kryptering finns i Using TrustServerCertificate.
Alternativ 2: På varje klient lägger du till certifikatets utfärdande myndighet i det betrodda rotcertifikatarkivet och ställ in krypteringsparametrarna till Ja i anslutningssträngen.
Exportera certifikatet från en dator som kör SQL Server med hjälp av proceduren som beskrivs i Exportera certifikatet från en dator som kör SQL Server.
Ange nyckelordet för kryptering i anslutningsegenskaperna till Ja eller Sant. Om du till exempel använder Microsoft OLEDB-drivrutin för SQL Server ska anslutningssträngen ange Använd kryptering för data = Sant;
Använd det självsignerade certifikatet som skapas automatiskt av SQL Server
Scenario 1: Du vill kryptera alla inkommande anslutningar till SQL Server
Aktivera kryptering på SQL Server med hjälp av proceduren steg 2: Konfigurera krypteringsinställningar i SQL Server dokumenterat i Konfigurera SQL Server Database Engine för kryptering av anslutningar.
Konfigurera klientprogram för att lita på servercertifikatet. Om du litar på servercertifikatet hoppar klienten över steget som validerar servercertifikatet och fortsätter med krypteringsprocessen. Om du till exempel använder SQL Server Management Studio (SSMS) 20 och senare versioner kan du välja Betrodd servercertifikat på sidan Inloggning (eller på sidan Alternativ i tidigare versioner).
Scenario 2: Endast vissa klienter behöver krypterade anslutningar
Konfigurera klientprogramvaror att lita på servercertifikatet och ange krypteringsnyckelordet i anslutningsegenskaperna till Ja eller Sant. Om du till exempel använder Microsoft ODBC-drivrutin för SQL Server ska anslutningssträngen ange Encrypt=Yes;TrustServerCertificate=Yes;
.
Ingen extra konfiguration krävs på SQL Server för det här scenariot.
Varning
TLS/SSL-anslutningar som krypterats med ett självsignerat certifikat ger inte stark säkerhet, eftersom längden på nyckeln i de självsignerade certifikaten är kortare än nyckeln i certifikaten som genereras av certifikatutfärdare. De är mottagliga för attacker av typen "man-in-the-middle". Du bör inte förlita dig på TLS/SSL med självsignerade certifikat i en produktionsmiljö eller på servrar som är anslutna till Internet.