Vplyv
Absencia bezpečnostných hlavičiek umožňuje útočníkom vykonávať clickjacking, kradnúť súbory cookie relácie alebo spúšťať skriptovanie medzi stránkami (XSS) [S1]. Bez týchto pokynov nemôžu prehliadače presadzovať bezpečnostné hranice, čo vedie k potenciálnemu úniku údajov a neoprávneným akciám používateľov [S2].
Hlavná príčina
Problém pramení z zlyhania konfigurácie webových serverov alebo aplikačných rámcov tak, aby obsahovali štandardné hlavičky zabezpečenia HTTP. Zatiaľ čo vývoj často uprednostňuje funkčné HTML a CSS [S1], konfigurácie zabezpečenia sa často vynechávajú. Nástroje auditu, ako je observatórium MDN, sú navrhnuté tak, aby odhalili tieto chýbajúce obranné vrstvy a zabezpečili, že interakcia medzi prehliadačom a serverom je bezpečná [S2].
Technické detaily
Hlavičky zabezpečenia poskytujú prehliadaču špecifické bezpečnostné smernice na zmiernenie bežných zraniteľností:
- Zásady zabezpečenia obsahu (CSP): Kontroluje, ktoré zdroje možno načítať, čím zabraňuje neoprávnenému spusteniu skriptu a vkladaniu údajov [S1].
- Strict-Transport-Security (HSTS): Zabezpečuje, že prehliadač komunikuje iba cez zabezpečené pripojenia HTTPS [S2].
- X-Frame-Options: Zabraňuje vykresľovaniu aplikácie v prvku iframe, čo je primárna obrana proti clickjackingu [S1].
- X-Content-Type-Options: Zabraňuje prehliadaču interpretovať súbory ako iný typ MIME, ako je špecifikovaný, čím sa zastaví útoky typu „sniffing“ MIME [S2].
Ako to testuje FixVibe
FixVibe by to mohol zistiť analýzou hlavičiek HTTP odpovede webovej aplikácie. Porovnaním výsledkov so štandardmi observatória MDN [S2], FixVibe môžu označiť chýbajúce alebo nesprávne nakonfigurované hlavičky, ako sú CSP, HSTS a X-Frame.
Opraviť
Aktualizujte webový server (napr. Nginx, Apache) alebo aplikačný middleware tak, aby zahŕňal nasledujúce hlavičky do všetkých odpovedí ako súčasť štandardnej pozície zabezpečenia [S1]:
- Content-Security-Policy: Obmedzte zdroje zdrojov na dôveryhodné domény.
- Strict-Transport-Security: Presadzujte HTTPS pomocou dlhého
max-age. - X-Content-Type-Options: Nastavte na
nosniff[S2]. - X-Frame-Options: Nastavte na
DENYaleboSAMEORIGIN, aby ste zabránili clickjackingu [S1].
