Sonderfälle zum Verschlüsseln von Verbindungen mit SQL Server
Ein Clientcomputer muss dem Serverzertifikat vertrauen, damit der Client die Transport Layer Security (TLS)-Verschlüsselung anfordern kann, und das Zertifikat muss bereits auf dem Server vorhanden sein. Das häufigste Szenario für SQL Server-Verschlüsselung betrifft Umgebungen, für die Folgendes gilt:
- Erzwingen der Verschlüsselung für alle eingehenden Clientverbindungen mit SQL Server.
- Verwenden von Zertifikaten einer öffentlichen kommerziellen Zertifizierungsstelle, der Windows bereits vertraut. Das entsprechende Stammzertifikat für die Zertifizierungsstelle wird im Zertifikatspeicher vertrauenswürdiger Stammzertifizierungsstellen auf allen Computern in Ihrem Netzwerk installiert.
In diesem Szenario müssen Sie keine zusätzlichen Schritte für eine erfolgreiche Verschlüsselung ausführen, nachdem Sie SQL Server gemäß dem unter Konfigurieren der SQL Server-Datenbank-Engine zum Verschlüsseln von Verbindungen beschriebenen Verfahren für die Verschlüsselung konfiguriert haben. Dieser Artikel enthält die Verfahren zum Verschlüsseln von Verbindungen mit SQL Server für seltenere Szenarien, die nicht unter Konfigurieren der SQL Server-Datenbank-Engine zum Verschlüsseln von Verbindungen behandelt werden.
Hinweis
Eine vollständige Liste der Teilnehmer im Microsoft Trusted Root Program finden Sie unter Teilnehmerliste: Microsoft Trusted Root Program.
Verwenden eines von einem öffentlichen kommerziellen Zertifizierungsstelle ausgestellten Zertifikats, wobei nur einige Clients verschlüsselte Verbindungen benötigen
Konfigurieren Sie das Zertifikat gemäß des unter Schritt 1: Konfigurieren von SQL Server für die Verwendung von Zertifikaten beschriebenen dokumentierten Verfahrens auf SQL Server.
Legen Sie das Verschlüsselungsschlüsselwort in den Verbindungseigenschaften auf Ja oder True fest. Wenn Sie beispielsweise Microsoft ODBC Driver for SQL Server verwenden, sollte die Verbindungszeichenfolge
Encrypt=yes;
angeben.
Verwenden eines Zertifikats, das von einer internen Zertifizierungsstelle ausgestellt oder mit New-SelfSignedCertificate oder makecert erstellt wurde
Szenario 1: Sie möchten alle Verbindungen mit SQL Server verschlüsseln
Nach Abschluss der beiden verfahren in Schritt 1: Konfigurieren von SQL Server für die Verwendung von Zertifikaten und Schritt 2: Konfigurieren von Verschlüsselungseinstellungen in SQL Server im Artikel Konfigurieren des SQL Server-Datenbankmoduls zum Verschlüsseln von Verbindungenverwenden Sie eine der folgenden Optionen, um Ihre Clientanwendung für die Verschlüsselung zu konfigurieren.
Option 1: Konfigurieren Sie Clientanwendungen für das Vertrauenswürdige Serverzertifikat. Diese Einstellung führt dazu, dass der Client den Schritt zum Überprüfen des Serverzertifikats überspringt und mit dem Verschlüsselungsprozess fortfährt. Wenn Sie z. B. SQL Server Management Studio (SSMS) 20 und höhere Versionen verwenden, können Sie Trust Server Certificate auf der Seite Anmeldung (oder auf der Seite Optionen in früheren Versionen) auswählen.
Option 2: Fügen Sie auf jedem Client die ausstellende Zertifizierungsstelle zum Speicher der vertrauenswürdigen Stammzertifizierungsstelle hinzu, indem Sie die folgenden Schritte ausführen:
Exportieren Sie das Zertifikat von einem Computer, auf dem SQL Server ausgeführt wird, mithilfe des unter Exportieren des Serverzertifikats dokumentierten Verfahrens.
Importieren Sie das Zertifikat mithilfe des Verfahrens, das in Export- und Importzertifikaten dokumentiert ist.
Szenario 2: Nur einige Clients benötigen verschlüsselte Verbindungen
Nachdem Sie das Zertifikat für SQL Server konfiguriert haben, wie in Schritt 1 in Konfigurieren des SQL Server-Datenbankmoduls zum Verschlüsseln von Verbindungenbeschrieben, können Sie eine der folgenden Optionen verwenden, um Ihre Clientanwendung für die Verschlüsselung zu konfigurieren:.
Option 1: Konfigurieren Sie Clientanwendungen so, dass sie dem Serverzertifikat vertrauen, und legen Sie das Verschlüsselungsschlüsselwort in den Verbindungseigenschaften auf Ja oder Wahr fest. Wenn Sie beispielsweise Microsoft ODBC Driver for SQL Server verwenden, sollte die Verbindungszeichenfolge Encrypt=Yes;TrustServerCertificate=Yes;
angeben.
Weitere Informationen zu Serverzertifikaten und zur Verschlüsselung finden Sie unter Verwenden von „TrustServerCertificate“.
Option 2: Fügen Sie auf jedem Client die Stelle, die das Zertifikat ausstellt, dem Speicher der vertrauenswürdigen Stammzertifizierungsstellen hinzu, und legen Sie die Verschlüsselungsparameter in der Verbindungszeichenfolge auf Ja fest:
Exportieren Sie das Zertifikat mithilfe des unter Exportieren des Zertifikats dokumentierten Verfahrens von einem Computer, auf dem SQL Server ausgeführt wird.
Legen Sie das Verschlüsselungsschlüsselwort in den Verbindungseigenschaften auf Ja oder True fest. Wenn Sie beispielsweise Microsoft OLEDB Driver for SQL Server verwenden, sollte die Verbindungszeichenfolge Verschlüsselung für Daten verwenden = True angeben.
Verwenden des automatisch von SQL Server erstellten selbstsignierten Zertifikats
Szenario 1: Sie möchten alle eingehenden Verbindungen mit SQL Server verschlüsseln
Aktivieren Sie die Verschlüsselung auf SQL Server mithilfe des unter Konfigurieren der SQL Server-Datenbank-Engine zum Verschlüsseln von Verbindungen in Schritt 2: Konfigurieren der Verschlüsselungseinstellungen in SQL Server dokumentierten Verfahrens.
Konfigurieren Sie Clientanwendungen so, dass sie dem Serverzertifikat vertrauen. Dem Serverzertifikat zu vertrauen führt dazu, dass der Client den Schritt zum Überprüfen des Serverzertifikats überspringt und mit dem Verschlüsselungsprozess fortfährt. Wenn Sie z. B. SQL Server Management Studio (SSMS) 20 und höhere Versionen verwenden, können Sie Trust Server Certificate auf der Seite Anmeldung (oder auf der Seite Optionen in früheren Versionen) auswählen.
Szenario 2: Nur einige Clients benötigen verschlüsselte Verbindungen
Konfigurieren Sie Clientanwendungen so, dass sie dem Serverzertifikat vertrauen, und legen Sie das Verschlüsselungsschlüsselwort in den Verbindungseigenschaften auf Ja oder True fest. Wenn Sie beispielsweise Microsoft ODBC Driver for SQL Server verwenden, sollte die Verbindungszeichenfolge Encrypt=Yes;TrustServerCertificate=Yes;
angeben.
Für dieses Szenario ist keine zusätzliche Konfiguration auf SQL Server erforderlich.
Warnung
TLS/SSL-Verbindungen, die mit einem selbstsignierten Zertifikat verschlüsselt sind, bieten keine starke Sicherheit, da die Länge des Schlüssels in den selbstsignierten Zertifikaten kürzer ist als der Schlüssel in den von der Zertifizierungsstelle generierten Zertifikaten. Sie sind anfällig für Man-in-the-Middle-Angriffe. Sie sollten sich nicht auf TLS/SSL verlassen, indem Sie selbstsignierte Zertifikate in einer Produktionsumgebung oder auf Servern verwenden, die mit dem Internet verbunden sind.