sql >> Database >  >> RDS >> Sqlserver

Een certificaat implementeren voor gecodeerde verbinding SQL Server

Inleiding

Vorig jaar kregen we een vereiste om te zorgen voor versleutelde verbindingen met onze SQL Server-instanties. Voorheen dachten we dat het niet nodig was – al onze instances werden intern benaderd door applicatieservices. Toch beschermen beveiligde verbindingen de instantie en clients tegen aanvallen als man-in-the-middle, dus dat hebben we gedaan.

Verbindingsversleuteling verschilt van Transparante gegevensversleuteling, maar in beide gevallen heeft u een certificaat nodig. In dit artikel beschrijven we de procedure voor het opzetten van een versleutelde verbinding voor SQL Server-instanties.

De certificaatmodule instellen in MMC

Een certificaat is een digitaal ondertekend document met openbare en privésleutels die verbindingen versleutelen. De openbare en privésleutels zijn een "sleutelpaar" - de openbare sleutel versleutelt de gegevens en het is alleen de privésleutel die ze kan ontsleutelen.

Certificaten worden uitgegeven door een certificeringsinstantie, een entiteit die zowel door de server als door de client wordt vertrouwd. In ons geval hebben we een certificaat gegenereerd van de server die SQL Server host.

We starten dit proces door Microsoft Management Console te starten (mmc.exe) .

Wanneer MMC wordt gelanceerd, gaan we naar Bestand> Snap-ins toevoegen en verwijderen … (Figuur 1). Hier voegen we de module Certificaatbeheer toe aan onze console om certificaten op de server te beheren. Merk op dat er andere manieren zijn om dit punt te bereiken.

We willen certificaten van ons computeraccount op zo'n manier beheren dat andere beheerders geen problemen hebben met machtigingen wanneer ze ook certificaten moeten beheren (Afbeelding 2).

In dit artikel hebben we te maken met het beheer van certificaten op de lokale computer waarop onze SQL Server-instantie is geïnstalleerd (Afbeelding 3).

Zodra we het proces van het maken van de certificaatmodule hebben voltooid, kunnen we deze in gebruik nemen.

Begin met het selecteren van Alle taken> Nieuw certificaat aanvragen :

Een MMC-certificaat inschrijven

De actie uit figuur 5 start een wizard - we zullen deze snel doorlopen. De details zijn relevanter voor de Windows-beheerder, maar het belangrijkste is om een ​​geldig certificaat te krijgen dat SQL Server kan gebruiken.

Controleer de noodzakelijke voorwaarden:

Selecteer een inschrijvingsbeleid en het gewenste type certificaat. In ons geval hebben we het beleid geselecteerd zoals geconfigureerd door onze domeinbeheerder voor dit soort doeleinden. U kunt met uw domeinbeheerder overleggen om de beste optie in uw omgeving te bepalen.

Certificaatinschrijving is het proces waarbij een digitaal certificaat wordt aangevraagd bij een certificeringsinstantie. In sommige omgevingen maakt de CA deel uit van de Public Key Infrastructure.

SQL Server configureren

Als we nu het certificaat hebben, gaan we naar SQL Server en configureren het om dat certificaat te gebruiken.

  • Open SQL Server Configuration Manager en navigeer door SQL Server Network Configuration> Protocols for MS SQL Server .
  • Klik met de rechtermuisknop op dit item en selecteer Eigenschappen uit het vervolgkeuzemenu (Afbeelding 11):
  • In de Eigenschappen venster, selecteer het Certificaat tabblad. Als u de certificaatinschrijving correct heeft uitgevoerd, zou u dit moeten zien in het vervolgkeuzemenu met het label Certificaat (Figuur 12). Door dit te doen, koppelen we dit certificaat aan de SQL Server-instantie. Merk op dat we de certificaatdetails ook kunnen zien in SQL Server Configuration Manager.
  • Zodra we klaar zijn met het toepassen van het geldige certificaat, gaan we over de vlaggen en stel de Encryptie forceren . in markeer naar JA . Het zorgt ervoor dat alle verbindingen met SQL Server worden versleuteld.

Het cryptografische protocol dat SQL Server gebruikt voor het versleutelen van verbindingen is afhankelijk van de configuratie van het besturingssysteem. Vervolgens moet u het SQL Server-exemplaar opnieuw starten. Het laadt dit nieuwe certificaat erna.

We kunnen de gegevens zien in Windows Event Viewer - het foutenlogboek van SQL Server. We kunnen ook de versleuteling van verbindingen verifiëren met tools zoals Network Monitor van Sys Internals (Figuur 14).

Conclusie

Een versleutelde verbinding is doorgaans vereist in organisaties die zich zorgen maken over beveiliging. In dit artikel hebben we onze ervaring gedeeld over het configureren van versleutelde verbindingen op SQL Server.

Onze aanpak omvatte het inschrijven van een certificaat, het toepassen van dat certificaat op een SQL Server-instantie en het inschakelen van geforceerde versleuteling. Het is essentieel om op te merken dat wanneer u Force Encryption instelt op YES in SQL Server, alle clients die verbinding maken met de instance hetzelfde cryptografische protocol moeten gebruiken.

Referenties

  1. Gecodeerde verbindingen inschakelen
  2. SQL Server-certificaten en asymmetrische sleutels

  1. De PostgreSQL-correlatiefunctie gebruiken

  2. De kosten van uw databasehosting verlagen:DigitalOcean vs. AWS vs. Azure

  3. Hoe SUBSTRING() werkt in MariaDB

  4. Oracle Trigger WHEN-clausule Voorbeeld