HSTS — HTTP Strict Transport Security

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.

HSTS je účinná prevence proti MITM útokům, např. na veřejných Wi-fi sítích. Pointa nastává ve chvíli, kdy je uživatel přesměrován z protokolu HTTP na zabezpečený HTTPS. V tu chvíli může být útočníkem přesměrován na stránku s podvrženýnm obsahem, například banky. Protože banka používá HSTS, webový prohlížeč ví, že má na stránky přistoupit přímo přes protokol HTTPS. Podmínkou však je, aby uživatel dříve alespoň jednou takovou stránku navštívil a webový prohlížeč tak tuto informaci již měl.

HSTS není žádná komplexní technologie, ale pouze HTTP hlavička, která prohlížeči říká, že má používat pouze HTTPS a jak dlouho. Nastavení je tedy otázkou několika vteřin.

Konfigurace HSTS na Apache

HSTS můžete nastavit dvěma způsoby — přímo ve VirtualHost (doporučeno) nebo pomocí souboru .htaccess, pokud nemáte možnost VirtualHost upravovat.

1. metoda — VirtualHost:

Ujistěte se, že je aktivní modul headers_module. Pokud není, aktivujte jej příkazem sudo a2enmod headers a v souboru s VirtualHost, například /etc/apache2/sites-enabled/example.com.conf, přidejte dva řádky:

<VirtualHost 1.2.3.4:443>
Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"
Header always set X-Frame-Options DENY
</VirtualHost>

Apache restartujte /etc/init.d/apache2 restart nebo service apache2 restart.

Toto nastavení může být pouze na zabezpečeném HTTPS VirtualHost. Pro nezabezpečený VirtualHost nenastavujte.

Hodnota 63072000 prohlížeči říká, že má používat přímo HTTPS po dobou dvou let. Tato hodnota se nastaví při každé návštěvě stránky. Znovu tedy bude nastavena i při další návštěvě stránky příští týden, opět dva roky. includeSubDomains znamená, že se nastavení vztahuje i na subdomény a preload prohlížeči říká, aby doménu přidal do tzv. preload seznamu (více).

Stále však platí, že nezabezpečený VirtualHost musí mít nastaveno přesměrování na HTTPS. Čtěte, jak nastavit přesměrování na HTTPS.

2. metoda — .htaccess:

Do souboru .htaccess v kořenovém adresáři přidejte:

Header set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" env=HTTPS

Nastavením proměnné env na konci řádku splníme podmínku specifikace dle RFC 6797, že HSTS nesmí být nastaveno pro nezabezpečený protokol HTTP, ale pouze HTTPS.

Konfigurace HSTS na NGINX

Do sekce server (ten zabezpečený přes HTTPS) přidejte řádky:

add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload";
add_header X-Frame-Options "DENY";

Server restartujte /etc/init.d/nginx restart nebo service nginx restart.

Konfigurace HSTS na IIS 7+

Konfigurace HSTS na platformě IIS na první pohled vypadá trochu složitě. Níže je konfigurace zahrnující přesměrování z protokolu HTTP na zabezpečený HTTPS a nastavení HSTS pouze pro protokol HTTPS.

Do konfiguračního souboru web.config přidejte:

<?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" />
                </rule>
            </outboundRules>
        </rewrite>
    </system.webServer>
</configuration>

Server restartujte.

SSL certifikát — 139 Kč

Přejděte na důvěryhodný SSL certifikát AlpiroSSL se silným až 256-bit šifrováním a ušetřete.

Zelený adresní řádek

Nepřehlédnutelný indikátor důvěryhodného webu, díky kterému zvýšíte konverze a zisky.

Multidoménové UC/SAN

Skonsolidujte všechny Vaše SSL certifikáty do jednoho multidoménového SSL certifikátu!

Uživatel SSL Přihlášení

Zavřít

Uživatel SSL Nový zákazník

Zavřít
Zavřít
Zavřít
Doporučené SSL certifikáty
Zavřít
Máte dotaz?
Napište nám
Nenašli jste odpověď na svůj dotaz na stránce Podpora a nejčastější dotazy?
Jméno a příjmení: E-mail:
Odesílám…Odeslat
Tato stránka používá soubory cookies. více informací
Souhlasím