Freigeben über


IIS 8.0 unterstützt zentralisierte SSL-Zertifikate: SSL-Skalierbarkeit und Verwaltbarkeit

von Shaun Eagan

Kompatibilität

Version Hinweise
IIS 8.0 Zentralisierte SSL-Zertifikatunterstützung wurde in IIS 8.0 eingeführt.
IIS 7.5 Zentralisierte SSL-Zertifikatunterstützung wurde in IIS 7.5 nicht unterstützt ...
IIS 7.0 Zentralisierte SSL-Zertifikatunterstützung wurde in IIS 7.0 nicht unterstützt ...

Problem

Da mehr E-Commerce-Websites online gestellt werden und mehr Unternehmen vertrauliche Dokumente online speichern und freigeben, wird die Möglichkeit, sichere Websites zu hosten und zu skalieren, immer wichtiger. Darüber hinaus muss die Serverkapazität mit Cloudhosting und elastischer Skalierbarkeit dynamisch hinzugefügt und entfernt werden. Vor Windows Server 2012 gab es einige Herausforderungen beim Hosten sicherer Websites:

  • SSL-Skalierbarkeit: In einer mehrinstanzenfähigen Umgebung, z. B. einer freigegebenen Hostingumgebung, gibt es eine Einschränkung, wie viele sichere Websites auf Windows Server gehostet werden können, was zu einer niedrigen Websitedichte führt.
  • SSL-Verwaltbarkeit: Die Zertifikate werden lokal auf jedem Windows Server gespeichert. Daher müssen sie auf jedem Windows Server einzeln verwaltet werden. Eine einfache Aufgabe wie das Erneuern eines Zertifikats muss auf jedem Server wiederholt werden. Darüber hinaus kann das Hinzufügen eines neuen Windows Server Stunden dauern, wenn Tausende von Zertifikaten importiert werden müssen.

Lösung

Unter Windows Server 2012 können Serveradministratoren mithilfe des Features Zentraler SSL-Zertifikatsupport Zertifikate zentral auf einer Dateifreigabe speichern und aufrufen. Ähnlich wie das in Windows Server 2008 eingeführte Feature „Freigegebene Konfiguration“ können die Windows-Server in einer Serverfarm so konfiguriert werden, dass die Zertifikate von der Dateifreigabe bei Bedarf geladen werden.

Mit diesem Feature ist die Verwaltung von SSL-Bindungen wesentlich vereinfacht. Bei SSL muss der DNS-Name und der CN-Name des Zertifikats übereinstimmen. Ein ähnlicher Vertrag kann weiter auf die Dateinamen der Zertifikate erweitert werden. www.contoso.com würde beispielsweise das Zertifikat mit einem Dateinamen www.contoso.com.pfx verwenden. Dieser Vertrag ermöglicht IIS 8.0 nur eine SSL-Bindung, unabhängig von der Anzahl der sicheren Websites, die dieses Feature verwenden. Das entsprechende Zertifikat wird anhand des SNI-Werts oder des Hostnamens der angeforderten Website und durch Abgleich mit dem Dateinamen des Zertifikats abgeleitet.

Schrittanweisungen

Voraussetzungen

  • IIS 8.0 ist unter Windows Server 2012 mit zentralisiertem SSL-Zertifikatfeature installiert. Dieses Feature ist eine optionale Komponente von IIS und wird nicht als Teil der Standardinstallation installiert.

    • Um dieses Feature zu installieren, müssen Sie aus Server-Manager unbedingt den zentralisierten SSL-Zertifikatsupport unter dem Sicherheitsknoten auswählen:

      Screenshot der Server-Manager Navigationsstruktur. Die Zentrale S L-Zertifikatunterstützungsoption unter dem Sicherheitsknoten ist ausgewählt und hervorgehoben.

  • Beispielzertifikate mit NULL-Kennwort. (Oder Sie verfügen möglicherweise über Beispielzertifikate mit einem globalen Kennwort.)

    • Die Zertifikate müssen über die Namenskonvention von CN_name.pfx (d. h. www.contoso.com.pfx ) verfügen.
    • Wenn das Zertifikat ein Wildchar-Zertifikat ist, verwenden Sie „_“ als Wildchar. (d. h. _.contoso.com.pfx).
    • Wenn das Zertifikat über mehrere CN-Namen verfügt, müssen sie als einzelne Dateien benannt werden. (d. h. www.contoso1.com.pfx, www.contoso2.com.pfx usw.)
  • Zwei Dateifreigaben: eine für die freigegebene Konfiguration und die andere für zentralisierte SSL-Zertifikate.

    • Der IIS-Server verwendet die freigegebene Konfiguration.
    • Die Beispielzertifikate wurden für zentralisierte SSL-Zertifikate in die Dateifreigabe kopiert.
  • \windows\system32\drivers\etc\hosts wurde so geändert, dass es für Beispielwebsites und -zertifikate verwendet werden kann. Wenn beispielsweise der CN-Name des Zertifikats centralCert0 ist, muss die Hostdatei Folgendes enthalten:

    127.0.0.1 centralCert0

