Content-Security-Policy (CSP) jednoducho: čo rieši a ako ju nezabiť
Content-Security-Policy (CSP) je bezpečnostná hlavička, ktorá prehliadaču povie: „skripty a štýly načítavaj len z týchto zdrojov, nič iné nespúšťaj." Je to jedna z najúčinnejších obrán proti XSS – podstrčeniu cudzieho škodlivého kódu na web.
Prečo je to dôležité
Ak sa útočníkovi podarí dostať na stránku vlastný skript (cez dieru v plugine, komentár, reklamu…), bez CSP ho prehliadač poslušne spustí – a môže kradnúť prihlásenia alebo presmerúvať návštevníkov. So správnou CSP prehliadač taký cudzí skript odmietne, lebo nie je na zozname povolených zdrojov.
Prečo sa jej ľudia (oprávnene) boja
Zle nastavená CSP rozbije web – zablokuje aj legitímne skripty, a stránka prestane fungovať (nenačíta sa analytika, formuláre, mapy…). Preto sa nezavádza „naslepo".
Ako ju zaviesť bezpečne
- Najprv v režime „len hlásenie" (Report-Only) – nič neblokuje, iba nahlási, čo by ostrá politika zablokovala. Z toho sa dá presne poskladať politika na mieru.
- Až keď je istota, že nič legitímne nepadá, prepnúť na ostrú CSP.
- Pre vlastné inline skripty použiť nonce namiesto povoľovania „všetkého inline".
nobi kontroluje CSP a vie nasadiť práve to bezpečné Report-Only zavedenie, z ktorého sa potom navrhne ostrá politika, ktorá web nerozbije.