Tipps & Tricks - SSL-Konfiguration des IIS

1. Einleitung

Dieser Beitrag zeigt, wie der Internet Information Server (IIS) konfiguriert wird, um gesicherte Verbindungen über HTTPS zu ermöglichen. Außerdem werden einige technische Hintergründe von SSL-Verbindungen sowie die Erstellung eines Zertifikats erläutert.

2. Technische Hintergründe

Ein Intrexx-Portal wird generell über einen Webbrowser verwendet. Bei einem Portalaufruf erfolgt die Anfrage an den Webserver in der Regel über einen DNS-Namen (z.B. "webserver") sowie den Namen des zugehörigen Portals (z.B. "intrexxmusterportal"). Mit der URL http://webserver/intrexxmusterportal wird das Portal intern (LAN) aufgerufen. Möchte man das Portal stattdessen über das Internet (WAN) aufrufen, so muss (neben einer öffentlichen IP-Adresse) eine offizielle Domain registriert werden. Ist z.B. die Domain "example.org" registriert, so lässt sich das Portal bei entsprechender Port-Weiterleitung von Port 80 WAN-to-LAN/DMZ, sowie der Registrierung eines DNS Eintrags, über die URL http://www.example.org/intrexxmusterportal aufrufen. Der Aufruf dieser URL erfolgt dann unverschlüsselt. Die Echtheit des auf die URL http://www.example.org/intrexxmusterportal eingetragenen Servers (hier "webserver") ist nicht gewährleistet. Durch einen sogenannten Man-in-the-middle-Angriff kann ein Dritter vorgeben, auf die DNS-Anfrage zu antworten, dahinter aber einen fremden Server zwischenschalten, um jeglichen Traffic mitzuschneiden.

Damit die Echtheit des angefragten Servers gewährleistet werden kann, muss ein digitales Zertifikat verwendet werden. Ein digitales Zertifikat soll die Identität und Echtheit eines öffentlichen Schlüssels und damit eines Benutzers, Computers oder Netzwerkes bestätigen. Diese Bestätigung erhält man von einer Certification Authority (Zertifizierungsinstanz), kurz CA genannt. Offizielle Zertifizierungsstellen sind zum Beispiel VeriSign, Thawte oder GlobalSign, die auch in den gängigen Browsern bereits "ab Werk" hinterlegt sind.

Da die Ausstellung eines öffentlichen Zertifikats über offizielle Stellen im Regelfall kostenpflichtig ist, lässt sich ein digitales Zertifikat auch selbst ausstellen (z.B. mittels Webserver). Im folgenden Abschnitt wird die Ausstellung eines eigenen digitalen Zertifikats durch den Webserver IIS von Microsoft erläutert, das dann für ein Intrexx-Portal verwendet werden kann.

Beachten Sie bitte, dass selbst ausgestellte Zertifikate u.U. Sicherheitswarnungen im Browser hervorrufen können, da es sich bei Zertifikatsersteller und zertifiziertem Server um dieselbe Stelle handelt, und sich ein solches Zertifikat somit nur für Testumgebungen eignet. Im Produktiveinsatz von extern erreichbaren Portalen sollten offizielle Zertifizierungsstellen beauftragt werden.

3. Erstellen eines Zertifikats

Im Folgenden werden die Schritte erklärt, mit denen ein digitales Zertifikat selbst erstellt werden kann, um es anschließend für das Intrexx-Portal zu nutzen. Im Beispiel wird die folgende Serverumgebung verwendet:
Die SSL-Konfiguration für einen Windows Server 2012 mit IIS 8 (inkl. IIS-Manager) kann analog durchgeführt werden.



Starten Sie den IIS-Manager und wählen Sie den Menüpunkt "Serverzertifikate" aus.



Wählen Sie rechts unter "Aktionen" die Option "Selbstsigniertes Zertifikat erstellen" aus.



Tragen Sie anschließend einen Anzeigenamen ein (hier ssl). Bestätigen Sie mit Ok.



Das Zertifikat wird nun unter "Serverzertifikate" angezeigt.

4. IIS-Konfiguration




Markieren Sie in der linken Spalte den Menüpunkt "Default Web Site" und wählen Sie rechts unter "Site bearbeiten" den Punkt "Bindungen".



Klicken Sie hier unter den Sitebindungen auf "Hinzufügen".



Hier wird der Typ "https" gewählt. Der Port 443 wird automatisch hinterlegt. Als SSL-Zertifikat wird nun das im vorherigen Schritt erstellte Zertifikat (hier "ssl") gewählt. Im Feld "IP-Adresse" lässt sich eine Bindungsart (z.B. http) für jede Website bzw. jedes virtuelle Verzeichnis definieren. Es können also beliebig viele virtuelle Verzeichnisse mit unterschiedlichen IP-Adressen und den dazugehörigen Bindungen existieren. Bestätigen Sie die Änderungen mit Klick auf "OK".



Markieren Sie hier anschließend links die Intrexx Portal-Website ("intrexxmusterportal") und wählen Sie rechts unter "Aktionen" den Menüpunkt "Erweiterte Einstellungen".



Tragen Sie hier "https" unter "Aktivierte Protokolle" ein und bestätigen Sie mit Ok. Der Eintrag "https" hat zur Folge, dass sowohl HTTP, als auch HTTPS für den Aufruf des Portals (http//.../Portalname und https//.../Portalname) verwendet werden können. Optional kann der Webserver bei Bedarf so konfiguriert werden, dass er nur noch Verbindungen per HTTPS zulässt. Gehen Sie dazu wie folgt vor:



Markieren Sie links die entsprechende Site (hier "intrexxmusterportal") und wählen Sie die Option "SSL-Einstellungen".



In den SSL-Einstellungen kann nun bestimmt werden, ob SSL zwingend erforderlich ist. Wird die Einstellung "SSL erforderlich" gewählt und rechts mit "Übernehmen" bestätigt, so lässt sich das entsprechende Portal nur noch über HTTPS (und nicht mehr per HTTP) aufrufen. Darüber hinaus kann bei dieser Option noch differenziert werden, wie Client-Zertifikate behandelt werden.

Auszug aus der IIS Hilfe

Ignorieren: Dies ist die Standardoption. Bei dieser Einstellung werden keine Client-Zertifikate akzeptiert, die bereitgestellt werden.

Bei dieser Option ist es nicht erforderlich, die Identität von Clients zu überprüfen, bevor der Zugriff auf Inhalte gewährt wird. Daher stellt dies die Einstellung mit der niedrigsten Sicherheit dar.

Akzeptieren: Wählen Sie diese Einstellung aus, wenn Sie Client-Zertifikate akzeptieren möchten (sofern diese bereitgestellt werden) und die Clientidentität überprüfen möchten, bevor dem Client der Zugriff auf die Inhalte gewährt wird.

Erforderlich: Wählen Sie diese Option aus, um festzulegen, dass Zertifikate die Clientidentität überprüfen müssen, bevor dem Client der Zugriff auf die Inhalte gewährt wird. Der Aufruf des Intrexx-Portals erfolgt nun über HTTP oder (vorzugsweise) HTTPS. Wird HTTPS verwendet, wird der Browser eine Zertifikatswarnung eingeblendet, weil das ausgestellte Zertifikat nicht durch eine offizielle Zertifizierungsautorität bestätigt wurde. Bei einem selbst ausgestellten Zertifikat muss diese Warnung darum immer ignoriert werden, um fortzufahren.