Uživatelské nástroje

Nástroje pro tento web


Postranní lišta

iis:hsts

Konfigurace HSTS na IIS

HTTP Strict Transport Security (HSTS) je vlastnost webové stránky sdělit prohlížeči, že má se serverem komunikovat pouze přes zabezpečený protokol HTTPS a nikdy pomocí nezabezpečeného HTTP. Tímto nastavením je řešena zejména situace, kdy je uživatel přesměrováván z protokolu HTTP na zabezpečený HTTPS a právě v tomto okamžiku může být útočníkem přesměrován na stránku s podvrženýnm obsahem. HSTS je realizována HTTP záhlavím, které prohlížeči říká, že má používat pouze HTTPS a jak dlouho. Společně s HSTS je tedy nutné nastavit také přesměrování HTTP požadavku na HTTPS.
Konfiguraci je možné provést dvěma způsoby:

Úpravou souboru web.config

Na IIS v. 7+ je nutné mít nainstalovaný modul URL Rewrite a do souboru web.config dopsat příslušnou část níže uvedené konfigurace. Tato konfigurace zajistí jak odesílání potřebných HTTP záhlaví, tak přesměrování HTTP požadavků na HTTPS.

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
     <system.webServer>
          <rewrite>
              <rules>
                  <rule name="HTTP to HTTPS redirect" stopProcessing="true">
                      <match url="(.*)" />
                      <conditions>
                          <add input="{HTTPS}" pattern="off" ignoreCase="true" />
                      </conditions>
                      <action type="Redirect" url="https://{HTTP_HOST}/{R:1}"
                          redirectType="Permanent" />
                  </rule>
              </rules>
              <outboundRules>
                  <rule name="Add Strict-Transport-Security when HTTPS" enabled="true">
                      <match serverVariable="RESPONSE_Strict_Transport_Security"
                          pattern=".*" />
                      <conditions>
                          <add input="{HTTPS}" pattern="on" ignoreCase="true" />
                      </conditions>
                      <action type="Rewrite" value="max-age=63072000; includeSubDomains; preload" />
                  </rule>
              </outboundRules>
          </rewrite>
     </system.webServer>
</configuration>

Nastavení pomocí GUI

IIS v. 7/8

Implementace HSTS na IIS v. 7/8 se realizuje přidáním specifických záhlaví:

  • Spusťte správce služby IIS.
  • Vyberte svůj web
  • Vyberte HTTP Response Headers
  • V části Actions klikněte na Add
  • V dialogu Add Custom HTTP Response Header přidejte následující hodnoty:
    • Jméno: Strict-Transport-Security
    • Hodnota: max-age=15552001; includeSubDomains; preload

HSTS musí být nastaveno pouze pro HTTPS, nesmí být nastaveno pro HTTP. V tomto scénáři je tedy nutné nastavit v IIS pro oba protokoly dva samostatné weby a na druhém z nich nastavit přesměrování HTTP požadavků na HTTPS.

iis/hsts.txt · Poslední úprava: 22.01.2020 08:47 autor: Ladislav Vojtíšek