Problemumgehungen für bekannte Fehler

Derzeit gibt es keine bekannten Fehler für dieses Feature.

Konfigurieren der zentralen SSL-Zertifikatunterstützungsfunktion

  1. Öffnen Sie den IIS-Manager.

  2. Wählen Sie im linken Navigationsfenster Serverknoten aus:
    Screenshot des Dialogfelds

  3. Doppelklicken Sie unter Verwaltung auf zentralisierte Zertifikate:
    Screenshot der Verwaltungssymbole. Das Symbol

  4. Wählen Sie im Bereich Aktionen auf Featureeinstellungen bearbeiten:
    Screenshot des Bereichs

  5. Geben Sie die folgenden Informationen ein:

    • Zentralisierte Zertifikate aktivieren: Ausgewählt

    • Physischer Pfad: Beispiel: \\ccdemo\centralcert

      • Dies ist der UNC-Pfad zur Dateifreigabe, auf der sich die Zertifikate befinden.
    • Benutzername: Geben Sie ein Benutzerkonto an, das Lesezugriff auf die Dateifreigabe hat.

    • Kennwort/Kennwort bestätigen.

    • Kennwort des privaten Schlüssels des Zertifikats:

      • Das ist optional. Wenn die Zertifikate kein Kennwort besitzen, lassen Sie dies leer.

      • Wenn die Zertifikate über ein globales Kennwort verfügen, geben Sie dieses Kennwort hier ein.

        Screenshot des Dialogfelds

  6. Die zentrale SSL-Zertifikatunterstützungsfunktion kann jetzt verwendet werden. Beachten Sie, dass der IIS-Manager die Zertifikate liest und die relevantesten Informationen zu den Zertifikaten auffüllt. Diese Informationen werden für eine bessere Leistung zwischengespeichert.

  7. Eine Verwaltbarkeitsfunktion, die beachtenswert ist, ist die Möglichkeit, die Zertifikate nach ihren Ablaufdaten zu gruppieren:
    Screenshot des Dialogfelds

  8. Sehen Sie sich an, wie einfach es ist, die Zertifikate zu sehen, die:

    • Abgelaufen

    • Morgen ablaufen

    • Diese Woche ablaufen

    • Nächste Woche ablaufen

    • Nächsten Monat ablaufen

    • Später

      Screenshot des Dialogfelds

Erstellen einer sicheren Website

  1. Öffnen Sie den IIS-Manager.

  2. Wählen Sie im linken Navigationsfenster Websites aus:
    Screenshot der I S-Manager-Navigationsstruktur. Die Option

  3. Wählen Sie Website hinzufügen:
    Screenshot der I S-Manager-Navigationsstruktur. Die Option

  4. Geben Sie die Informationen ein, wie Sie es bei der Erstellung einer beliebigen Website tun würden:

    • Site-Name: centralCert0

    • Physischer Pfad: c:\inetpub\wwwroot

    • Typ: https

    • Hostname: centralcert0

      • Dies ist neu für Windows Server 2012, dass der Hostname für SSL angegeben werden kann.
      • Der tatsächliche Wert dieser Konfiguration variiert je nach verwendetem Beispielzertifikat.
    • Servernamensanzeige anfordern: Nicht ausgewählt

      • Sie können auch auswählen, ob Sie die Servernamensanzeige anfordern, wenn Sie dies auswählen. Der zentralisierte Zertifikatspeicher erfordert keine Verwendung von SNI, funktioniert aber bei Verwendung von SNI ordnungsgemäß.
      • Beachten Sie, dass in der Developer Preview-Version auch der zentrale Zertifikatspeicher SNI verwendet hat. Diese Einschränkung wurde ab der Betaversion entfernt.
    • Zentralisierten Zertifikatspeicher verwenden: Ausgewählt

      • Beachten Sie, dass es nicht erforderlich ist, ein bestimmtes entsprechendes Zertifikat auszuwählen, das verwendet werden soll.
      • Durch die Verwendung des Namensvertrags wird das entsprechende Zertifikat automatisch ausgewählt. In diesem Beispiel versucht IIS, centralcert0.pfx aus der zentralen SSL-Zertifikatsdateifreigabe zu lesen.

      Screenshot des Dialogfelds

  5. Überprüfen Sie, ob die Website erstellt wurde:
    Screenshot der I S-Manager-Navigationsstruktur. Unter

  6. Das ist alles. Die sichere Website wurde mithilfe der zentralisierten SSL-Zertifikatunterstützung erstellt. Die Verwaltungsoberfläche ähnelt sehr der gemeinsamen Konfiguration und der herkömmlichen SSL-Bindung. Folgende Unterschiede bestehen:

    • Die Zertifikate werden zentral auf einer Dateifreigabe gespeichert.
    • Der Hostname kann für die SSL-Website angegeben werden.
    • SSL-Bindung wird nicht explizit 1:1 verwaltet.

