Aktivieren der SSL-Verschlüsselung für eine Instanz von SQL Server mit der Microsoft Management Console

Gilt für: Microsoft SQL Server 2005 Standard EditionMicrosoft SQL Server 2005 Developer EditionMicrosoft SQL Server 2005 Enterprise Edition

Zusammenfassung


Dieser Artikel beschreibt Schritt für Schritt, wie Sie ein Zertifikat mit der Microsoft Management Console (MMC) auf einem Computer mit SQL Server installieren. Außerdem erfahren Sie, wie Sie die SSL-Verschlüsselung auf dem Server oder für bestimmte Clients aktivieren.

Hinweis Mit dieser Methode können Sie kein Zertifikat auf einem gruppierten SQL Server-Computer ablegen. Verwenden Sie für gruppierte Instanzen die weiter unten in diesem Artikel unter „Aktivieren eines Zertifikats für SSL auf einer gruppierten SQL Server-Installation“ beschriebene Methode. 

Falls Ihr Unternehmen eine Unternehmenszertifizierungsstelle implementiert hat, können Sie Zertifikate für einen eigenständigen SQL Server anfordern und diese Zertifikate anschließend für die Secure Sockets Layer (SSL)-Verschlüsselung verwenden.

Sie können die Option Protokollverschlüsselung erzwingen auf dem Server oder dem Client aktivieren. 

Hinweis Um die Option Protokollverschlüsselung erzwingen auf dem Server zu aktivieren, verwenden Sie je nach Version des SQL Servers die SQL Server-Netzwerkkonfiguration oder den SQL Server-Konfigurations-Manager. Um die Option Protokollverschlüsselung erzwingen auf dem Client zu aktivieren, verwenden Sie die SQL Server-Clientkonfiguration oder den SQL Server-Konfigurations-Manager.  

Wichtig Wenn Sie die SSL-Verschlüsselung über die SQL Server-Clientkonfiguration (für SQL Server 2000-Clients), die SQL Native Client <Version>-Konfiguration (32 Bit) oder die SQL Native Client <Version>-Konfiguration im SQL Server-Konfigurations-Manager aktivieren, fordern alle Verbindungen von diesem Client die SSL-Verschlüsselung von jedem SQL Server an, mit dem sich der Client verbindet.

Wenn Sie die Option Protokollverschlüsselung erzwingen auf dem Server aktivieren, müssen Sie ein Zertifikat auf dem Server installieren.

Um die Option Protokollverschlüsselung erzwingen auf dem Client aktivieren zu können, müssen Sie ein Zertifikat auf dem Server installieren, und der Client benötigt eine aktualisierte vertrauenswürdige Stammzertifizierungsstelle, um dem Serverzertifikat zu vertrauen.

Hinweis Wenn Sie SQL Server verwenden, um verschlüsselte Verbindungen für eine SQL Server-Instanz zu aktivieren, können Sie den Wert der Option ForceEncryption auf Ja festlegen. Weitere Informationen finden Sie unter „Aktivieren von verschlüsselten Verbindungen zum Datenbankmodul (SQL Server-Konfigurations-Manager)“ in den SQL Server-Onlinebüchern:
  

Installieren eines Zertifikats auf einem Server mit der Microsoft Management Console (MMC)

Um die SSL-Verschlüsselung verwenden zu können, müssen Sie ein Zertifikat auf dem Server installieren. Führen Sie die folgenden Schritte aus, um das Zertifikat mit dem Microsoft Management Console (MMC)-Snap-In zu installieren.

