Teknobench

Gineadóir Content Security Policy (CSP)

Cruthaigh ceanntásc Content-Security-Policy, clib meta agus leagan Report-Only le réamhshocruithe, nonces agus haiseálacha SHA-256, agus meas beartas atá ann.

Tosaigh ó réamhshocrú

Is samplaí iad óstach Google a thógtar ó threoir CSP Google don chlib Google. Athraíonn Google iad ó am go ham: seiceáil an doiciméadúchán reatha agus bain an méid nach n-úsáideann tú.

Treoracha

Foinsí scartha le spásanna. Fág réimse folamh chun an treoir a fhágáil ar lár (titeann na treoracha fáiltithe siar ansin ar default-src).

Cuir leis go tapa

Caithfidh nonce a bheith ina luach randamach nua ar gach freagra, a ghinfidh do fhreastalaí agus a athdhéantar i ngach <script nonce="…">. Ní chosnaíonn nonce seasta tada.

Haisigh script nó stíl inlíne

Clúdaíonn an haiseáil an téacs beacht idir na clibeanna, spásanna agus bristeacha líne san áireamh: teastaíonn haiseáil nua le haon athrú. Teastaíonn 'unsafe-hashes' freisin ó láimhseálaithe imeachtaí inlíne (onclick=…).

Tuarascálacha sáraithe

Cuireann sé report-uri (do bhrabhsálaithe níos sine) agus report-to le ceanntásc Reporting-Endpoints.

I gclib <meta> déanann brabhsálaithe neamhaird de frame-ancestors, report-uri, report-to agus sandbox, agus ní thacaítear le Report-Only. Cuir an chlib ag barr <head>: ní bhaineann sí ach leis an ábhar a thagann ina diaidh.

Athbhreithniú ar an mbeartas seo

Meas beartas atá ann cheana

Conas beartas a thógáil

  1. Roghnaigh pointe tosaigh faoi Tosaigh ó réamhshocrú: Docht (nonce + strict-dynamic), Suíomh statach faoi ghlas, Suíomh gréasáin tipiciúil nó Tipiciúil + Google Analytics / Ads. Osclaíonn an t-eagarthóir leis an réamhshocrú do shuíomh gréasáin tipiciúil.
  2. Coigeartaigh na Treoracha. Glacann gach réimse le foinsí scartha le spásanna; fágann réimse folamh an treoir ar lár.
  3. Úsáid Cuir leis go tapa chun eochairfhocal a chur leis an Treoir roghnaithe: 'self', 'none', 'unsafe-inline', 'strict-dynamic', https:, data:… Cuireann Cuir nonce leis nonce randamach 128-giotán isteach.
  4. Chun script inlíne ar leith a cheadú gan 'unsafe-inline', greamaigh é (nó an HTML timpeall air) in Haisigh script nó stíl inlíne agus cliceáil Áirigh SHA-256 agus cuir leis.
  5. Tic upgrade-insecure-requests má úsáideann roinnt seanURLanna http:// fós, agus más mian leat, cuir isteach URL críochphointe tuairiscithe.
  6. Cóipeáil an Ceanntásc HTTP, an Ceanntásc Report-Only nó an Clib HTML . Nuashonraítear an Athbhreithniú ar an mbeartas seo agus tú ag clóscríobh.

Chun beartas atá agat cheana a iniúchadh, greamaigh faoi Meas beartas atá ann cheana é agus cliceáil Meas an beartas; cóipeálann Luchtaigh san eagarthóir isteach sna réimsí é.

Cad a dhéanann Content Security Policy

Insíonn CSP don bhrabhsálaí cé na bunús óna bhféadfaidh leathanach scripteanna, stíleanna, íomhánna, clónna, frámaí agus naisc a lódáil. Is é an príomhról atá aige ná scriptíocht thrasshuímh (XSS) a theorannú: fiú má instealann ionsaitheoir marcáil i do leathanach, cuireann beartas maith cosc ar an script instealta rith. Rialaíonn sé freisin cé a fhéadfaidh do leathanach a fhrámú (frame-ancestors), cá bhféadfar foirmeacha a phostáil (form-action) agus cad ar féidir le <base> díriú air (base-uri).

