Windows Server

Installation eines Webservers (IIS) unter Windows Server 2012/2016 mit HTTPS

Microsofts Webserver (Microsoft Internet Information Services) wird oft bei der Installationen einer Server-Rolle automatisch mitinstalliert. So wird bei beim Setup von PowerShell Web Access, oder bei der Konfiguration einer Zertifizierungsstellen Webregistrierung (CA) auch IIS installiert. In diesem Artikel beschränke ich mich auf die alleinige Bereitstellung eines Webservers unter Windows Server mit dem Protokoll HTTPS.

Installation der Rolle Web-Server

Die Installation kann im Server-Manager (Rollen hinzufügen) oder in der Befehlszeile erfolgen. Ich empfehle einen One-Liner in PowerShell:

Install-WindowsFeature -Name Web-Server -IncludeManagementTools

1.PNG

Fertig. Kein Klicken und Suchen in der grafischen Oberfläche.

Überprüfen der Installation

Im Server-Manager ist nun der Menüpunkt Internetinformationsdienste (IIS)-Manager zu finden. Unter Sites befindet sich die Default Web Site.

3.PNG

Die Default Web Site zeigt auf ein Verzeichnis, welches man im Explorer öffnen kann.

3a.PNG#

Im Verzeichnis c:\inetpub\wwwroot sind in der Regel die Dateien für die Website abgelegt.

3b.PNG

Testen der Funktionalität mit HTTP

Der neu installierte Webserver sollte nun mit dem Protokoll HTTP erreichbar sein. Dazu einfach im Browser http://localhost oder http://IP-Adresse eingeben. Die Seite öffnet sich.

4.PNG

Da HTTPS verschlüsselt ist, empfehle ich die Seite über https erreichbar zu machen. Dazu wird ein Zertifikat benötigt. Das Zertifikat kann über eine eigene CA bereitgestellt werden, wie in meiner Serie Active Directory Zertifikatsdienste (Teil 1-8) beschrieben ist, oder selbst erstellt werden.

Erstellen eines Zertifikats für HTTPS

Wieder ein One-Liner in PowerShell. Bei DNSName muss der Name der Website eingegeben werden.

New-SelfSignedCertificate -DnsName "intranet.pagr.com" -CertStoreLocation "cert:\LocalMachine\My"

4a.PNG

Das Zertifikat ist in certlm.msc (in PowerShell oder Ausführen eingeben) unter Eigene Zertifikate – Zertifikate zu finden.

5.PNG

Website auf HTTPS umstellen

Zurück zur IIS Konsole. Hier einfach mit der rechte Maustaste auf Default Web Site und auf Bindungen bearbeiten klicken.

6.PNG

Danach auf Hinzufügen.

7.PNG

Und dann legt man die Einstellungen für HTTPS (Port 443) fest. Das zuvor erstellte Zertifikat sollte per Drop-Down auswählbar sein.

8.PNG

Die Website ist unter dem Namen https://intranet.pagr.com noch nicht erreichbar. Es fehlt noch ein DNS Eintrag.

9

Erstellen eines CNAME in DNS (optional)

In PowerShell oder Ausführen dnsmgmt.msc eingeben und es öffnet sich die DNS Konsole. Unter Forward-Lookupzone findet man den DNS Namespace. In meinem Fall ist das pagr.com. Dort mit der rechten Maustaste auf Neuer Alias (CNAME) klicken.

10.PNG

Bei Aliasname den Namen der Seite eingeben. Beim Vollqualifizierten Domänennamen des Zielhosts muss der Computername (FQDN) eingeben werden (in meinem Fall dc01. pagr.com). Soll heißen: Wenn jemand intranet.pagr.com eingibt, dann landet er auf dc01.pagr.com.

11.PNG

Testen der HTTPS Verbindung

Im Browser https://intranet.pagr.com eingeben und die Seite öffnet sich.

12.PNG

13.PNG

Einziger Schönheitsfehler: Es besteht ein Problem mit dem Zertifikat. Das Zertifikat wurde selbst erstellt, daher vertraut der Browser dem Zertifikat nicht. Lösung: Zertifikat kaufen, oder manuell das Zertifikat zu den Vertrauenswürdigen Stammzertifizierungsstellen hinzufügen, oder wie oben erwähnt eine eigene CA installieren: Active Directory Zertifikatsdienste (Teil 1): Installation einer Enterprise Root-CA.

In certlm.mgr kann das Zertifkat einfach von den Eigenen Zertifikaten zu den Vertrauenswürdigen Stammzertifizierungsstellen kopiert werden. Wie hier ersichtlich:

14.PNG

Danach erscheint die Meldung nicht mehr.

15.PNG

Viel Spaß mit dem neuen Webserver!

Apropos: Wer IIS gegen Denial-of-Service Angriffe testen möchte der wird vielleicht in meinem Beitrag IIS vs. Apache: Denial-of-Service Angriff testen fündig.

2 replies »

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.