Bezpečnostní HTTP hlavičky

Ověřte si, zda má váš web správně nastavené bezpečnostní HTTP hlavičky.

Jak kontrola hlaviček funguje

Nástroj odešle běžný HTTPS GET požadavek na zadanou URL a přečte hlavičky odpovědi - tytéž hlavičky, které dostává každý prohlížeč. Z těla stránky se nic neparsuje; bezpečnostní hlavičky žijí výhradně v HTTP odpovědi.

Poté hledáme hlavičky řídící ochrany na straně prohlížeče: Strict-Transport-Security (HSTS), Content-Security-Policy (CSP), X-Frame-Options, X-Content-Type-Options a Referrer-Policy. Každá přítomná hlavička zvyšuje skóre a chybějící jsou vypsány s vysvětlením rizika, které nechávají otevřené.

Protože kontrola následuje přesměrování, výsledek odráží cílovou URL. Pokud váš web přesměrovává z HTTP na HTTPS nebo z holé domény na www, zobrazené hlavičky patří cíli.

Jak číst výsledky

Skóre je rychlá orientace, ne certifikace. Co je důležité v praxi:

Časté problémy

Hlavička je nastavena, ale hlásí se jako chybějící. Reverzní proxy nebo CDN před vaší aplikací může hlavičky odstraňovat nebo přepisovat. Porovnejte odpověď přes curl -I přímo proti originu a proti veřejné URL a zjistíte, která vrstva ji zahazuje.

CSP je přítomná, ale neúčinná. Content-Security-Policy-Report-Only pouze loguje porušení, nic neblokuje. Hodí se na testování, ale žádnou ochranu neposkytuje - jakmile je váš log hlášení čistý, přepněte na vynucující hlavičku.

Různé cesty vracejí různé hlavičky. Hlavičky nastavené v middleware aplikace se nemusejí vztahovat na statické soubory servírované přímo webovým serverem ani na chybové stránky. Otestujte i URL statického souboru a stránku 404.

Časté otázky

Které bezpečnostní hlavičky by měl mít každý web?

Rozumný základ: Strict-Transport-Security, Content-Security-Policy, X-Content-Type-Options: nosniff, Referrer-Policy a ochrana proti vložení do rámu přes X-Frame-Options nebo CSP frame-ancestors. API navíc prospěje Cache-Control: no-store u citlivých odpovědí.

Je hlavička X-XSS-Protection ještě potřeba?

Ne. Moderní prohlížeče XSS auditor, který řídila, odstranily a ve starých prohlížečích mohla hlavička dokonce zavést zranitelnosti. Místo ní použijte striktní Content-Security-Policy.

Chrání HSTS i úplně první návštěvu?

Sama o sobě ne - prohlížeč se pravidlo dozví až z první HTTPS odpovědi. Pro pokrytí první návštěvy zaregistrujte doménu do HSTS preload listu (hstspreload.org) a použijte direktivu preload spolu s includeSubDomains.

Může špatná hlavička rozbít můj web?

Ano, dva klasické případy: příliš striktní CSP zablokuje vaše vlastní skripty nebo inline styly a HSTS s includeSubDomains rozbije každou subdoménu, která stále běží na čistém HTTP. CSP nasazujte nejdřív v režimu report-only a HSTS začněte s krátkým max-age.

Sledujte změny hlaviček nepřetržitě

ePulz.io vás upozorní, když se hlavička změní (například po nasazení, které omylem odstranilo CSP).

Začít s ePulz.io →

O tomto nástroji

Bezpečnostní hlavičky říkají prohlížeči, jak má chránit vaše návštěvníky. Tento audit ukáže, zda jsou HSTS, Content-Security-Policy, X-Frame-Options, X-Content-Type-Options a Referrer-Policy skutečně přítomny, a výsledek ohodnotí, takže po nasazení odhalíte mezery typu clickjacking nebo MIME-sniffing.