Defaults.Exposed

Defaults.ExposedÅtgärder › Cross-origin isolationshuvuden (COOP / CORP / COEP)

Hur du fixar Cross-origin isolationshuvuden (COOP / CORP / COEP)

Tre valfria webbläsarinstruktioner som styr hur andra webbplatser tillåts interagera med din — öppna den i popups, bädda in dess bilder och skript, eller dra in dess resurser i sina egna sidor. De är modern härdning, inte ett grundläggande måste, och i vår betygsättning är de informativa: att sakna dem sänker inte ditt betyg. Men de två säkra av dem stänger ett diskret nätfiske- och bandbreddsstöldsgap, och en noggrann köpares IT-team noterar när de finns på plats.

Slutsats för ditt företag: Två av dessa tre huvuden stänger av sofistikerat popup-nätfiske och hindrar andra webbplatser från att hotlänka dina bilder och skript (vilket kostar dig bandbredd och kan läcka data). De är gratis, tar en utvecklare ungefär 15 minuter, och bryter ingenting. Det tredje är avancerat och kan bryta analys, teckensnitt och inbäddningar — de flesta företag bör låta det vara. Ingen av dem påverkar ditt betyg, så behandla dem som polering, inte panik: gör de två säkra, hoppa över den riskfyllda om du inte specifikt behöver den.

Vad detta kan kosta dig

Varför det spelar roll. Det här är framtidsinriktade webbläsarlärdningshuvuden. I vår metodik är alla tre informativa — de är registrerade med noll poäng och rör aldrig ditt betyg — för de är avancerade kontroller en webbplats legitimt kan verka utan, och en av dem kan orsaka skada om den tillämpas fel. Vi rapporterar om dem så att du kan se var du står. De två säkra (COOP och CORP) är verkligen värda att lägga till: gratis, snabba, och de stänger riktiga popup-nätfiske- och resurssstöldsgap utan att bryta något.

Vad det här är, i klartext

När någon besöker din webbplats laddar deras webbläsare inte bara dina sidor isolerat — den bestämmer också hur andra webbplatser tillåts interagera med din. Kan en annan webbplats öppna din webbplats i ett popup och behålla kontrollen över den? Kan en annan webbplats nå in och bädda in dina bilder och skript på sina egna sidor? Kan din egna webbplats på ett säkert sätt använda vissa kraftfulla, låsta webbläsarfunktioner?

Dessa tre huvuden är korta, osynliga instruktioner din webbplats skickar till varje besökares webbläsare för att besvara exakt dessa frågor. De är kända med sina förkortningar:

Två av dem (COOP och CORP) är säkra att lägga till och genuint användbara. Det tredje (COEP) är avancerat och kan bryta saker om det slås på vårdslöst.

Det viktigaste att veta på förhand: i vår betygsättning är alla tre informativa. De påverkar inte ditt betyg. En saknad kostar dig ingenting. Vi rapporterar om dem så att du kan se var du står och städa upp de enkla vinsterna — inte för att du ska panikera inför ett nummer.

Vad det här kan kosta dig

Det här är nischrisker, inte rubrikrisker — men de är verkliga, och åtgärderna är gratis.

Vad var och en faktiskt är

COOP — Cross-Origin-Opener-Policy (säker, rekommenderad)

När en annan webbplats öppnar din med ett popup eller window.open kan de två fönstren normalt behålla en referens till varandra. Den länken kan missbrukas: öppnaren kan manipulera eller omdirigera ditt fönster, läsa fragment av dess URL och iscensätta övertygande nätfiske med din riktiga domän. COOP: same-origin bryter den relationen — ditt fönster blir isolerat från allt som öppnade det över ursprung. Normal surfning, dina egna interna länkar och vanlig navigering påverkas inte alls.

Vad “bra” ser ut som: Cross-Origin-Opener-Policy: same-origin.

CORP — Cross-Origin-Resource-Policy (säker, rekommenderad)

Som standard kan dina bilder, skript och andra filer bäddas in av vilken webbplats som helst var som helst. CORP: same-origin berättar för webbläsare att vägra cross-origin-inbäddning av dina resurser — så andra webbplatser inte kan hotlänka dina tillgångar eller dra in dem i sina sidor. Din egna webbplats laddar fortfarande sina egna resurser precis som förut; bara utomstående webbplatser blockeras.

Vad “bra” ser ut som: Cross-Origin-Resource-Policy: same-origin. (Om du avsiktligt publicerar tillgångar för andra att bädda in — en offentlig logotyp, ett öppet API — kan din utvecklare mildra detta på just de svaren.)

COEP — Cross-Origin-Embedder-Policy (avancerat, lämna vanligtvis av)

COEP slutför “cross-origin-isolation”: kombinerat med COOP kräver det att varje resurs din sida laddar uttryckligen väljer att delta (via CORS eller CORP). Gjort rätt låser detta upp vissa kraftfulla webbläsarfunktioner (som SharedArrayBuffer) och lägger till ett annat lager mot Spectre-klassen attacker. Men eftersom det kräver deltagande från allt du laddar, bryter det lätt tredjepartsverktyg — analys, teckensnitt, inbäddade widgets — som inte byggdes för att delta. De flesta webbplatser behöver inte de funktioner det låser upp och bör inte bära risken för avbrott.

Vad “bra” ser ut som: för den sällsynta webbplats som behöver det, Cross-Origin-Embedder-Policy: credentialless — det säkrare värdet, mindre troligt att bryta externa resurser än require-corp. För alla andra är frånvaro bra, och vår rapport straffar dig inte för det.

Så här åtgärdar du det (gratis, ~15 minuter)

Lämna det här till din IT-person eller webbutvecklare — åtgärden är gratis. Att lägga till COOP och CORP är ett par engradsinställningar på din server eller CDN; det finns ingen licens och ingen löpande kostnad. Den enda instruktionen till ägaren är: gör de två säkra, och aktivera inte COEP utan att testa.

Det är svarshuvuden, satta var din webbplats svar produceras — enklast på din CDN (t.ex. Cloudflare) om du har en, annars i din webbserverkonfiguration.

De två säkra huvuden (rekommenderade för alla)

Cloudflare — Regler → Omvandlingsregler → Ändra svarshuvud → Sätt:

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"

Dessa är säkra att lägga till och kommer inte att bryta normal funktionalitet. Efter driftsättning, ladda om ett par sidor och bekräfta att webbplatsen beter sig precis som förut (det bör den).

Det avancerade huvudet (bara om du specifikt behöver det)

Aktivera inte det här utan att testa i staging först. COEP kan bryta analys, teckensnitt och inbäddade widgets.

Cloudflare: Omvandlingsregler → Sätt Cross-Origin-Embedder-Policy = credentialless.

Nginx:

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

Använd credentialless snarare än require-corp — det är mindre troligt att bryta externa resurser. Testa noggrant i staging; titta på om något tredjepartsskript, teckensnitt eller inbäddning slutar ladda. Om något bryter och du faktiskt inte behöver de funktioner COEP låser upp, ta helt enkelt bort huvudet — det finns ingen avgift för att inte ha det.

Plattformsnoteringar

Vanliga misstag

En notering om betyg

För att vara helt tydlig: ingen av dessa tre kontroller påverkar ditt betyg. De är registrerade i vår metodik som informativa, med noll poäng, och en saknad kostar dig aldrig något. Vi lyfter fram dem för att de två säkra är billiga, genuina förbättringar och för att det är användbart att se hela bilden — inte för att det finns ett nummer att försvara. Om du inte gör något här är ditt betyg exakt detsamma. Om du lägger till COOP och CORP har du stängt ett par riktiga (om än nischade) gap gratis. Det är rätt sätt att tänka på den här sidan: valfri polering, med en tydligt märkt fälla att undvika.

Vanliga frågor

De här påverkar inte mitt betyg — ska jag ens bry mig?

Två av dem, ja; en troligtvis inte. COOP och CORP är gratis, tar minuter och bryter inte din webbplats — de stänger riktiga (om än nischade) attackvägar, så de är värda att göra som billig hygien. COEP är avancerat och kan bryta tredjepartsverktyg, så de flesta företag bör låta det vara om de inte specifikt behöver de webbläsarfunktioner det låser upp. Ingen av de tre ändrar ditt betyg åt något håll, så det finns ingen brådska — behandla de två säkra som en ordningsam städning nästa gång din utvecklare är inne på webbplatsen.

Jag är inte teknisk — är det här något jag måste agera på?

Inte personligen, och inte brådskande. Eftersom de är informativa händer inget dåligt med ditt betyg om du hoppar över dem. Om du vill lägga till de två säkra, ge avsnittet 'Så här åtgärdar du det' till den som hanterar din webbplats eller CDN — det är ett par engradsinställningar och åtgärden är gratis. Det enda att flagga uttryckligen är COEP: berätta för dem att inte slå på det utan att testa, för det kan bryta analys och inbäddade widgets.

Vad är skillnaden mellan de här och huvuden som faktiskt påverkar mitt betyg?

De betygsatta webbsäkerhetshuvudena — HTTPS-omdirigering, HSTS, Content-Security-Policy, clickjacking-skydd (X-Frame-Options) och MIME-sniffningsskydd — försvarar mot vanliga, allmänt utnyttjade attacker, så att sakna dem kostar poäng. De tre på den här sidan (COOP, CORP, COEP) är nyare, mer specialiserade webbläsarisolationskontroller. De är god praxis men ännu inte grundläggande förväntning, så vi rapporterar dem utan att betygsätta dem. Gör de betygsatta först; de här är polering ovanpå.

Kommer att lägga till COOP eller CORP bryta min webbplats eller mina partners integrationer?

De rekommenderade inställningarna (båda 'same-origin') är utformade för att vara säkra. COOP klipper bara länken till fönster din webbplats öppnar i popups — normal surfning, dina egna sidor och vanliga länkar påverkas inte alls. CORP hindrar bara *andra* webbplatser från att bädda in dina bilder och skript; din egna webbplats laddar sina egna resurser precis som förut. Om du faktiskt serverar tillgångar (som en offentlig logotyp eller ett API) som andra webbplatser är tänkta att bädda in, kan din utvecklare använda en mer tillåtande inställning på just de svaren. Det som verkligen riskerar att gå sönder är COEP — håll det av om det inte testats.

Vad kostar 'hotlänkning' mig egentligen?

När en annan webbplats bäddar in din bild eller ditt skript direkt från din server istället för att hålla sin egna kopia, laddar varje besökare på deras sida ned det från dig — på din bandbreddsfaktura, och visar din tillgång i ett sammanhang du aldrig godkände. För ett litet företag är det sällan katastrofalt, men det är gratis pengar ut genom dörren, och CORP ('same-origin') stoppar det på webbläsarnivå. Det stänger också en subtil dataläckningsväg som avancerade (Spectre-klassen) webbläsarattacker förlitar sig på.

Vad ser 'bra' ut som för vart och ett av dessa?

COOP: ett Cross-Origin-Opener-Policy-huvud satt till 'same-origin'. CORP: ett Cross-Origin-Resource-Policy-huvud satt till 'same-origin'. COEP: ett Cross-Origin-Embedder-Policy-huvud — och om du sätter det alls är 'credentialless' det säkrare värdet jämfört med 'require-corp'. Vår rapport noterar helt enkelt om vart och ett finns och vad det är satt till; den straffar dig aldrig för ett saknat. Sikta på COOP och CORP på plats; lämna COEP frånvarande om du inte har testat det.