SSL/TLS (Secure Sockets Layer/Transport Layer Security), meist nur kurz als SSL bezeichnet, ist der Standard für die sichere Kommunikation mit Websites im Internet. Dabei müssen zwei Bereiche unterschieden werden:
-
Die sichere Kommunikation mit Websites.
-
Die Authentifizierung von Clients.
Sichere Kommunikationskanäle zu Websites sind heute die Regel. Die auf X.509v3-Zertifikaten basierende Client-Authentifizierung in Verbindung mit SSL ist dagegen auch jetzt noch eher selten.
Wenn man die sichere Kommunikation mit Servern näher betrachtet wird übrigens schnell deutlich, dass dort auch eine Authentifizierung erfolgt – aber eben des Servers durch sein digitales Zertifikat, das von einer vertrauenswürdigen Stammzertifizierungsstelle ausgestellt wurde.
Die Arten von Zertifikaten
Bei den IIS 7 lassen sich drei Arten von Zertifikaten unterscheiden, die in unterschiedlichen Situationen zum Einsatz kommen:
-
Internetzertifikate oder öffentliche Zertifikate: Diese werden von einer allgemein anerkannten vertrauenswürdigen Zertifizierungsstelle ausgestellt, beispielsweise von Verisign oder Thawte. Über die bei den gängigen Browsern vorinstallierten vertrauenswürdigen Stammzertifizierungsstellen sind die eigenen Zertifikate dann ebenfalls vertrauenswürdig, so dass Benutzer beim Aufbau von SSL-Verbindungen nicht mit Rückfragen konfrontiert werden.
-
Domänenzertifikate: Diese werden von einer Domäne ausgestellt. Da Sie das Zertifikat der Zertifizierungsstelle der Domäne automatisch über die Gruppenrichtlinien verteilen können, sind diese Zertifikate für Server im Intranet gut geeignet, da hier ebenfalls ein Vertrauensverhältnis besteht.
-
Selbstsignierte Zertifikate: Diese werden nicht von einer vertrauenswürdigen Stammzertifizierungsstelle erstellt, sondern selbst signiert. Sie sind vor allem für Testumgebungen wichtig, in denen man mit Zertifikaten arbeiten möchte, ohne den Weg über eine Domänen- oder Internet-Zertifizierungsstelle zu gehen.
Die Verwaltung der Zertifikate erfolgt im Bereich Serverzertifikate der Features, die bei einem Webserver aufgerufen werden kann.
Öffentliche Zertifikate – Zertifikatsanforderung
Bei öffentlichen Zertifikaten erzeugen Sie über die Aktion Zertifikatanforderung erstellen zunächst eine Anforderung für ein solches Zertifikat, das dann an eine Stammzertifizierungsstelle gesendet wird.
Bei dieser sind die für Zertifikatsanforderungen üblichen Informationen anzugeben, beginnend bei einem common name als Name für das Zertifikat. Hier wird der FQDN (Fully Qualified Domain Name) des Servers verwendet, für den das Zertifikat gelten soll.
Im nächsten Schritt können Sie den Kryptografiedienstanbieter auswählen, der für das Zertifikat verwendet werden soll. Hier gibt es die Unterstützung für RSA- und DH-Algorithmen, also Rivest/Shamir/Adelman oder Diffie/Hellman. Außerdem lässt sich die Bitlänge einstellen. In der Regel können Sie aber die Standardeinstellungen übernehmen.
Abschließend muss noch der Dateiname festgelegt werden. Es empfiehlt sich, den Dateinamen mit dem vollständigen Pfadnamen zu erstellen, weil es in anderen Situationen beim Windows Server 2008 Probleme geben kann, die Datei wiederzufinden.
Anforderung und Abholung
Der nächste Schritt ist die eigentliche Anforderung des Zertifikats. Dazu arbeiten Sie über die Web-Schnittstelle der von Ihnen gewählten Zertifizierungsstelle. Über diese geben Sie den Text der Zertifikatsanforderung ein. Diesen können Sie aus der bei der Erstellung der Zertifikatsanforderung generierten Datei kopieren.
Abhängig von der Zertifizierungsstelle unterscheidet sich die weitere Prozedur. In jedem Fall kann man gleich oder – bei öffentlichen Zertifikaten die Regel – zu einem späteren Zeitpunkt das Zertifikat abholen. Die Datei muss die Endung .cer haben, um bei den IIS importiert werden zu können.
Um diese Datei bei den IIS 7 zu importieren, wird die Aktion Zertifikatanforderung abschließen ausgewählt. Dort kann auf die Datei zugegriffen werden. Für die Datei muss noch ein Anzeigename angegeben werden, unter dem das Zertifikat in der Liste der Serverzertifikate dann geführt wird.
Domänenzertifikate
Deutlich einfacher ist die Anforderung von Domänenzertifikaten, da in diesem Fall mit einer Online-Zertifizierungsstelle zusammengearbeitet wird. Falls übrigens innerhalb einer Active Directory-Umgebung eine Offline-CA genutzt wird, muss die Anforderungsprozedur verwendet werden, die oben für die Internet-Zertifikate beschrieben wurde. Sie funktioniert auch mit den Zertifikatsdiensten des Windows Server 2008.
Im ersten Schritt sind wieder die Informationen für das Zertifikat einzugeben. Im zweiten Schritt wählen Sie jedoch die Online-Zertifizierungsstelle aus. Außerdem legen Sie hier gleich den Anzeigenamen fest. Nach dem Anklicken von Fertig wird das Zertifikat direkt erzeugt und in die Liste der Serverzertifikate aufgenommen.
Selbstsignierte Zertifikate
Noch einfacher ist die Erstellung von selbstsignierten Zertifikaten über die Aktion Selbstsigniertes Zertifikat erstellen. Hier ist nur ein Anzeigename anzugeben. Das Zertifikat wird dann automatisch für den lokalen Server erstellt und in der Liste der Serverzertifikate abgelegt.
Bei den dort gespeicherten Zertifikaten ist beim Blick auf Ausgestellt von erkennbar, wer die Zertifikate erstellt hat, denn dort wird die Zertifizierungsstelle ausgegeben. Selbstsignierte Zertifikate erscheinen mit dem lokalen Computernamen - ansonsten ist die CA zu sehen.
Weitere Informationen zu einem Zertifikat kann man sich über Anzeigen darstellen lassen. Für die Zertifikate gibt es noch weitere Optionen wie Exportieren und Entfernen sowie, bei Zertifikaten von einer Zertifizierungsstelle, auch Erneuern, um das Zertifikat aktualisieren zu lassen.
SSL konfigurieren
Bei der Konfiguration von SSL gibt es einen kleinen Trick, den man beachten muss. Neben der Konfiguration der SSL-Einstellungen pro Website muss man zunächst die Bindungen der Website anpassen, so dass auch HTTPS-Bindungen unterstützt werden.
Dazu wechselt man auf die Ebene der Site. Dort findet sich bei den Aktionen der Befehl Bindungen. Dort kann man Bindungen hinzufügen. Bei der Definition einer neuen Bindung muss man zunächst den Typ der Bindung auswählen. Falls SSL verwendet werden soll, ist der Typ https. Der Port wird standardmäßig gesetzt, kann aber ebenso wie die IP-Adresse angepasst werden.
Im unteren Bereich ist zusätzlich das SSL-Zertifikat auszuwählen, das zum Einsatz kommen soll. Dieses müssen Sie zuvor bei den Serverzertifikaten eingerichtet haben. Über den Punkt Anzeigen lassen Sie sich ein Zertifikat noch einmal anzeigen, um das richtige von mehreren zur Auswahl stehenden Zertifikaten zu wählen.
Die SSL-Einstellungen
Anschließend können Sie die SSL-Einstellungen setzen. Diese finden sich bei der Site ebenso wie bei den untergeordneten Teilbereichen bis hin zu einzelnen Dateien.
Bei den Einstellungen legen Sie zunächst fest, ob SSL erforderlich ist oder nicht. Falls SSL erforderlich sein soll, können Sie die Verwendung von 128-Bit-SSL erzwingen.
Außerdem können Sie Einstellungen zu den Client-Zertifikaten vornehmen. Diese können ignoriert, akzeptiert oder erzwungen werden. Falls mit Client-Zertifikaten gearbeitet werden soll, muss Sie die Unterstützung für diese Form der Authentifizierung als Rollendienst bei den IIS einrichten.
Im Grundsatz ist der Umgang mit SSL bei den IIS 7 recht einfach. Die Herausforderung ist, dass die Einstellungen nun über gleich drei Bereiche verteilt sind und man zudem bei Nutzung von Clientzertifikaten auch noch darauf achten muss, dass der entsprechende Rollendienst eingerichtet ist. Als Problem kann sich auch noch die Delegierung der Features erweisen, wenn diese für die SSL-Einstellungen auf Schreibgeschützt gesetzt ist und damit eine Anpassung unterbunden wird. (Kuppinger/mha)