Strict Transport Security
Die Aktivierung von HSTS unter einem IIS 10 ab der Version 1709 kann per Powershell wie folgt durchgeführt werden. Die Optionen “IncludeSubdomains” und “HTTP an HTTPS umleiten” werden ebenfalls mit aktiviert.
Mit HSTS verhindern wir Man-in-the-Middle-Attacken. Aus diesem Grund empfiehlt es sich den Sicherheitsmechanismus zu aktivieren.
Bei einem Man-in-the-Middle-Angriff platziert sich der Angreifer logisch oder physisch zwischen dem Opfer und den verwendeten Ressourcen. Er ist dadurch in der Lage, die Kommunikation abzufangen, mitzulesen oder zu manipulieren. Die Ende-zu-Ende-Verschlüsselung ist eine wirksame Gegenmaßnahme gegen eine Man-in-the-Middle-Attacke.
Die Parameter für die Umsetzung hat Microsoft wie folgt erklärt.
IIS HSTS aktivieren Powershell
IIS HSTS aktivieren Powershell
Import-Module IISAdministration
Reset-IISServerManager -Confirm:$false
Start-IISCommitDelay
$sitesCollection = Get-IISConfigSection -SectionPath “system.applicationHost/sites” | Get-IISConfigCollection
$siteElement = Get-IISConfigCollectionElement -ConfigCollection $sitesCollection -ConfigAttribute @{“name”=”Default Web Site”}
$hstsElement = Get-IISConfigElement -ConfigElement $siteElement -ChildElementName “hsts”
Set-IISConfigAttributeValue -ConfigElement $hstsElement -AttributeName “enabled” -AttributeValue $true
Set-IISConfigAttributeValue -ConfigElement $hstsElement -AttributeName “max-age” -AttributeValue 15768000
Set-IISConfigAttributeValue -ConfigElement $hstsElement -AttributeName “preload” -AttributeValue $true
Set-IISConfigAttributeValue -ConfigElement $hstsElement -AttributeName “redirectHttpToHttps” -AttributeValue $true
Stop-IISCommitDelay
Remove-Module IISAdministration
Die Aktivierung per Kommandozeile sieht wie folgt aus
Das Ganze lässt sich auch mit dem Tool appcmd durchführen.
IIS HSTS aktivieren CMD
cd “C:\Windows\System32\inetsrv”
appcmd.exe set config -section:system.applicationHost/sites “/[name=’Test HSTS’].hsts.enabled:True” /commit:apphost
appcmd.exe set config -section:system.applicationHost/sites “/[name=’Test HSTS’].hsts.max-age:15768000” /commit:apphost
appcmd.exe set config -section:system.applicationHost/sites “/[name=’Test HSTS’].hsts.includeSubDomains:True” /commit:apphost
appcmd.exe set config -section:system.applicationHost/sites “/[name=’Test HSTS’].hsts.preload:True” /commit:apphost
appcmd.exe set config -section:system.applicationHost/sites “/[name=’Test HSTS’].hsts.redirectHttpToHttps:True” /commit:apphost
Das Ergebnis sieht dann wie folgt aus.
Browser HSTS Support
Folgende Browser unterstützen den Sicherheitsmechanismus HSTS (HTTP Strict Transport Security).
HSTS vermeiden
Die Aktivierung von HSTS sollte auf privaten PKIs vermieden werden, da die Sperrlisten oder auch die OCSP-Antworten über den Port 80 (HTTP) laufen und die Browser möglicherweise diese nicht mehr abrufen oder erhalten können.