[6] Serwer Web (IIS) – Ustawienia HSTS

1 sierpnia 2024 Wyłączono przez Adam [zicherka] Nogły

Włącz HSTS (Hypertext Strict Transport Security) dla witryn sieci Web.

W przypadku poniższej opcji [includeSubDomains] wszystkie subdomeny są uwzględniane w celu HSTS, więc należy dobrze zweryfikować przed ustawieniem, czy można uzyskać dostęp do wszystkich subdomen za pomocą protokołu HTTP, jeśli określono tę opcję.

Włącz ustawienia SSL/TLS dla witryn internetowych, w których chcesz włączyć HSTS – patrz rozdział: „Serwer Web (IIS) – Ustawienia SSL/TLS”.

Uruchom PowerShell z uprawnieniami administratora.

Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

PS C:\Users\Administrator> Get-Website
Name             ID   State      Physical Path                  Bindings
----             --   -----      -------------                  --------
Default Web Site 1    Started    %SystemDrive%\inetpub\wwwroot  http *:80:
VWSR01.zicher.la 3    Started    C:\inetpub\newsite             http *:80:vwsr01.zicher.lab
b                                                               https *:443:vwsr01.zicher.lab sslFlags=0

# ustaw nazwę witryny, dla której chcesz włączyć HSTS
PS C:\Users\Administrator> [String]$MySite = "VWSR01.zicher.lab"

# włącz HSTS dla witryny docelowej
PS C:\Users\Administrator> Set-IISConfigAttributeValue -ConfigElement (Get-IISConfigElement -ConfigElement (Get-IISConfigCollectionElement -ConfigCollection (Get-IISConfigSection -SectionPath "system.applicationHost/sites" | Get-IISConfigCollection) -ConfigAttribute @{"name"=$MySite}) -ChildElementName "hsts") -AttributeName "enabled" -AttributeValue $true

# ustaw [maksymalny wiek] HSTS na 31536000 s (365 dni)
# dla [maksymalnego wieku], patrz https://hstspreload.org/
PS C:\Users\Administrator> Set-IISConfigAttributeValue -ConfigElement (Get-IISConfigElement -ConfigElement (Get-IISConfigCollectionElement -ConfigCollection (Get-IISConfigSection -SectionPath "system.applicationHost/sites" | Get-IISConfigCollection) -ConfigAttribute @{"name"=$MySite}) -ChildElementName "hsts") -AttributeName "max-age" -AttributeValue 31536000

# ustaw [includeSubDomains] HSTS jako włączone
# ta opcja dotyczy wszystkich subdomen
PS C:\Users\Administrator> Set-IISConfigAttributeValue -ConfigElement (Get-IISConfigElement -ConfigElement (Get-IISConfigCollectionElement -ConfigCollection (Get-IISConfigSection -SectionPath "system.applicationHost/sites" | Get-IISConfigCollection) -ConfigAttribute @{"name"=$MySite}) -ChildElementName "hsts") -AttributeName "includeSubDomains" -AttributeValue $true

# ustaw [redirectHttpToHttps] HSTS jako włączone
PS C:\Users\Administrator> Set-IISConfigAttributeValue -ConfigElement (Get-IISConfigElement -ConfigElement (Get-IISConfigCollectionElement -ConfigCollection (Get-IISConfigSection -SectionPath "system.applicationHost/sites" | Get-IISConfigCollection) -ConfigAttribute @{"name"=$MySite}) -ChildElementName "hsts") -AttributeName "redirectHttpToHttps" -AttributeValue $true

# ustaw [wstępne ładowanie/preload] HSTS jako włączone
PS C:\Users\Administrator> Set-IISConfigAttributeValue -ConfigElement (Get-IISConfigElement -ConfigElement (Get-IISConfigCollectionElement -ConfigCollection (Get-IISConfigSection -SectionPath "system.applicationHost/sites" | Get-IISConfigCollection) -ConfigAttribute @{"name"=$MySite}) -ChildElementName "hsts") -AttributeName "preload" -AttributeValue $true

# potwierdź ustawienia
PS C:\Users\Administrator> Get-IISConfigElement -ConfigElement (Get-IISConfigCollectionElement -ConfigCollection (Get-IISConfigSection -SectionPath "system.applicationHost/sites" | Get-IISConfigCollection) -ConfigAttribute @{"name"=$MySite}) -ChildElementName "hsts"
Attributes      : {enabled, max-age, includeSubDomains, preload...}
ChildElements   : {}
ElementTagName  : hsts
IsLocallyStored : True
Methods         :
RawAttributes   : {[enabled, True], [max-age, 31536000], [includeSubDomains, True], [preload, True]...}
Schema          : Microsoft.Web.Administration.ConfigurationElementSchema

Aby włączyć HSTS za pomocą przystawki IIS wykonaj poniższe czynności.

Uruchom [Start] > [Menadżer serwera], następnie kliknij [Menadżer internetowych usług informacyjnych (IIS)], kolejno kliknij na witrynie, a następnie w prawym panelu kliknij łącze [HSTS].

Zaznacz opcję [Włącz], ustaw odpowiednie opcje, a następnie kliknij [OK]. Więcej informacji znajdziesz pod adresem: [https://hstspreload.org/].