Testen einer sicheren Website

Öffnen Sie einen Browser, und navigieren Sie zu https://centralcert0/. Beachten Sie, dass Ihre Hostdatei als Teil der Voraussetzung geändert werden sollte, um diese Anforderung an Localhost weiterzuleiten:

Screenshot der Webseite

Um den neuen SSL-Bindungstyp anzuzeigen, geben Sie außerdem Folgendes in ein Befehlszeilenfenster mit erhöhten Rechten ein:

netsh http show sslcert

Screenshot eines Befehlszeilenfensters. Das Fenster zeigt den neuen S S L-Bindungstyp an. Die S S L-Bindung ist der Hostname-Doppelpunktport.

Beachten Sie, dass die SSL-Bindung hostname:port mit dem Wert *:443 ist. Darüber hinaus ist dieser Bindung kein Zertifikathash zugeordnet, da das entsprechende Zertifikat bei Bedarf basierend auf dem Dateinamenvertrag des Zertifikats geladen wird.

Szenarien

Versuchen Sie, die folgenden Szenarien bereitzustellen:

  • Die zentralisierte SSL-Zertifikatunterstützung wurde für eine mehrinstanzenfähige Umgebung skaliert. Versuchen Sie, Tausende sicherer Websites mithilfe dieses Features zu konfigurieren.

  • Führen Sie mit Tausenden von Zertifikaten den folgenden Befehl in einem Befehlszeilenfenster mit erhöhten Rechten aus. Beachten Sie, dass es unabhängig von der Anzahl der sicheren Websites einfach nur eine Bindung gibt:

    netsh http show sslcert

  • Versuchen Sie, einen neuen Server in dieser Serverfarm hinzuzufügen. Dies ist jetzt ein 3-Schritt-Prozess, indem Sie die freigegebene Konfiguration und das zentrale SSL-Zertifikatunterstützungsfeature verwenden:

    1. Konfigurieren Sie den neuen Server für die Verwendung der freigegebenen Konfiguration.

    2. Konfigurieren Sie den neuen Server für die Verwendung der zentralisierten SSL-Zertifikatunterstützung.

    3. Erstellen der SSL-Bindung. Geben Sie ein Befehlszeilenfenster mit erhöhten Rechten ein:

      add sslcert hostnameport=*:443 appid={00112233-4455-6677-8899-AABBCCDDEFF}
      
  • Im Gegensatz zu früheren Versionen von Windows Server werden die Zertifikate unter Windows Server 2012 bei Bedarf in den Arbeitsspeicher geladen. Nachdem Sie Tausende von sicheren Websites mithilfe dem zentralisierten SSL-Zertifikatsunterstützungsfeature konfiguriert haben, senden Sie eine GET-Anforderung an eine der sicheren Websites, und überwachen Sie die Speicherauslastung. Es ist vernachlässigbar. Bei früheren Versionen von Windows Server, wenn Hunderte von Websites konfiguriert sind, führt das Senden nur einer GET-Anforderung dazu, dass der Windows Server alle Zertifikate lädt, was zu einer hohen Speicherauslastung führt und die Skalierbarkeit weiter einschränkt.

  • Erstellen Sie sichere Websites mit SNI, herkömmlicher und zentralisierter SSL-Zertifikatunterstützung. Sie sind so entwickelt, dass sie koexistieren können.

Zusammenfassung

Sie haben die Zentrale SSL-Zertifikatfunktion in Windows Server 2012 erfolgreich untersucht.