sql >> Databasteknik >  >> RDS >> Sqlserver

Distribuera ett certifikat för krypterad anslutning SQL Server

Introduktion

Förra året fick vi ett krav på att säkerställa krypterade anslutningar till våra SQL Server-instanser. Förut trodde vi inte att det var nödvändigt – alla våra instanser nåddes av applikationstjänster internt. Ändå skyddar säkra anslutningar instansen och klienterna från attacker som man i mitten, så vi gjorde det.

Anslutningskryptering skiljer sig från Transparent Data Encryption, men du behöver ett certifikat i båda fallen. I den här artikeln beskriver vi proceduren för att ställa in en krypterad anslutning för SQL Server-instanser.

Konfigurera certifikatsnap-in i MMC

Ett certifikat är ett digitalt signerat dokument som innehåller offentliga och privata nycklar som krypterar anslutningar. De offentliga och privata nycklarna är ett "nyckelpar" – den offentliga nyckeln krypterar data, och det är bara den privata nyckeln som kan dekryptera dem.

Certifikat utfärdas av en certifikatutfärdare, en enhet som både servern och klienten litar på. I vårt fall genererade vi ett certifikat från servern som var värd för SQL Server.

Vi startar den här processen genom att starta Microsoft Management Console (mmc.exe) .

När MMC startas navigerar vi till Arkiv> Lägg till och ta bort snapin-program … (Figur 1). Här lägger vi till snapin-modulen Certificate Manager till vår konsol för att hantera certifikat på servern. Observera att det finns andra sätt att komma till denna punkt.

Vi vill hantera certifikat från vårt datorkonto på ett sådant sätt att andra administratörer inte skulle ha några problem med behörigheter när de också behöver hantera certifikat (Figur 2).

I den här artikeln har vi att göra med att hantera certifikat på den lokala dator där vår SQL Server-instans är installerad (Figur 3).

När vi har slutfört processen för att skapa certifikatsnap-in kan vi använda den.

Börja med att välja Alla uppgifter> Begär nytt certifikat :

Registrera ett MMC-certifikat

Åtgärden från figur 5 startar en guide – vi kommer snabbt att köra igenom den. Detaljerna är mer relevanta för Windows-administratören, men det avgörande är att få ett giltigt certifikat som SQL Server kan använda.

Verifiera de nödvändiga villkoren:

Välj en registreringspolicy och den typ av certifikat du vill ha. I vårt fall valde vi policyn som konfigurerats av vår domänadministratör för ändamål som detta. Du kanske pratar med din domänadministratör för att definiera det bästa alternativet i din miljö.

Certifikatregistrering är processen för att begära ett digitalt certifikat från en certifikatutfärdare. I vissa miljöer är CA en del av Public Key Infrastructure.

Konfigurera SQL Server

Nu när vi har certifikatet går vi över till SQL Server och konfigurerar den för att använda det certifikatet.

  • Öppna SQL Server Configuration Manager och navigera i SQL Server Network Configuration> Protocols for MS SQL Server .
  • Högerklicka på det här objektet och välj Egenskaper från rullgardinsmenyn (Figur 11):
  • I Egenskaper fönstret, välj Certifikat flik. Om du har gjort certifikatregistreringen korrekt bör du se den listad i rullgardinsmenyn märkt Certifikat (Figur 12). Genom att göra detta associerar vi detta certifikat med SQL Server-instansen. Observera att vi även kan se certifikatdetaljerna i SQL Server Configuration Manager.
  • När vi är klara med att tillämpa det giltiga certifikatet går vi över Flaggor fliken och ställ in Tvinga kryptering flagga till JA . Det säkerställer att alla anslutningar till SQL Server är krypterade.

Det kryptografiska protokollet som SQL Server använder för kryptering av anslutningar beror på operativsystemets konfiguration. Sedan bör du starta om SQL Server-instansen. Den laddar det nya certifikatet efter det.

Vi kan se data i Windows Event Viewer – SQL Server-felloggen. Vi kan också verifiera krypteringen av anslutningar med verktyg som Network Monitor från Sys Internals (Figur 14).

Slutsats

En krypterad anslutning krävs vanligtvis i organisationer som är oroade över säkerhet. I den här artikeln har vi delat med oss ​​av vår erfarenhet av hur man konfigurerar krypterade anslutningar på SQL Server.

Vår metod innebar att registrera ett certifikat, tillämpa det certifikatet på en SQL Server-instans och aktivera forcerad kryptering. Det är viktigt att notera att när du ställer in Force Encryption till YES i SQL Server måste alla klienter som ansluter till instansen använda samma kryptografiska protokoll.

Referenser

  1. Aktivera krypterade anslutningar
  2. SQL-servercertifikat och asymmetriska nycklar

  1. Varför tillåter MySQL grupp efter frågor UTAN aggregatfunktioner?

  2. Aritmetiskt spillfel vid konvertering av uttryck till datatyp datetime. (medan datum och tid visas..)

  3. SYSDATETIMEOFFSET() Exempel i SQL Server (T-SQL)

  4. Hur man infogar värde i identitetskolumn manuellt i SQL Server-tabell - SQL Server / T-SQL självstudie del 41