Chýba Strict-Transport-Security

Čo to je

Vaše stránky neposielajú hlavičku Strict-Transport-Security (HSTS). Táto hlavička povie prehliadaču „na tejto stránke už nikdy nepoužívaj HTTP, vždy rovno HTTPS“.

Prečo je to problém

Aj keď máte funkčné HTTPS aj HTTP presmerovanie, prvá návšteva má slabé miesto. Používateľ napíše example.sk — prehliadač začne pokusom o HTTP. Ak je v tej chvíli medzi vami a serverom útočník (verejná Wi-Fi, kompromitovaný router), môže:

S HSTS prehliadač vie vopred, že na example.sk sa nesmie ísť cez HTTP, a útok sa nepodarí.

Ako to opraviť

Krok 1 — uistite sa, že HTTPS je stabilné

HSTS si prehliadač „zapamätá“ na dlhšie obdobie. Keď potom HTTPS pokazíte (expirovaný certifikát, omylom vypnuté SSL), váš web bude pre vracajúcich sa návštevníkov nedostupný — prehliadač odmietne aj fallback na HTTP.

Pred zapnutím HSTS si overte:

Krok 2 — nastaviť krátku hodnotu na test

Strict-Transport-Security: max-age=300

5 minút. Keď sa niečo pokazí, do 5 minút to odznie. Sledujte uptime a spustite niekoľko testov.

Krok 3 — nasadiť produkčnú hodnotu

Strict-Transport-Security: max-age=15552000; includeSubDomains

Krok 4 (voliteľný) — preload

Ak chcete byť vo vstavanom zozname prehliadačov (Chrome, Firefox, Safari) a mať HSTS aj pre úplne prvú návštevu z čistého prehliadača:

Strict-Transport-Security: max-age=63072000; includeSubDomains; preload

Potom doménu zaregistrujte na hstspreload.org.Tento krok je ťažko reverzibilný — vyradenie zo zoznamu trvá týždne až mesiace.

Konkrétna konfigurácia

nginx:

add_header Strict-Transport-Security "max-age=15552000; includeSubDomains" always;

Apache:

Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"

Cloudflare: SSL/TLS → Edge Certificates → HTTP Strict Transport Security — UI checkbox.

Referencie