sql >> Database teknologi >  >> RDS >> Sqlserver

Implementering af et certifikat til krypteret forbindelse SQL Server

Introduktion

Sidste år fik vi et krav om at sikre krypterede forbindelser til vores SQL Server-instanser. Før troede vi ikke, det var nødvendigt – alle vores instanser blev tilgået af applikationstjenester internt. Alligevel beskytter sikre forbindelser instansen og klienterne mod angreb som man-in-the-midter, så vi gjorde det.

Forbindelseskryptering adskiller sig fra Transparent Data Encryption, men du har brug for et certifikat i begge tilfælde. I denne artikel beskriver vi proceduren for opsætning af en krypteret forbindelse til SQL Server-forekomster.

Opsætning af certifikat-snap-in i MMC

Et certifikat er et digitalt signeret dokument, der indeholder offentlige og private nøgler, der krypterer forbindelser. De offentlige og private nøgler er et "nøglepar" - den offentlige nøgle krypterer dataene, og det er kun den private nøgle, der kan dekryptere dem.

Certifikater udstedes af en certifikatmyndighed, en enhed, som både serveren og klienten har tillid til. I vores tilfælde genererede vi et certifikat fra serveren, der hostede SQL Server.

Vi starter denne proces ved at starte Microsoft Management Console (mmc.exe) .

Når MMC er lanceret, navigerer vi til Filer> Tilføj og fjern snap-ins … (Figur 1). Her tilføjer vi Certificate Manager snap-in til vores konsol for at administrere certifikater på serveren. Bemærk, at der er andre måder at komme til dette punkt på.

Vi ønsker at administrere certifikater fra vores computerkonto på en sådan måde, at andre administratorer ikke har nogen problemer med tilladelser, når de også skal administrere certifikater (figur 2).

I denne artikel beskæftiger vi os med administration af certifikater på den lokale computer, hvor vores SQL Server-instans er installeret (figur 3).

Når vi har fuldført processen med oprettelse af certifikat-snap-in, kan vi tage den i brug.

Start med at vælge Alle opgaver> Anmod om nyt certifikat :

Tilmelding af et MMC-certifikat

Handlingen fra figur 5 starter en guide – vi vil hurtigt køre den igennem. Detaljerne er mere relevante for Windows-administratoren, men det afgørende er at få et gyldigt certifikat, som SQL Server kan bruge.

Bekræft de nødvendige betingelser:

Vælg en tilmeldingspolitik og den type certifikat, du ønsker. I vores tilfælde valgte vi politikken som konfigureret af vores domæneadministrator til formål som dette. Du kan måske tale med din domæneadministrator for at definere den bedste mulighed i dit miljø.

Certifikattilmelding er processen med at anmode om et digitalt certifikat fra en certifikatmyndighed. I nogle miljøer er CA'en en del af Public Key Infrastructure.

Konfiguration af SQL Server

Når vi nu har certifikatet, går vi over til SQL Server og konfigurerer det til at bruge det certifikat.

  • Åbn SQL Server Configuration Manager og naviger SQL Server Network Configuration> Protocols for MS SQL Server .
  • Højreklik på dette element, og vælg Egenskaber fra rullemenuen (Figur 11):
  • I Egenskaber vinduet, skal du vælge Certifikatet fanen. Hvis du har foretaget certifikattilmeldingen korrekt, bør du se det opført i rullemenuen mærket Certifikat (Figur 12). Ved at gøre dette knytter vi dette certifikat til SQL Server-instansen. Bemærk, at vi også kan se certifikatdetaljerne i SQL Server Configuration Manager.
  • Når vi er færdige med at anvende det gyldige certifikat, går vi over Flag fanen og indstil Tving kryptering markere til JA . Det sikrer, at alle forbindelser til SQL Server er krypteret.

Den kryptografiske protokol, som SQL Server bruger til kryptering af forbindelser, afhænger af operativsystemets konfiguration. Derefter skal du genstarte SQL Server-forekomsten. Det indlæser dette nye certifikat efter det.

Vi kan se dataene i Windows Event Viewer - SQL Server-fejlloggen. Vi kan også verificere krypteringen af ​​forbindelser med værktøjer som Network Monitor fra Sys Internals (Figur 14).

Konklusion

En krypteret forbindelse er typisk påkrævet i organisationer, der bekymrer sig om sikkerhed. I denne artikel har vi delt vores erfaring med, hvordan man konfigurerer krypterede forbindelser på SQL Server.

Vores tilgang involverede at tilmelde et certifikat, anvende dette certifikat på en SQL Server-instans og aktivere tvungen kryptering. Det er vigtigt at bemærke, at når du indstiller Force Encryption til YES i SQL Server, skal alle klienter, der opretter forbindelse til instansen, bruge den samme kryptografiske protokol.

Referencer

  1. Aktiver krypterede forbindelser
  2. SQL-servercertifikater og asymmetriske nøgler

  1. Forbedring af forespørgselshastigheden:simpel SELECT i den store postgres-tabel

  2. Hvorfor får jeg OutOfRange Exception i GetOrdinal Function i dette CLOB-felt?

  3. KNIME

  4. Konverter MySql DateTime-stempel til JavaScripts Datoformat