HTTP Strict Transport Security (HSTS) und SharePoint 2016
avatar

By Edward (Own work) [Public domain], via Wikimedia Commons

Der Sicherheitsmechanismus HSTS hat spätestens seit der Ankündigung von Google im September 2017, größere Aufmerksamkeit erhalten. Grundsätzlich geht es darum den Browser anzuweisen, sich für einen bestimmten Zeitraum ausschließlich via HTTPS zu verbinden. Dies erschwert Man-in-the-Middle-Angriffe: Ruft ein Benutzer die Url http://intranet.contoso.com auf, ruft der Browser direkt https://intranet.contoso.com auf, ohne das eine Weiterleitung erfolgen muss. Dies setzt allerdings voraus, dass die betreffende Seite zumindest einmal aufgerufen wurde bzw. die Domäne in der HSTS preload Liste aufgenommen wurde.

Interessant sind die Implikationen der Preload Liste: sobald dort die betreffende Domäne dort gelistet wird, rufen alle gängigen Browser Sub-Domains über https auf, unabhängig davon ob die dahinter liegenden Applikationen dies unterstützen oder nicht. Google beispielsweise, schafft auf diese Art sichere Namensräume, unter der eigenen Top Level Domain „.google“, da diese sich in der Preload Liste befindet, die von den meisten Browserherstellern verwendet wird.

SharePoint unterstützt HSTS seit der Version 2016 und wird auf Web Applikations-Ebene konfiguriert. Leider unterstützt SharePoint die Angabe des Wertes „includeSubdomains“ im Header Feld „Strict-Transport-Security“ nicht, dadurch sind Sub-Domains weiterhin unverschlüsselt aufrufbar.

Dies ist allerdings vernachlässigbar, da die präferierte Architektur Websitesammlungen mit Hostnamen (host named site collections) ist, was wiederum bedeutet, dass die Websitesammlungen innerhalb der mit HSTS konfigurierten Web Applikation immer verschlüsselt aufgerufen werden.

PowerShell Skript um HSTS für eine Web Applikation zu konfigurieren:

$wa = Get-SPWebApplication https://www.contoso.com/
$wa.HttpStrictTransportSecuritySettings.IsEnabled = $true
$wa.Update()

Response header der Applikation nach erfolgter Konfiguration:

SharePoint und HSTS

Die im Browser Chrome gespeicherten Werte (chrome://net-internals/#hsts) für die Domäne www.contoso.com:

Chrome Net-Internals

Quellen:
HTTP Strict Transport Security (HSTS) Spezifikation
Beispiel HSTS Preload Liste

Schreibe einen Kommentar