HSTS Strict Transport Security in IIS

Ein paar Minuten für mehr Security kann nicht schaden. Die Konfiguration von HSTS ist einfacher als man denkt.

Was ist HSTS:

Hier erlaube ich mir einen kleinen Teil von Wikipedia zu zitieren da es relativ einfach erklärt ist:

Als eine Maßnahme gegen sogenannte Man-in-the-middle-Angriffe wurde im September 2009 erstmals das HTTP Strict Transport Security– oder kurz HSTS-Verfahren vorgeschlagen.[11] Im November 2012 wurde HSTS als RFC 6797 herausgegeben. Der vom Betreiber entsprechend eingerichtete Dienst sendet hier den besonderen HTTP response header namens „Strict-Transport-Security“ und unter anderem einen Zeitraum, für den nach Ende einer Sitzung bei der erneuten Kommunikation die Gegenseite wiedererkannt wird und zwangsweise die Verschlüsselung erzwingt. Das gilt für alle Ports des IP-Protokolls und alle im Zertifikat enthaltenen Subdomains[12].
Ein dafür ausgelegter Browser – Stand August 2010 sind der Firefox (ab Ausgabe 4, Beta), dessen NoScript-Erweiterung sowie Chrome (ab Ausgabe 4.0.211) – wird daraufhin diese Sitzung (englisch session) für die angegebene Zeit ausschließlich verschlüsselt abwickeln. Dazu gehört auch die eigenständige Umwandlung von HTTP-Adressen in HTTPS sowie die Ausgabe einer Fehlermeldung und der Abbruch der Verbindung, falls die verschlüsselte Übertragung irgendeine Fehlermeldung bewirkt.
Voraussetzung ist natürlich, dass die ursprüngliche Anfrage (initial request) erfolgreich vom (originalen) HTTPS-Server aufgebaut wurde.

Nun zur Konfiguration:

  1. IIS Manager öffnen
  2. Site oder ganzen Server auswählen
  3. Menüpunkt „HTTP Response Headers“ doppelklicken
  4. Im rechten Bereich auf „Add“
  5. Name der Variable: Strict-Transport-Security
  6. Value z.B. : max-age=31536000
  7. Mit OK bestätigen

Das wars auch schon. Am besten mittels SSL-Test überprüfen.