Konfigurieren des MMC-Snap-Ins
  1. Gehen Sie folgendermaßen vor, um das Zertifikat-Snap-In zu öffnen:
    1. Klicken Sie auf Start und dann auf Ausführen, um die MMC-Konsole zu öffnen. Geben Sie im Dialogfeld Ausführen den folgenden Text ein:

      MMC
       
    2. Klicken Sie im Menü Konsole auf Snap-In hinzufügen/entfernen.
    3. Klicken Sie auf Hinzufügen und dann auf Zertifikate. Klicken Sie erneut auf Hinzufügen.
    4. Sie werden gefragt, ob Sie das Snap-In für das aktuelle Benutzerkonto, das Dienstkonto oder das Computerkonto öffnen möchten. Wählen Sie das Computerkonto aus.
    5. Klicken Sie auf Lokaler Computer und dann auf Fertig stellen.
    6. Klicken Sie im Dialogfeld Eigenständiges Snap-In hinzufügen auf Schließen.
    7. Klicken Sie im Dialogfeld Snap-In hinzufügen/entfernen auf OK. Ihre installierten Zertifikate befinden sich im Ordner Zertifikate im Container Persönlich.
  2. Verwenden Sie das MMC-Snap-In, um das Zertifikat auf dem Server zu installieren.
    1. Klicken Sie den Ordner Persönlich im linken Bereich an, um ihn auszuwählen.
    2. Klicken Sie mit der rechten Maustaste in den rechten Bereich, wählen Sie Alle Aufgaben aus, und klicken Sie auf Neues Zertifikat anfordern....
    3. Das Dialogfeld Zertifikatanforderungs-Assistent wird geöffnet. Klicken Sie auf Weiter. Wählen Sie Zertifikattyp ist „Computer“ aus.
    4. Lassen Sie das Textfeld Anzeigename entweder leer oder geben Sie einen Anzeigenamen für das Zertifikat ein, und schließen Sie den Assistenten ab. Nach Abschluss des Assistenten wird das Zertifikat im Ordner mit dem vollqualifizierten Computerdomänennamen angezeigt.
    5. Falls Sie die Verschlüsselung für einen oder mehrere bestimmte Clients aktivieren möchten, überspringen Sie diesen Schritt und fahren Sie mit dem Abschnitt Verschlüsselung für einen bestimmten Client aktivieren in diesem Artikel fort.

      Um die Verschlüsselung unter SQL Server 2000 auf dem Server zu aktivieren, öffnen Sie die SQL Server-Netzwerkkonfiguration auf dem Server, auf dem das Zertifikat installiert ist, und aktivieren Sie das Kontrollkästchen Protokollverschlüsselung erzwingen. Die Verschlüsselung tritt erst nach einem Neustart des MSSQLServer (SQL Server)-Diensts in Kraft. Ihr Server ist jetzt bereit für die SSL-Verschlüsselung.

      Um die Verschlüsselung unter SQL Server 2005 und neueren Versionen auf dem Server zu aktivieren, öffnen Sie den SQL Server-Konfigurations-Manager, und gehen Sie wie folgt vor:
      1. Erweitern Sie den Eintrag SQL Server-Netzwerkkonfiguration im SQL Server-Konfigurations-Manager, klicken Sie mit der rechten Maustaste auf Protokolle für <Serverinstanz>, und wählen Sie Eigenschaften aus.
      2. Wählen Sie auf der Registerkarte Zertifikat das gewünschte Zertifikat im Dropdownmenü Zertifikat aus, und klicken Sie auf OK.
      3. Wählen Sie in der Registerkarte Flags im Feld ForceEncryption den Wert Ja aus, und klicken Sie auf OK, um das Dialogfeld zu schließen.
      4. Starten Sie den SQL Server-Dienst neu.

Aktivieren eines Zertifikats für SSL auf einer gruppierten SQL Server-Installation

Das von SQL Server für die Verschlüsselung von Verbindungen verwendete Zertifikat ist im folgenden Registrierungsschlüssel angegeben:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.x\MSSQLServer\SuperSocketNetLib\Certificate

