Co je Content Security Policy (CSP)
Content Security Policy (CSP) je bezpečnostní mechanismus, který pomáhá chránit webové aplikace před útoky typu Cross-site scripting a dalšími formami injekčních útoků. CSP umožňuje definovat, jaké zdroje (skripty, styly, obrázky, fonty apod.) může prohlížeč na dané stránce načítat a spouštět. Jde o ochranu na úrovni prohlížeče, která omezuje možnost spuštění škodlivého kódu.
Jak Content Security Policy funguje
CSP je nastavena pomocí speciální HTTP hlavičky nebo meta tagu v HTML. Server například určí:
- z jakých domén je možné načítat JavaScript
- zda je povoleno spouštět inline skripty
- odkud lze načítat obrázky nebo fonty
- zda jsou povoleny externí rámce (iframe)
Prohlížeč následně tato pravidla vynucuje. Pokud stránka poruší definovanou politiku, prohlížeč daný zdroj zablokuje.
Proti čemu CSP chrání
Content Security Policy pomáhá zejména proti:
- Cross-site scripting
- injekčním útokům
- načítání škodlivých externích skriptů
- některým formám data exfiltrace
CSP však nenahrazuje bezpečný vývoj aplikace – funguje jako dodatečná ochranná vrstva.
Režimy CSP
CSP může fungovat ve dvou režimech:
- Enforcement mode – pravidla jsou aktivně vynucována
- Report-only mode – porušení pravidel se pouze zaznamenává
Report-only režim se často používá při testování konfigurace, aby nedošlo k nechtěnému narušení funkčnosti webu.
Rizika špatné konfigurace
Nesprávně nastavená Content Security Policy může způsobit problémy s načítáním legitimních skriptů nebo služeb třetích stran. Například může dojít k:
- nefunkční webové analytice
- zablokování externích knihoven
- omezení funkcionality webu
Proto je vhodné CSP nejprve testovat v report-only režimu.