A Content Security Policy (CSP) egy olyan biztonsági szabvány, amely további védelmi réteget biztosít a webalkalmazások számára. A CSP fő célja bizonyos típusú támadások megelőzése.
A CSP egy HTTP válaszfejlécként kerül elküldésre a böngészőnek, amely meghatározza, hogy milyen erőforrásokat tölthet be biztonságosan az adott weboldal. Ezáltal a böngésző korlátozza a betölthető tartalmakat, például:
- JavaScript kódokat
- CSS stíluslapokat
- Képeket
- A CSP lehetővé teszi a weboldal tulajdonosának, hogy pontosan meghatározza, mely forrásokból származó tartalmak tölthetők be.
- Alapértelmezetten blokkolja az inline szkripteket és a
eval()
függvény használatát.
A Content Security Policy (CSP) beállítása egy weboldalon több lépésből áll:
Először érdemes a CSP-t jelentési módban beállítani a Content-Security-Policy-Report-Only
HTTP fejléccel. Ez lehetővé teszi a policy finomhangolását anélkül, hogy blokkolná a tartalmat.
A megbízható források azonosítása után állítsa össze a Content-Security-Policy
HTTP fejlécet. Például:
Content-Security-Policy: default-src 'self' *.adobe.com
A CSP-t kétféleképpen lehet implementálni:
- HTTP fejlécként:
Content-Security-Policy: default-src 'self' *.adobe.com
- HTML meta tagként:
<meta http-equiv="Content-Security-Policy" content="default-src 'self' 'unsafe-inline' 'unsafe-eval' *.cloudfront.net">
Használjon specifikus direktívákat az erőforrások típusainak pontosabb szabályozásához. Például:
Content-Security-Policy: script-src *.google.com *.adroll.com
Mielőtt élesben alkalmazná, tesztelje a CSP-t, hogy megbizonyosodjon arról, nem blokkol-e szükséges erőforrásokat. Használhatja a Content-Security-Policy-Report-Only
fejlécet és a report-uri
direktívát a szabálysértések naplózásához.