Mehrfach SSL an eine IP in SharePoint 2013 binden

Anforderung:

Innerhalb einer SharePoint 2013 Umgebung, welche noch mit Windows 2008 R2 (Standard Server) betrieben wird, existiert nur eine feste IP Adresse zur Nutzung von verschiedenen Web Applikationen. Die einzelnen Web Applikationen sollen innerhalb des Projekts mit unterschiedlichen FQDN URLs (Host Header) erreichbar sein. Im Zuge der erweiterten Sicherheit einer SharePoint Umgebung bzw. dessen Zugriff durch Benutzer, ergibt sich die Anforderung, den Zugriff möglichst nur über SSL zu ermöglichen.

Hierzu gibt es nun zwei Möglichkeiten der Umsetzung. Bevor ich aber die weitere Anleitung beschreibe, möchte ich gleich darauf hinweisen, dass eine Konfiguration über den IIS Manager NICHT erfolgen darf bzw. auf jeden Fall zu einem Fehler führen wird. Daher ist entweder wie im Beispiel 1 nur über die SharePoint Web Administration die Konfiguration durchzuführen oder wie im Beispiel 2 die Kombination mit einem PowerShell Script. Auch wird es sehr wahrscheinlich zu Fehlern führen, wenn man einen Versuch mit Fehlern abgebrochen hat und dann nach Korrektur des Skriptes dieses noch einmal ausführt. Hier muss dann mit einer neuen Applikation und einem neuen Pfad und einem neuen Hostnamen (FQDN) gearbeitet werden.

Noch ein Hinweis zu meiner genutzten Demo Umgebung. Diese hat nun zur Verifikation dieser Anleitung schon bestehende SSL basierte Zugriffspunkte. Bitte bei einer eigenen Konfiguration nicht weiter stören. Das Ziel ist ja, dass auf einer einzigen IP Adresse mehrere per HTTPS abgesicherte SharePoint Zugriffe stattfinden können.

 

Bild 1: Derzeitige AAM Einstellungen nach den erfolgreichen Tests

Bild 2: IIS Konfiguration des SharePoint Servers mit nur einer IPv4 Adresse

Bild 3: Zur Zeit mit SSL konfigurierte und vorhandene SharePoint Sites

Zur Vorbereitung muss entweder ein entsprechendes Wildcard Zertifikat oder ein SAN Zertifikat auf allen SharePoint Servern der Farm implementiert sein.
Ebenfalls habe ich auf meinem Server die “HOSTS” Datei bearbeitet und die Loopback Überprüfung ist per Registry Key ausgeschaltet.

Beispiel 1:

Anlegen einer neuen SharePoint Web Applikation

Das einfachste (und nebenbei sollte es inzwischen Standard sein) ist es, neue Web Applikationen generell als HTTPS mit Port 443 zu implementieren. Das heißt, dass dann die Standard Einstellung (Default Zone) schon per HTTPS erreichbar ist und kein Zugriff per HTTP.

Innerhalb der SharePoint Zentraladministration wird eine neue Web Applikation eingerichtet.

Bild 4: Zentrale SharePoint Administration

Bild 5: Verwaltung der Web Applikationen

Bild 6: Standard Einstellung welche wie folgt geändert werden

 

Bild 7: Schrittweise Anpassung der Parameter

Bild 7: nach klicken auf “OK” wird die Webapplikation erstellt

Die weiteren Parameter sind bei Bedarf natürlich zu ändern, diese sind für dieses Beispiel aber nicht relevant, daher wurden die Einträge im Standard beibehalten.

Bild 9: IIS Konfigurationszwischenstand

Während der Erstellung könnte man eventuell erkennen (Serverliste regelmäßig aktualisieren), dass SharePoint erst eine normale Site bzw. Web Applikation innerhalb von IIS erstellt. Die weitere Konfiguration erfolgt direkt im Anschluss.

Bild 10: IIS nach Fertigstellung durch die SharePoint Konfiguration

Bild 11: Web Applikationsübersicht nach Fertigstellung

