Dopad
Absence bezpečnostních hlaviček umožňuje útočníkům provádět clickjacking, krást soubory cookie relace nebo spouštět skriptování mezi weby (XSS) [S1]. Bez těchto pokynů nemohou prohlížeče vynutit bezpečnostní hranice, což vede k potenciální exfiltraci dat a neoprávněným akcím uživatelů [S2].
Hlavní příčina
Problém pramení z toho, že se nepodařilo nakonfigurovat webové servery nebo aplikační rámce tak, aby obsahovaly standardní hlavičky zabezpečení HTTP. Zatímco vývoj často upřednostňuje funkční HTML a CSS [S1], konfigurace zabezpečení jsou často vynechány. Auditní nástroje, jako je MDN Observatory, jsou navrženy tak, aby detekovaly tyto chybějící obranné vrstvy a zajistily, že interakce mezi prohlížečem a serverem je bezpečná [S2].
Technické detaily
Záhlaví zabezpečení poskytují prohlížeči specifické bezpečnostní směrnice ke zmírnění běžných zranitelností:
- Zásady zabezpečení obsahu (CSP): Řídí, které zdroje lze načíst, a zabraňuje neoprávněnému spuštění skriptu a vkládání dat [S1].
- Strict-Transport-Security (HSTS): Zajišťuje, že prohlížeč komunikuje pouze přes zabezpečené připojení HTTPS [S2].
- X-Frame-Options: Zabraňuje vykreslování aplikace v prvku iframe, což je primární obrana proti clickjackingu [S1].
- X-Content-Type-Options: Zabraňuje prohlížeči interpretovat soubory jako jiný typ MIME, než jaký je specifikován, a zastavuje útoky typu MIME-sniffing [S2].
Jak to testuje FixVibe
FixVibe by to mohl zjistit analýzou záhlaví HTTP odpovědí webové aplikace. Porovnáním výsledků se standardy observatoře MDN [S2], FixVibe mohou označit chybějící nebo nesprávně nakonfigurovaná záhlaví, jako jsou CSP, HSTS a X-Frame.
Opravit
Aktualizujte webový server (např. Nginx, Apache) nebo aplikační middleware tak, aby zahrnoval následující záhlaví ve všech odpovědích jako součást standardního bezpečnostního postoje [S1]:
- Content-Security-Policy: Omezte zdroje zdrojů na důvěryhodné domény.
- Strict-Transport-Security: Vynutit HTTPS pomocí dlouhého
max-age. - X-Content-Type-Options: Nastavte na
nosniff[S2]. - X-Frame-Options: Nastavte na
DENYneboSAMEORIGIN, abyste zabránili clickjackingu [S1].