Titeann treoracha fáiltithe amhail img-src nó font-src siar ar default-src nuair a bhíonn siad ar iarraidh. Ní thiteann base-uri, form-action ná frame-ancestors siar, agus sin an fáth go n-iarrann an t-athbhreithniú go sainráite iad.

Nonces, haiseálacha agus strict-dynamic

Is cosúil go bhfuil óstaigh a cheadú (script-src https://cdn.example.com) sábháilte, ach is minic is féidir é a sheachaint: óstálann fearainn mhóra críochphointí JSONP agus seanleabharlanna a fhéadfaidh ionsaitheoir a athúsáid. Is é an cur chuige a mholann foirne slándála brabhsálaithe ná CSP docht: iompraíonn gach <script> dleathach nonce a ghin an freastalaí do gach freagra, nó ceadaítear é lena haiseáil, agus ligeann 'strict-dynamic' do na scripteanna iontaofa sin na scripteanna a theastaíonn uathu a lódáil. Sa socrú sin níl i https: agus 'unsafe-inline' ach cúltaca do bhrabhsálaithe an-sean; déanann brabhsálaithe nua-aimseartha neamhaird díobh.

Ní oibríonn nonce ach amháin má athraíonn sé ar gach freagra agus má tá sé dosháraithe. Is sampla é an ceann a chuireann Cuir nonce leis isteach: caithfidh do fhreastalaí nó do chreatlach ceann dá chuid féin a ghiniúint. Clúdaíonn haiseáil na bearta beachta den chód inlíne, mar sin teastaíonn haiseáil nua má athfhormáidítear an script.

Ceanntásc, Report-Only agus clib meta

Seol an beartas mar cheanntásc freagra HTTP aon uair is féidir. Imscaoil ar dtús é mar Content-Security-Policy-Report-Only: tuairiscíonn brabhsálaithe sáruithe (chuig an gconsól, agus chuig do chríochphointe más socraithe agat ceann) gan aon rud a bhlocáil, ionas gur féidir leat do leathanaigh a cheartú sula gcuirtear i bhfeidhm é. Cuireann na socruithe tuairiscithe report-uri leis do bhrabhsálaithe níos sine agus report-to le ceanntásc Reporting-Endpoints.

Tá leagan <meta http-equiv> áisiúil ar óstáil statach, ach déanann brabhsálaithe neamhaird de frame-ancestors, report-uri, report-to agus sandbox ann, agus níl aon chlib meta Report-Only ann. Baineann an uirlis na treoracha sin den chlib agus insíonn sí duit é.

Ceisteanna coitianta

An fadhb é 'unsafe-inline' i style-src?

Tá sé níos lú contúirteach ná i script-src agus an-choitianta, mar socraíonn go leor leabharlann stíleanna inlíne. Fós féin, is féidir le CSS instealta leathanach a mhaslú nó sonraí a sceitheadh, agus sin an fáth go liostálann an t-athbhreithniú é mar thromchúis íseal.

An bhfuil óstaigh Google Analytics iomlán?

Is samplaí iad ó threoir CSP Google don chlib Google. Coigeartaíonn Google iad le himeacht ama agus d’fhéadfadh fearainn réigiúnacha a bheith ag teastáil; seiceáil doiciméadúchán reatha Google agus bain an méid nach n-úsáideann tú. Teastaíonn nonce nó haiseáil ón ngiotán inlíne gtag.js freisin.

Cén fáth a bhfuil mo bheartas ag blocáil mo scripteanna inlíne féin?

Nuair a shocraítear script-src gan 'unsafe-inline', blocáiltear gach <script> inlíne agus gach tréith onclick=. Bog an cód isteach i gcomhad, nó cuir nonce nó haiseáil leis.

An gcuireann CSP in ionad ionchur úsáideora a éalú?

Ní chuireann. Is dara líne chosanta é CSP. Lean ort ag éalú aschuir agus ag bailíochtú ionchuir; cuireann an beartas teorainn leis an gcaill nuair a éalaíonn rud éigin tríd.

An féidir liom beartais iolracha a bheith agam?

Is féidir: má fhaigheann leathanach roinnt ceanntásc CSP, caithfidh acmhainn gach ceann acu a shásamh. Greamaigh beartas amháin ag an am isteach sa mheasúnóir.