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

  1. 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.

  2. 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

Nachdem Sie die beiden in Konfigurieren der SQL Server-Datenbank-Engine zum Verschlüsseln von Verbindungen in Schritt 1: Konfigurieren von SQL Server für die Verwendung von Zertifikaten und Schritt 2: Konfigurieren der Verschlüsselungseinstellungen in SQL Server dokumentierten Verfahren abgeschlossen haben, konfigurieren Sie mit einer der folgenden Optionen Ihre Clientanwendung für die Verschlüsselung.

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 Stelle, die das Zertifikat ausstellt, mit folgenden Schritten dem Speicher der vertrauenswürdigen Stammzertifizierungsstellen hinzu:

  1. Exportieren Sie das Zertifikat von einem Computer, auf dem SQL Server ausgeführt wird, mithilfe des unter Exportieren des Serverzertifikats dokumentierten Verfahrens.

  2. 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 wie in Schritt 1: Konfigurieren von SQL Server für die Verwendung von Zertifikaten unter Konfigurieren der SQL Server-Datenbank-Engine zum Verschlüsseln von Verbindungen beschrieben für die Verwendung in SQL Server konfiguriert haben, konfigurieren Sie Ihre Clientanwendung mit einer der folgenden Optionen für die Verschlüsselung:

Option 1: 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.

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:

  1. Exportieren Sie das Zertifikat mithilfe des unter Exportieren des Zertifikats dokumentierten Verfahrens von einem Computer, auf dem SQL Server ausgeführt wird.

  2. Importieren Sie das Zertifikat.

  3. 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

  1. 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.

  2. 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

Mithilfe eines selbstsignierten Zertifikats verschlüsselte SSL-Verbindungen bieten keine hohe 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. Verlassen Sie sich in einer Produktionsumgebung oder auf Servern, die mit dem Internet verbunden sind, nicht auf SSL-Verbindungen, die selbstsignierte Zertifikate verwenden.