Nastavení HSTS

Co je HSTS?

HTTP Strict-Transport-Security, zkráceně HSTS, je HTTP hlavička odpovědi serveru, která webovému prohlížeči sděluje, že pro přístup má používat pouze zabezpečený kanál přes protokol HTTPS. Používáním tak odpadá běžné kolečko přesměrování 301 na HTTPS pomocí souboru .htaccess, jde tedy o opatření zvyšující bezpečnost komunikace.

Prohlížeč hlavičku zpracuje jen tehdy, obdrží-li ji přes šifrovaný kanál, tedy protokol HTTPS. Z toho vyplývá, že prvotní načtení nové/neznámé stránky projde klasickým cyklem přesměrování z HTTP na HTTPS. Tuto vlastnost řeší prohlížeče nahlédnutím do interního seznamu domén (tzv. preload list). Instrukce a podmínky, jak svou doménu zapsat nebo naopak odebrat ze seznamu naleznete na stránkách správce.

Jak HSTS hlavička vypadá?

Samotná hlavička je textový řetěz viditelný ve vývojářské konzoli webového prohlížeče. Má následující formát:

Strict-Transport-Security: max-age=doba-platnosti
Strict-Transport-Security: max-age=doba-platnosti; includeSubDomains
Strict-Transport-Security: max-age=doba-platnosti; preload

Parametr max-age, který udává dobu platnosti v sekundách, je jediným povinným parametrem, ostatní jsou volitelné. Parametr includeSubDomains říká, že pravidlo je platné i pro všechny subdomény, preload pak využití preload listu. Vynucení expirace zajistíte snížením doby platnosti na nulu.

HSTS vyžaduje validní certifikát od uznávané certifikační autority vystavený pro doménové jméno (FQDN). V opačném případě nebude přístup ze strany prohlížeče na stránky vůbec umožněn! Jestliže certifikát nemáte, rádi Vám jej zajistíme.

Jak HSTS nastavit?

Zasílání HSTS je na našich webserverech možné uživatelsky nastavit buď metodou zápisu do souboru .htaccess nebo úpravou prezentace v kombinaci s .htaccess. Záleží na typu prezentace, konkrétně zdali se jedná o statické stránky nebo dynamický web využívající i .php skripty.

DŮLEŽITÉ: Nesprávné nastavení může negativně ovlivnit funkčnost prezentace! Nejste-li si jisti zápisem nebo nechcete mít nastavení na více místech (viz popsané metody níže), doporučujeme se na nás obrátit a celé nastavení na doméně zařídíme za Vás.

a) pouze statický obsah

Do souboru .htaccess vložíme následující řádky, specifikujeme dobu platnosti a případně doplníme volitelné parametry.

<IfModule mod_headers.c>
  Header set Strict-Transport-Security "max-age=doba-platnosti" env=HTTPS
</IfModule>

b) dynamický obsah (.php skripty)

Použijeme shodný zápis jako pro statický obsah. Navíc proti první metodě, stejnou hlavičku je potřeba zanést i do prezentace, aby byla platná pro vykonávané .php skripty. Pro tento účel může správce prezentace např. použít vestavěnou funkci v PHP, funkci header().

 

Kopírování, publikování nebo šíření obsahu není dovolené bez předchozího písemného souhlasu společnosti ONEsolution s.r.o.