Dieser Schlüssel enthält eine Eigenschaft des Zertifikats, die die einzelnen Zertifikate auf dem Server identifiziert und auch als Fingerabdruck bezeichnet wird. In einer gruppierten Umgebung hat dieser Schlüssel den Wert „Null“, obwohl das korrekte Zertifikat im Speicher vorhanden ist. Um dieses Problem zu beheben, müssen Sie einige zusätzliche Schritte auf jedem Clusterknoten ausführen, nachdem Sie das Zertifikat auf dem Knoten installiert haben.
 
  1. Navigieren Sie zum Zertifikatspeicher, der das FQDN-Zertifikat enthält. Öffnen Sie die Registerkarte Details auf der Eigenschaftenseite für das Zertifikat, und kopieren Sie den Wert des Fingerabdrucks in ein Notepad-Fenster.
  2. Entfernen Sie in Notepad die Leerzeichen zwischen den Hexadezimalzeichen des Fingerabdrucks.
  3. Starten Sie regedit, navigieren Sie zum folgenden Registrierungsschlüssel, und kopieren Sie den Wert aus Schritt 2:
    HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\<Instanz>\MSSQLServer\SuperSocketNetLib\Certificate
  4. Falls sich der virtuelle SQL-Server momentan auf diesem Knoten befindet, führen Sie ein Failover auf einen anderen Knoten in Ihrem Cluster aus, und starten Sie dann den Knoten neu, auf dem Sie die Registrierungsänderung vorgenommen haben.
  5. Wiederholen Sie diesen Vorgang auf allen Knoten.

Screenshots zu diesem Vorgang finden Sie im folgenden Blogbeitrag auf der MSDN-Website:
 

Verschlüsselung für einen bestimmten Client aktivieren

Wenn der Client die SSL-Verschlüsselung anfordern soll, muss der Clientcomputer dem Serverzertifikat vertrauen, und das Zertifikat muss auf dem Server bereits vorhanden sein. Verwenden Sie das MMC-Snap-In, um die vom Serverzertifikat verwendete vertrauenswürdige Stammzertifizierungsstelle zu exportieren:
  1. Gehen Sie wie folgt vor, um die vertrauenswürdige Stammzertifizierungsstelle des Serverzertifikats zu exportieren:
    1. Öffnen Sie MMC, und suchen Sie Ihr Zertifikat im Ordner Persönlich.
    2. Klicken Sie mit der rechten Maustaste auf den Zertifikatnamen, und klicken Sie auf Öffnen.
    3. Überprüfen Sie die Registerkarte Zertifizierungspfad. Notieren Sie sich den obersten Eintrag.
    4. Navigieren Sie zum Ordner Vertrauenswürdige Stammzertifizierungsstellen, und suchen Sie die in Schritt c notierte Zertifizierungsstelle.
    5. Klicken Sie mit der rechten Maustaste auf ZS, zeigen Sie auf Alle Aufgaben, und klicken Sie auf Exportieren.
    6. Wählen Sie alle Standardwerte aus, und speichern Sie die exportierte Datei auf einen Datenträger, auf den der Clientcomputer zugreifen kann.
  2. Gehen Sie wie folgt vor, um das Zertifikat auf dem Clientcomputer zu importieren:
    1. Navigieren Sie mit dem MMC-Snap-In zum Clientcomputer, und öffnen Sie den Ordner Vertrauenswürdige Stammzertifizierungsstellen.
    2. Klicken Sie mit der rechten Maustaste auf den Ordner Vertrauenswürdige Stammzertifizierungsstellen, zeigen Sie auf Alle Aufgaben, und klicken Sie auf Importieren.
    3. Navigieren Sie zu dem in Schritt 1 generierten Zertifikat (.cer-Datei), und wählen Sie es aus. Wählen Sie die Standardwerte aus, um die restlichen Schritte des Assistenten abzuschließen.
    4. Verwenden Sie die SQL Server-Clientkonfiguration.
    5. Aktivieren Sie die Option Protokollverschlüsselung erzwingen. Ihr Client ist jetzt bereit für die SSL-Verschlüsselung.
       

