IIS Enable HSTS Header URL ReWrite
Umleitung von HTTP auf HTTPS mithilfe des URL ReWrite Tools. Ältere IIS Version (IIS 7 IIS 7.5 IIS 8 IIS 8.5 IIS 10) also vor der Windows Version 1709 benötigen für die Umsetzung das URL-ReWrite Tool welches direkt hier heruntergeladen werden kann.
- English: x86 installer / x64 installer
- German: x86 installer / x64 installer
IIS 7 IIS 7.5 IIS 8 IIS 8.5 IIS 10 HSTS Header
Nach erfolgter Installation des Tools führen wir noch wenige Powershellbefehle aus, um die Regel zur Umleitung (301) zu erstellen.
Redirect HTTP to HTTPS
Sobald die Powershellbefehle ausgeführt worden sind, wurde auch die Umleitungsregel (301) erstellt und somit auch der HSTS Header hinzugefügt.
Der HSTS Header verhindert, dass Warnungen vor ungültigen Zertifikaten (z. B. abgelaufene, ungültige oder nicht vertrauenswürdige Zertifikate) umgangen werden können.
Zur Einsicht öffnen wir die web.config Datei und überzeugen uns von der korrekten Ausführung.
Im IIS der Version 10 (vor der Version 1709) öffnen wir dazu URL Rewrite Modul. Die Regel wurde erstellt und gleicht somit dem obigen XML-Abschnitt.
Fiddler Web Debugger
Die Analyse des Streams zeigt ganz klar auf, das der HSTS Header (Regel) beim Aufruf des sicheren Hypertext-Übertragungsprotokolls berücksichtigt wurde.
HSTS bei anderen Webservern aktivieren
Bei einen Apache Web Server wird folgender Code in die .htaccess Datei eingefügt:
# Use HTTP Strict Transport Security to force client to use secure connections only Header always set Strict-Transport-Security “max-age=300; includeSubDomains; preload”
Bei einen lighttpd Web Server wird folgender Code in die lighttpd.conf Datei eingefügt:
server.modules += ( “mod_setenv” ) $HTTP[“scheme”] == “https” { setenv.add-response-header = (“Strict-Transport-Security” => “max-age=300; includeSubDomains; preload”) }
Bei einen NGINX Web Server wird folgender Code in die site.conf Datei eingefügt:
add_header Strict-Transport-Security ‘max-age=300; includeSubDomains; preload; always;’