Hlavička přikazuje prohlížeči že má po stanovenou dobu komunikovat pouze přes HTTPS protokol.
Hlavička Strict Transport Security je určena pro konfiguraci prohlížečů (user-agents) aby komunikovali pouze a jen prostřednictvím bezpečného protokolu. Používá se k ochraně před útoky typu "man-in-the-middle" vynucením veškeré komunikace, po prvním přístupu na www stránky, na HTTPS protokolu. Hlavička vlastně prohlížeči říká, aby po příštích X-sekund vždy na web přistupoval přes HTTPS. Je možné požádat o umístění domény do seznamu distrubuovaného do prohlížeče (preload list) a mít tak zajištěnu HTTPS komunikaci vždy. Podmínkou pro akceptování hlavičky HSTS je zajištění HTTPS komunikace a platný, důvěryhodný SSL certifikát (komerční nebo Let's Encrypt).
Zajištění HTTPS komunikace je na internetu více než žádoucí. I díky krokům prohlížeče Chrome, který nezabezpečenou HTTP komunikaci označuje jako "Not secure / Nezabezpečeno". Nastavení hlavičky HTTP Strict Transport Security na webových stránkách je dalším krokem ke zvýšení bezpečnosti stránek a uživatelů.
Strict-Transport-Security: max-age=<expire-time>; includeSubDomains; preload
Strict-Transport-Security: max-age=31536000
Nastavení doby (sekundy), po kterou má prohlížeč komunikovat s doménou pouze přes bezpečný protokol HTTPS.
Strict-Transport-Security: max-age=31536000; includeSubDomains
Direktiva includeSubDomains nastaví, že i subdomény musí být zabezpečeny a mít SSL certifikát.
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
Direktiva "preload" zajistí, po otestování, umístění do preload seznamu distribuovaného do prohlížeče.
# HSTS settings
Header set Strict-Transport-Security "max-age=300; includeSubdomains"
Nastavení HSTS na 5 minut pro otestování funkčnosti (300sec/60 = 5 minut).
Header set Strict-Transport-Security "max-age=31536000; includeSubdomains; preload"
Nastavení HSTS na 1 rok (365 dnů) + zabezpečení všech subdomén + bude požadováno vložení domény do preload listu.
add_header Strict-Transport-Security 'max-age=31536000; includeSubDomains';
max-age=31536000 includeSubDomain
Chybná konfigurace s mezerou. Rozdělení musí být se středníkem.
max-age=31536000, includeSubDomain
Chybná konfigurace s čárkou.
max-age=0
Validní konfigurace, neznamená však že nula = neomezeně.
Nastavení includeSubDomains
znamená, že pokud subdoména nebude dostupná na HTTPS protokolu, prohlížeč na ni neumožní přístup a zobrazení obsahu.
Doporučené hlavičky pro webové stránky.
Sponzor hlavičky HSTS