Defaults.Exposed

Defaults.ExposedCorrezioni › Header di isolamento cross-origin (COOP / CORP / COEP)

Come correggere Header di isolamento cross-origin (COOP / CORP / COEP)

Tre istruzioni opzionali per il browser che controllano come gli altri siti possono interagire con il tuo: aprirlo in finestre popup, incorporare le sue immagini e i suoi script, o tirare le sue risorse dentro le proprie pagine. Sono rafforzamenti moderni, non un requisito di base, e nel nostro punteggio sono informativi: la loro assenza non abbassa il tuo voto. Ma i due sicuri chiudono una silenziosa falla di phishing e di furto di banda, e il team IT di un compratore attento noterà quando sono presenti.

In sintesi per la tua attività: Due di questi tre header bloccano il phishing sofisticato via popup e impediscono ad altri siti di prelevare direttamente (hotlinking) le tue immagini e i tuoi script (cosa che ti costa banda e può far trapelare dati). Sono gratuiti, richiedono a uno sviluppatore circa 15 minuti e non rompono nulla. Il terzo è avanzato e può rompere analisi, caratteri e contenuti incorporati: la maggior parte delle imprese dovrebbe lasciarlo disattivato. Nessuno di loro influisce sul tuo voto, quindi trattali come rifinitura, non come allarme: fai i due sicuri, salta quello rischioso a meno che non ti serva davvero.

Cosa può costarti

Perché è importante. Sono header di rafforzamento del browser orientati al futuro. Nella nostra metodologia tutti e tre sono informativi — sono registrati con zero punti e non spostano mai il tuo voto — perché sono controlli avanzati di cui un sito può legittimamente fare a meno, e uno di essi può fare danni se applicato male. Li riportiamo così puoi vedere a che punto sei. I due sicuri (COOP e CORP) vale davvero la pena aggiungerli: gratuiti, veloci, e chiudono reali falle di phishing via popup e di furto di risorse senza rompere nulla.

Cosa sono, in parole semplici

Quando qualcuno visita il tuo sito, il suo browser non si limita a caricare le tue pagine in isolamento: decide anche come gli altri siti possono interagire con il tuo. Può un altro sito aprire il tuo in un popup e tenerlo sotto controllo? Può un altro sito allungarsi e incorporare le tue immagini e i tuoi script nelle proprie pagine? Può il tuo stesso sito usare in sicurezza certe funzionalità potenti e blindate del browser?

Questi tre header sono brevi istruzioni invisibili che il tuo sito invia al browser di ogni visitatore per rispondere esattamente a queste domande. Sono noti con le loro sigle:

Due di essi (COOP e CORP) sono sicuri da aggiungere e davvero utili. Il terzo (COEP) è avanzato e può rompere cose se attivato con leggerezza.

La cosa più importante da sapere subito: nel nostro punteggio, tutti e tre sono informativi. Non influiscono sul tuo voto. Uno mancante non ti costa nulla. Li riportiamo così puoi vedere a che punto sei e raccogliere le vittorie facili, non perché tu debba allarmarti per un numero.

Quanto può costarti

Sono rischi di nicchia, non da prima pagina, ma reali, e le correzioni sono gratuite.

Cos’è davvero ciascuno

COOP — Cross-Origin-Opener-Policy (sicuro, consigliato)

Quando un altro sito apre il tuo usando un popup o window.open, le due finestre possono normalmente mantenere un riferimento reciproco. Quel collegamento può essere abusato: chi apre può manipolare o reindirizzare la tua finestra, leggere frammenti del suo URL e mettere in scena un phishing convincente usando il tuo dominio reale. COOP: same-origin interrompe quella relazione: la tua finestra diventa isolata da qualunque cosa l’abbia aperta da un’origine diversa. La navigazione normale, i tuoi collegamenti interni e la navigazione ordinaria non ne risentono affatto.

Come si presenta una configurazione corretta: Cross-Origin-Opener-Policy: same-origin.

CORP — Cross-Origin-Resource-Policy (sicuro, consigliato)

Per impostazione predefinita, le tue immagini, i tuoi script e altri file possono essere incorporati da qualsiasi sito ovunque. CORP: same-origin dice ai browser di rifiutare l’incorporamento cross-origin delle tue risorse, così altri siti non possono prelevare (hotlink) le tue risorse né tirarle nelle loro pagine. Il tuo stesso sito carica le proprie risorse esattamente come prima; solo i siti esterni sono bloccati.

Come si presenta una configurazione corretta: Cross-Origin-Resource-Policy: same-origin. (Se pubblichi intenzionalmente risorse perché altri le incorporino — un logo pubblico, un’API aperta — il tuo sviluppatore può allentarlo su quelle risposte specifiche.)

COEP — Cross-Origin-Embedder-Policy (avanzato, di solito lascialo disattivato)

COEP completa l’«isolamento cross-origin»: combinato con COOP, richiede che ogni risorsa caricata dalla tua pagina aderisca esplicitamente (tramite CORS o CORP). Fatto bene, sblocca certe funzionalità potenti del browser (come SharedArrayBuffer) e aggiunge un ulteriore strato contro gli attacchi della classe Spectre. Ma poiché esige l’adesione da tutto ciò che carichi, rompe facilmente strumenti di terze parti — analisi, caratteri, widget incorporati — che non erano stati costruiti per aderire. La maggior parte dei siti non ha bisogno delle funzionalità che sblocca e non dovrebbe accollarsi il rischio di rotture.

Come si presenta una configurazione corretta: per il raro sito che ne ha bisogno, Cross-Origin-Embedder-Policy: credentialless — il valore più sicuro, meno propenso a rompere le risorse esterne rispetto a require-corp. Per tutti gli altri, assente va bene, e il nostro report non ti penalizzerà.

Come correggerlo (gratis, circa 15 minuti)

Passa questo al tuo referente IT o sviluppatore web: la correzione è gratuita. Aggiungere COOP e CORP è un paio di impostazioni di una riga sul tuo server o CDN; non c’è licenza né costo ricorrente. L’unica istruzione per il titolare è: fai i due sicuri, e non attivare COEP senza testare.

Sono header di risposta, impostati dove vengono prodotte le risposte del tuo sito — più facilmente sulla tua CDN (per esempio Cloudflare) se ne hai una, altrimenti nella configurazione del tuo server web.

I due header sicuri (consigliati a tutti)

Cloudflare — Rules → Transform Rules → Modify Response Headers → Set:

Nginx:

add_header Cross-Origin-Opener-Policy   "same-origin" always;
add_header Cross-Origin-Resource-Policy "same-origin" always;

Apache:

Header always set Cross-Origin-Opener-Policy   "same-origin"
Header always set Cross-Origin-Resource-Policy "same-origin"

Sono sicuri da aggiungere e non romperanno il normale funzionamento. Dopo la pubblicazione, ricarica qualche pagina e conferma che il sito si comporti esattamente come prima (così dovrebbe essere).

L’header avanzato (solo se ti serve davvero)

Non attivarlo senza prima testare in staging. COEP può rompere analisi, caratteri e widget incorporati.

Cloudflare: Transform Rules → imposta Cross-Origin-Embedder-Policy = credentialless.

Nginx:

add_header Cross-Origin-Embedder-Policy "credentialless" always;

Usa credentialless invece di require-corp: è meno propenso a rompere le risorse esterne. Testa a fondo in staging; sorveglia ogni script, carattere o contenuto incorporato di terze parti che smetta di caricarsi. Se qualcosa si rompe e non ti servono davvero le funzionalità che COEP sblocca, rimuovi semplicemente l’header: non c’è penalità per non averlo.

Note per piattaforma

Errori comuni

Una nota sul voto

Per essere del tutto chiari: nessuno di questi tre controlli influisce sul tuo voto. Sono registrati nella nostra metodologia come informativi, con zero punti, e uno mancante non ti costa mai nulla. Li facciamo emergere perché i due sicuri sono miglioramenti economici e autentici e perché vedere il quadro completo è utile, non perché ci sia un numero da difendere. Se qui non fai nulla, il tuo voto è esattamente lo stesso. Se aggiungi COOP e CORP, hai chiuso un paio di falle reali (anche se di nicchia) gratis. È il modo giusto di pensare a questa pagina: rifinitura facoltativa, con una sola trappola chiaramente etichettata da evitare.

FAQ

Questi non influiscono sul mio voto: devo proprio occuparmene?

Di due sì; di uno, probabilmente no. COOP e CORP sono gratuiti, richiedono pochi minuti e non romperanno il tuo sito: chiudono percorsi d'attacco reali (anche se di nicchia), quindi vale la pena farli come igiene economica. COEP è avanzato e può rompere strumenti di terze parti, quindi la maggior parte delle imprese dovrebbe lasciarlo disattivato a meno che non servano le funzionalità del browser che sblocca. Nessuno dei tre cambia il tuo punteggio in un senso o nell'altro, quindi non c'è urgenza: tratta i due sicuri come un riordino alla prossima volta che il tuo sviluppatore mette mano al sito.

Non sono una persona tecnica: è qualcosa che devo per forza affrontare?

Non di persona, e non con urgenza. Poiché sono informativi, al tuo voto non succede nulla di male se li salti. Se vuoi aggiungere i due sicuri, passa la sezione «Come correggerlo» a chi gestisce il tuo sito o la tua CDN: sono un paio di impostazioni di una riga e la correzione è gratuita. L'unico da segnalare esplicitamente è COEP: digli di non attivarlo senza testare, perché può rompere le analisi e i widget incorporati.

Qual è la differenza tra questi e gli header che SÌ influiscono sul mio voto?

Gli header di sicurezza web a punteggio — redirect HTTPS, HSTS, Content-Security-Policy, protezione dal clickjacking (X-Frame-Options) e protezione dal MIME-sniffing — difendono da attacchi comuni e ampiamente sfruttati, quindi la loro assenza costa punti. I tre di questa pagina (COOP, CORP, COEP) sono controlli di isolamento del browser più recenti e specialistici. Sono buona pratica ma non ancora un'aspettativa di base, quindi li riportiamo senza assegnare punti. Fai prima quelli a punteggio; questi sono la rifinitura sopra.

Aggiungere COOP o CORP romperà il mio sito o le integrazioni dei miei partner?

Le impostazioni consigliate (entrambe «same-origin») sono pensate per essere sicure. COOP recide solo il collegamento con le finestre che il tuo sito apre in popup: la navigazione normale, le tue pagine e i collegamenti ordinari non ne risentono. CORP impedisce solo ad *altri* siti di incorporare le tue immagini e i tuoi script; il tuo sito carica le proprie risorse esattamente come prima. Se servi davvero risorse (come un logo pubblico o un'API) che altri siti devono incorporare, il tuo sviluppatore può usare un'impostazione più permissiva su quelle risposte specifiche. Quello che rischia davvero di rompere è COEP: tienilo disattivato a meno che non sia testato.

Cosa mi costa davvero l'«hotlinking»?

Quando un altro sito incorpora la tua immagine o il tuo script direttamente dal tuo server invece di ospitarne una copia propria, ogni visitatore della sua pagina la scarica da te — sulla tua bolletta della banda, e mostrando la tua risorsa in un contesto che non hai approvato. Per una piccola impresa raramente è catastrofico, ma sono soldi che escono dalla porta, e CORP («same-origin») lo blocca a livello di browser. Chiude anche una sottile via di fuga di dati su cui fanno leva attacchi avanzati al browser (della classe Spectre).

Come si presenta una configurazione corretta per ciascuno di questi?

COOP: un header Cross-Origin-Opener-Policy impostato su «same-origin». CORP: un header Cross-Origin-Resource-Policy impostato su «same-origin». COEP: un header Cross-Origin-Embedder-Policy; e se proprio lo imposti, «credentialless» è il valore più sicuro rispetto a «require-corp». Il nostro report annota semplicemente se ciascuno è presente e su cosa è impostato; non ti penalizza mai per uno mancante. Punta ad avere COOP e CORP presenti; lascia COEP assente a meno che tu non l'abbia testato.