Einführung
Letztes Jahr haben wir die Anforderung erhalten, verschlüsselte Verbindungen zu unseren SQL Server-Instanzen sicherzustellen. Früher hielten wir es nicht für notwendig – auf alle unsere Instanzen wurde intern von Anwendungsdiensten zugegriffen. Dennoch schützen sichere Verbindungen die Instanz und die Clients vor Angriffen als Man-in-the-Middle, also haben wir es getan.
Die Verbindungsverschlüsselung unterscheidet sich von der transparenten Datenverschlüsselung, aber Sie benötigen in beiden Fällen ein Zertifikat. In diesem Artikel beschreiben wir die Vorgehensweise zum Einrichten einer verschlüsselten Verbindung für SQL Server-Instanzen.
Einrichten des Zertifikat-Snap-Ins in MMC
Ein Zertifikat ist ein digital signiertes Dokument, das öffentliche und private Schlüssel enthält, die Verbindungen verschlüsseln. Der öffentliche und der private Schlüssel sind ein „Schlüsselpaar“ – der öffentliche Schlüssel verschlüsselt die Daten, und nur der private Schlüssel kann sie entschlüsseln.
Zertifikate werden von einer Zertifizierungsstelle ausgestellt, einer Entität, der sowohl der Server als auch der Client vertrauen. In unserem Fall haben wir ein Zertifikat von dem Server generiert, auf dem SQL Server gehostet wird.
Wir starten diesen Prozess, indem wir die Microsoft Management Console (mmc.exe) starten .
Wenn MMC gestartet wird, navigieren wir zu Datei> Snap-Ins hinzufügen und entfernen … (Abbildung 1). Hier fügen wir das Certificate Manager-Snap-In zu unserer Konsole hinzu, um Zertifikate auf dem Server zu verwalten. Beachten Sie, dass es andere Möglichkeiten gibt, an diesen Punkt zu gelangen.
Wir möchten Zertifikate von unserem Computerkonto so verwalten, dass andere Administratoren keine Probleme mit Berechtigungen haben, wenn sie auch Zertifikate verwalten müssen (Abbildung 2).
In diesem Artikel befassen wir uns mit der Verwaltung von Zertifikaten auf dem lokalen Computer, auf dem unsere SQL Server-Instanz installiert ist (Abbildung 3).
Sobald wir den Prozess der Erstellung des Zertifikat-Snap-Ins abgeschlossen haben, können wir es verwenden.
Wählen Sie zunächst Alle Aufgaben> Neues Zertifikat anfordern aus :
Registrieren eines MMC-Zertifikats
Die Aktion aus Abbildung 5 startet einen Assistenten – wir führen ihn schnell durch. Die Details sind für den Windows-Administrator relevanter, aber entscheidend ist, ein gültiges Zertifikat zu erhalten, das SQL Server verwenden kann.
Überprüfen Sie die erforderlichen Bedingungen:
Wählen Sie eine Registrierungsrichtlinie und den gewünschten Zertifikatstyp aus. In unserem Fall haben wir die Richtlinie ausgewählt, die von unserem Domänenadministrator für solche Zwecke konfiguriert wurde. Sie können mit Ihrem Domänenadministrator sprechen, um die beste Option in Ihrer Umgebung zu definieren.
Bei der Zertifikatsregistrierung wird ein digitales Zertifikat von einer Zertifizierungsstelle angefordert. In manchen Umgebungen ist die CA Teil der Public Key Infrastructure.
SQL Server konfigurieren
Wenn wir nun das Zertifikat haben, gehen wir zu SQL Server und konfigurieren ihn so, dass er dieses Zertifikat verwendet.
- Öffnen Sie den SQL Server Configuration Manager und navigieren Sie zu SQL Server Network Configuration> Protocols for MS SQL Server .
- Klicken Sie mit der rechten Maustaste auf dieses Element und wählen Sie Eigenschaften aus aus dem Dropdown-Menü (Abbildung 11):
- In den Eigenschaften wählen Sie das Zertifikat aus Tab. Wenn Sie die Zertifikatregistrierung korrekt durchgeführt haben, sollte es im Dropdown-Menü mit der Bezeichnung Zertifikat aufgeführt sein (Abbildung 12). Dadurch verknüpfen wir dieses Zertifikat mit der SQL Server-Instanz. Beachten Sie, dass wir die Zertifikatsdetails auch im SQL Server Configuration Manager sehen können.
- Sobald wir das gültige Zertifikat angewendet haben, gehen wir die Flags durch und legen Sie die Verschlüsselung erzwingen fest auf JA setzen . Es stellt sicher, dass alle Verbindungen zu SQL Server verschlüsselt werden.
Das kryptografische Protokoll, das SQL Server zum Verschlüsseln von Verbindungen verwendet, hängt von der Konfiguration des Betriebssystems ab. Anschließend sollten Sie die SQL Server-Instanz neu starten. Es lädt dieses neue Zertifikat danach.
Wir können die Daten in der Windows-Ereignisanzeige sehen – dem SQL Server-Fehlerprotokoll. Wir können die Verschlüsselung von Verbindungen auch mit Tools wie Network Monitor von Sys Internals überprüfen (Abbildung 14).
Schlussfolgerung
Eine verschlüsselte Verbindung ist in der Regel in Organisationen erforderlich, die sich um Sicherheit sorgen. In diesem Artikel haben wir unsere Erfahrungen zum Konfigurieren verschlüsselter Verbindungen auf SQL Server geteilt.
Unser Ansatz umfasste die Registrierung eines Zertifikats, die Anwendung dieses Zertifikats auf eine SQL Server-Instanz und die Aktivierung der erzwungenen Verschlüsselung. Beachten Sie unbedingt, dass alle Clients, die sich mit der Instanz verbinden, dasselbe kryptografische Protokoll verwenden müssen, wenn Sie „Verschlüsselung erzwingen“ in SQL Server auf „Ja“ setzen.
Referenzen
- Verschlüsselte Verbindungen aktivieren
- SQL Server-Zertifikate und asymmetrische Schlüssel