Zur erfolgreichen Beendigung und Einrichtung einer Site Collection müssen die folgenden Schritte ausgeführt werden. Normalerweise wird ein Link direkt im letzten Dialogfeld angezeigt, dies könnte aber wegen einer kurzzeitigen Nichterreichbarkeit des IIS zu einem Fehler führen. In diesem Fall muss man manuell die Site Collection einrichten.

Bild 12: Zugriff auf das entsprechende Menü zur Erstellung einer Site Collection

Bild 13: Überprüfung der korrekten Auswahl der Web Applikation

Die weiteren Informationen sind ebenfalls vollkommen frei wählbar.

Bild 14: Bestätigung der Anlage der neuen Site Collection

 

Beispiel 2:

Erweiterung einer bestehenden SharePoint Web Applikation um einen zusätzlichen SSL basierten Host Header

Hierfür habe ich eine Kombination aus “AAM” (Alternativ Access Mapping) und PowerShell genutzt.

In einer bestehenden SharePoint Webapplikation wird nun zusätzlich ein AAM (Alternative Access Mapping) Eintrag hinzugefügt.
Ich definiere diesen bewusst auf “Custom” (Benutzerdefiniert).

Bild 15: Konfiguration der AAM Einstellungen

Bild 16: Auswahl der entsprechenden Webb Applikation bzw. der Site Collection

 

Bild 17: Das erscheinende Dialogfeld abbrechen

 

Bild 18: Dann die Öffentlichen URLs bearbeiten

 

Bild 19: In der folgenden Ansicht im Feld “Custom” den entsprechenden SSL Eintrag hinzufügen

Bild 20: Und anschliessend speichern. Bitte darauf achten, dass nun auch HTTPS am Anfang steht

Bild 21: Nach dem Speichern sollten die Einträge in etwa so aussehen

Im nächsten Schritt müssen wir nun noch die IIS Konfiguration anpassen. (Script steht am Ende)

Dazu wird der Port 80 Web Applikation nun noch ein Eintrag für den Port 443 und dem entsprechendem Zertifikat hinzugefügt.

Bild 22: IIS Konfiguration vor dem Ausführen des PowerShell Befehls

Bild 23: IIS Konfiguration nach dem Ausführen des PowerShell Befehls

Bild 24: Und das ist die Seite mit SSL Aufruf

Folgendes Script habe ich genutzt:

# Define IP and port.
$ipAddress = 1.1.1.1 (variable – IP Adresse des Webservers)
$port
= 443

Import-Module WebAdministration

#
# Get the certificate thumbprint.
# The certificate has SAN entries inside my wildcard certificate (*.domain.de) and others.

$thumbPrint = (Get-ChildItem cert:\LocalMachine\My | where-object { $_.Subject -like “*.meine-domain.de” } | Select-Object -First Thumbprint

#
# Bind the certificate to $ipAddress!$port.

Push-Location IIS:\SslBindings

# In der folgenden Zeile erhalte ich zwar eine Fehlermeldung, doch wird alles korrekt gesetzt L

Get-Item cert:\LocalMachine\Root\$thumbPrint | New-Item $ipAddress!$port
Pop-Location

#
# Configure IIS application1 properties to bind.
# Die folgende Zeile muss in einer Zeile stehen, nicht in zwei!

Add-WebConfigurationProperty -Filter ‘/system.applicationHost/sites/site[@name=”SharePoint – demoA.meine-domain.de80″]’ -Name Bindings -Value (@{protocol=“https”;bindingInformation=“*:443:demoB.meine-domain.de”}) -PSPath “IIS:\”

 

So…

Ich wünsche Euch viel Spass….

PS: Das man so nun auch innerhalb einer AZURE VM mehrere SharePoint Webseiten histen kann, muss ich hoffentlich nicht extra erwähnen.

Michael

 

 

 

 

 

 

 

The short URL of the present article is: http://wp.me/p1MQAv-Rx

Tagged with:

Filed under: InfrastructureSharePoint 2013