Testen der Clientverbindung

Sie können Ihre Clientverbindung auf eine der folgenden Arten testen:
 
  • Mit SQL Management Studio.

    - oder -
  • Mit einer beliebigen ODBC- oder OLEDB-Anwendung, in der Sie die Verbindungszeichenfolge bearbeiten können. 
SQL Server Management Studio


Gehen Sie wie folgt vor, um die Verbindung mit SQL Server Management Studio zu testen:  
  1. Navigieren Sie zur SQL Server Client <Version>-Konfigurationsseite im SQL Server-Konfigurations-Manager.
  2. Legen Sie im Eigenschaftenfenster den Wert für die Option Protokollverschlüsselung erzwingen auf „Ja“ fest.
  3. Verbinden Sie sich mithilfe von SQL Server Management Studio mit dem Server, auf dem SQL Server ausgeführt wird.
  4. Überwachen Sie die Kommunikation mit dem Microsoft-Netzwerkmonitor oder einem Netzwerksniffer.

ODBC- oder OLEDB-Beispielverbindungszeichenfolgen

Falls Sie ODBC- oder OLEDB-Verbindungszeichenfolgen von einem Anbieter wie dem SQL Native Client verwenden, fügen Sie zu Ihrer Verbindungszeichenfolge das Schlüsselwort Encrypt mit dem Wert true hinzu, und überwachen Sie die Kommunikation mit einem Hilfsprogramm wie dem Microsoft-Netzwerkmonitor oder einem Netzwerksniffer.
 

Problembehandlung

Nach der erfolgreichen Installation des Zertifikats wird das Zertifikat nicht in der Liste Zertifikat in der Registerkarte Zertifikat angezeigt.

Hinweis Die Registerkarte Zertifikat befindet sich im Dialogfeld Protokolle für <Instanzname>, das im SQL Server-Konfigurations-Manager aufgerufen werden kann.

Dieses Problem tritt möglicherweise auf, weil Sie ein ungültiges Zertifikat installiert haben. Ungültige Zertifikate werden nicht in der Registerkarte Zertifikat aufgelistet. Gehen Sie wie folgt vor, um herauszufinden, Ihr installiertes Zertifikat gültig ist:
  1. Öffnen Sie das Zertifikat-Snap-In. Weitere Informationen finden Sie in Schritt 1 im Abschnitt „Konfigurieren des MMC-Snap-Ins“.
  2. Erweitern Sie im Zertifikat-Snap-In nacheinander Persönlich und Zertifikate.
  3. Suchen Sie im rechten Bereich nach dem installierten Zertifikat.
  4. Überprüfen Sie, ob das Zertifikat die folgenden Anforderungen erfüllt:
    • Die Spalte Beabsichtigter Zweck für dieses Zertifikat auf der rechten Seite muss den Wert Serverauthentifizierung haben.
    • Die Spalte Ausgestellt für auf der rechten Seite muss den Servernamen enthalten.
  5. Doppelklicken Sie auf das Zertifikat, und überprüfen Sie, ob das Zertifikat die folgenden Anforderungen erfüllt:
    • In der Registerkarte Allgemein wird die folgende Nachricht angezeigt:
      Sie besitzen einen privaten Schlüssel für dieses Zertifikat.
    • Das Feld Antragsteller in der Registerkarte Details muss den Servernamen enthalten.
    • Das Feld Erweiterte Schlüsselverwendung muss den Wert Serverauthentifizierung (<Nummer>) enthalten.
    • In der Registerkarte Zertifizierungspfad muss der Servername unter Zertifizierungspfad angezeigt werden.
Falls irgendeine dieser Anforderungen nicht erfüllt ist, ist das Zertifikat ungültig.

Weitere Informationen


Falls der Fehler 17182 angezeigt wird, finden Sie ausführliche Informationen und Lösungsvorschläge im folgenden Artikel: