IIS 8.0-Servernamensanzeige (Server Name Indication, SNI): SSL-Skalierbarkeit
von Shaun Eagan
Kompatibilität
Version | Hinweise |
---|---|
IIS 8.0 | Die Servernamensanzeige wurde in IIS 8.0 eingeführt. |
IIS 7.5 | Die Servernamensanzeige wurde in IIS 7.5 nicht unterstützt. |
IIS 7.0 | Die Servernamensanzeige 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. 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.
- IPv4-Knappheit: Da der Netzwerkendpunkt nur mit IP:Port-Bindung identifiziert werden kann, wobei Mandanten die Verwendung des standardmäßigen SSL-Ports 443 anfordern, bedeutet das Hosten einer sicheren Website häufig, eine dedizierte IP-Adresse pro Mandant anzubieten.
Lösung
IIS unterstützt unter Windows Server 2012 die Servernamensanzeige (SNI), bei der es sich um eine TLS-Erweiterung handelt, um eine virtuelle Domäne als Teil der SSL-Aushandlung einzuschließen. Dies bedeutet konkret, dass der Name der virtuellen Domäne oder eines Hosts zur Identifizierung des Netzwerkendpunkts verwendet werden kann. Darüber hinaus wurde ein hochgradig skalierbarer WebHosting-Speicher erstellt, um die SNI zu ergänzen. Das Ergebnis ist, dass die sichere Websitedichte unter Windows Server 2012 viel höher ist und mit nur einer IP-Adresse erreicht wird.
Es ist zu beachten, dass Ihre Clientbrowser die SNI unterstützen müssen, damit dieses Feature verwendet werden kann. Die meisten modernen Browser unterstützen die SNI; Internet Explorer (jede Version) unter Windows XP unterstützt die SNI jedoch nicht.
Schrittanweisungen
Voraussetzungen:
IIS 8.0 ist unter Windows Server 2012 installiert.
- Sowohl der WebHosting-Zertifikatspeicher als auch die SNI sind Teil der standardmäßigen IIS-Installation. Es gibt kein bestimmtes IIS-Feature, das im Server-Manager installiert werden muss.
Beispielzertifikate.
\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 TAPTesting ist, muss die Hostdatei Folgendes enthalten:
127.0.0.1 TAPTesting
Problemumgehungen für bekannte Fehler:
Es gibt Ausnahmefälle, in denen der IIS-Manager eine unbeabsichtigte SSL-Bindung entfernen kann, wenn herkömmliche SSL-Bindungen (IP:Port) und SNI-Bindungen (Hostname:Port) auf demselben Computer konfiguriert sind. Um dieses Problem zu umgehen und/oder um die tatsächlichen SSL-Bindungen zu bestätigen, verwenden Sie das Befehlszeilentool:
netsh http show sslcert
Importieren von Zertifikaten in den Webhostingspeicher:
- Öffnen Sie MMC.
- Wählen Sie unter Datei die Option Snap-In hinzufügen/entfernen aus:
- Wählen Sie Zertifikateaus. Klicken Sie aufHinzufügen:
- Wählen Sie Computerkonto aus:
- Wählen Sie Lokaler Computer aus, und klicken Sie auf Fertigstellen:
- Klicken Sie auf OK:
- Suchen Sie im Navigationsbereich nach Webhostingspeicher:
Der Webhostingspeicher funktioniert wie der persönliche Speicher, sodass alle vorhandenen Tools zum Importieren und Exportieren von Zertifikaten auf die gleiche Weise funktionieren. Der Hauptunterschied zwischen dem Webhostingspeicher und dem persönlichen Speicher besteht darin, dass der Webhostingspeicher für die Skalierung auf eine höhere Anzahl von Zertifikaten entwickelt wurde. - Importieren Sie Ihre Beispielzertifikate in den Webhostingspeicher.
Erstellen einer sicheren Website:
Öffnen Sie den IIS-Manager.
Wählen Sie im linken Navigationsfenster Websites aus:
Klicken Sie mit der rechten Maustaste auf Websites, und wählen Sie Website hinzufügen aus:
Geben Sie die Informationen ein, wie Sie es bei der Erstellung einer beliebigen Website tun würden:
Websitename: Test
Physischer Pfad:
c:\inetpub\wwwroot
Typ: https
Hostname: TAPTesting
- Dies ist neu für Windows Server 8, dass der Hostname für SSL angegeben werden kann.
- Stellen Sie sicher, dass der hier angegebene Hostname mit dem CN-Namen des Zertifikats übereinstimmt, um einen Übereinstimmungsfehler beim Zertifikatnamen zu vermeiden.
- Der tatsächliche Wert dieser Konfiguration variiert je nach verwendetem Beispielzertifikat.
Servernamensanzeige verwenden: Ausgewählt
SSL-Zertifikat: Wählen Sie den Namen Ihres Zertifikats aus; Beispiel: TAPTesting.
- Beachten Sie, dass die Zertifikate sowohl von persönlichen Speichern als auch von Webhostingspeichern dargestellt werden.
Überprüfen Sie, ob die Website erstellt wurde:
Das ist alles. Die sichere Website wurde mithilfe der SNI erstellt. Die Verwaltungsoberfläche ist der herkömmlichen SSL-Bindung sehr ähnlich. Dies sind die einzigen Unterschiede:
- Der Hostname kann für die SSL-Website angegeben werden.
- Das Zertifikat wird im Webhostingspeicher zur Skalierbarkeit gespeichert.
Testen einer sicheren Website:
Öffnen Sie einen Browser, und navigieren Sie zu https://TAPTesting/
. Beachten Sie, dass Ihre Hostdatei als Teil der Voraussetzung geändert werden sollte, um diese Anforderung an Localhost weiterzuleiten:
Um den neuen SSL-Bindungstyp anzuzeigen, geben Sie außerdem Folgendes in ein Befehlszeilenfenster mit erhöhten Rechten ein:
netsh http show sslcert
Beachten Sie, dass die SSL-Bindung hostname:port mit dem Wert TAPTesting:443 ist.
Szenarien
Versuchen Sie, die folgenden Szenarien bereitzustellen:
- Die SNI wurde so entwickelt, dass sie für eine mehrinstanzenfähige Umgebung skaliert ist. Versuchen Sie, Tausende sicherer Websites mithilfe der SNI zu konfigurieren.
- 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 der SNI 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, würde das Senden nur einer GET-Anforderung dazu führen, dass der Windows Server alle Zertifikate lädt, was zu einer hohen Speicherauslastung führt und die Skalierbarkeit weiter einschränkt.
- Konfigurieren Sie Windows Server 2012 sowohl mit der SNI als auch mit herkömmlichen sicheren Websites. Sie sind so entwickelt, dass sie koexistieren können.
Zusammenfassung
Sie haben das Feature für die Servernamensanzeige (SNI) in Windows Server 2012 erfolgreich untersucht.