Defaults.Exposed › Javítások › Cross-origin izolációs fejlécek (COOP / CORP / COEP)
Hogyan javítsd ki: Cross-origin izolációs fejlécek (COOP / CORP / COEP)
Három opcionális böngésző-utasítás, amely szabályozza, hogy más webhelyek hogyan interagálhatnak a tiéddel – megnyithatják-e felbukkanó ablakban, beágyazhatják-e a képeidet és szkriptjeidet, vagy lehúzhatják-e az erőforrásaidat a saját oldalaikba. Ezek modern megerősítések, nem alapszükségletek, és a pontozásunkban tájékoztatóak: a hiányuk nem csökkenti a besorolásodat. De a két biztonságos bezárja a csendes adathalász és sávszélesség-lopás rést, és egy gondos vevő IT-csapata észre fogja venni, ha jelen vannak.
Az üzleted szempontjából lényeg: E három fejléc közül kettő leállítja a kifinomult felbukkanó-adathalász és megakadályozza, hogy más oldalak direktben beágyazzák a képeidet és szkriptjeidet (ami sávszélességbe kerül és adatokat szivárogtathat). Ingyenesek, egy fejlesztőnek kb. 15 percet vesznek igénybe, és nem törnek semmit. A harmadik haladó szintű és törhet analitikát, betűtípusokat és beágyazott widgeteket – a legtöbb vállalkozásnak ki kell hagynia. Ezek egyike sem befolyásolja a besorolásodat, tehát tekints rájuk polírozásként, nem pánikként: csináld a két biztonságosat, hagyd ki a kockázatosat, hacsak kifejezetten nincs szükséged rá.
Mibe kerülhet ez neked
- Egy csaló megnyitja az igazi oldaladat egy felbukkanó ablakban, és fenntartja a távirányítást – csendesen átirányítva az ügyfelednek a saját oldaluk felé egy hamis bejelentkezésre abban a pillanatban, amikor elfordulnak. A biztonságos fejléc (COOP) teljesen elvágja ezt a vezérlő-linket.
- Más webhelyek közvetlenül a saját szerveředről ágyazzák be a termékfotóidat, logóidat és szkriptjeidet (hotlinking) – te fizeted a sávszélességet minden alkalommal, amikor a látogatóik betöltik az oldalt, és az eszközeid olyan oldalakon jelennek meg, amelyeket sosem hagynál jóvá.
- Egy lehetséges ügyfél biztonsági csapata fejléc-vizsgálatot futtat az aláírás előtt, és látja, hogy hozzáadtad a modern cross-origin megerősítést – kis jel, de a 'ezek komolyan veszik ezt' oszlopba kerülsz az 'alapminimum' helyett.
- Egy fejlesztő, alaposnak akarva lenni, bekapcsolja a haladó szintű izolációs fejlécet (COEP) tesztelés nélkül – és éjjel-nappal tönkreteszi a Google Analytics, web betűtípusokat és a beágyazott foglaló widgetet. Tudni, melyik fejléc biztonságos, és melyik kockázatos, megakadályoz egy önmagad által okozott leállást.
- Egy auditor ellenőrzőlistája megemlíti a cross-origin izolációt; inkább azt szeretnéd megmutatni, hogy 'jelen van és helyes' a két biztonságosnál, mint magyarázatot adni arra, hogy miért nincs semmi.
Miért fontos. Ezek előre mutató böngésző-megerősítési fejlécek. A mi módszertanunkban mindhárom tájékoztató – nulla ponttal vannak nyilvántartva és soha nem mozgatják a besorolásodat –, mert haladó szintű vezérlők, amelyek nélkül egy oldal jogosan tud működni, és egyikük kárt okozhat, ha helytelenül alkalmazzák. Azért számolunk be róluk, hogy láthasd, hol állsz. A két biztonságos (COOP és CORP) valóban érdemes hozzáadni: ingyenes, gyors, és bezárja a valódi felbukkanó-adathalász és erőforrás-lopás réseket anélkül, hogy bármit eltörne.
Mi ez egyszerű szavakkal
Amikor valaki meglátogatja a weboldaladat, a böngészőjük nem csak az oldalaidat tölti be önmagában – dönt is arról, hogy a más webhelyek hogyan interagálhatnak a tiéddel. Megnyithat-e egy másik oldal a tiédet felbukkanó ablakban, és fenntarthat-e rajta kontrollt? Hozzányúlhat-e egy másik oldal a képeidhez és szkriptjeidhez a saját oldalaiba ágyazva? Tudja-e az oldalad biztonságosan használni bizonyos erőteljes, zárt böngészői funkciókat?
Ez a három fejléc rövid, láthatatlan utasítás, amelyet a webhelyed minden látogató böngészőjének küld, pontosan ezekre a kérdésekre válaszolva. Kezdőbetűikkel ismertek:
- COOP — Cross-Origin-Opener-Policy. Szabályozza, hogy más oldalak, amelyek a tiedet felbukkanó ablakban nyitják meg, fenntarthatnak-e távirányítást rajta.
- CORP — Cross-Origin-Resource-Policy. Szabályozza, hogy más oldalak beágyazhatják-e a képeidet, szkriptjeidet és egyéb fájljaidat a saját oldalaiba.
- COEP — Cross-Origin-Embedder-Policy. Haladó szintű vezérlő, amely a COOP-pal kombinálva ‘izolál’ az oldaladat, hogy bizonyos erőteljes böngészői funkciókat biztonságosan lehessen használni.
Kettőjük (COOP és CORP) biztonságos hozzáadni és valóban hasznos. A harmadik (COEP) haladó szintű és törhet dolgokat, ha gondatlanul kapcsolják be.
A legfontosabb tudnivaló előre: a pontozásunkban mindhárom tájékoztató. Nem befolyásolják a besorolásodat. Egy hiányzó semmibe sem kerül. Azért számolunk be róluk, hogy láthasd, hol állsz, és eligazítsd az egyszerű nyereményeket – nem azért, hogy egy szám miatt pánikba essél.
Mibe kerülhet ez neked
Ezek szűk kockázatok, nem főcím-szintűek – de valósak, és a javítások ingyenesek.
-
Felbukkanó adathalász, amely távirányítást tart fenn a valódi oldaladon. COOP nélkül egy csaló oldala megnyithatja a valódi weboldaladat felbukkanó ablakban, és élő hivatkozást tart hozzá. Amíg az ügyfeled figyelme a csaló oldalán van, a támadó átirányíthatja azt a felbukkanót – a te valódi domaineddel a cím sávban – hamis bejelentkezési vagy fizetési képernyőre pontosan abban a pillanatban, amikor az ügyfél visszafordul. A COOP ‘same-origin’-re állítása elvágja ezt a vezérlő-linket, így a felbukkanó nem lehet bábozva.
-
Más oldalak ellopják a sávszélességedet (és az eszközeidet oda teszik, ahol nem akarod őket). CORP nélkül bármelyik webhely az interneten beágyazhatja a termékfotóidat, logóidat, szkriptjeidet és más fájljaidat közvetlenül a saját szerveředről – ‘hotlinking’. Az ő oldaluk minden látogatója letölti a fájlt tőled, a te sávszélesség-számládon, a te eszközödet olyan kontextusban mutatva, amelyet soha nem hagytál jóvá. A CORP ‘same-origin’-re állítása megakadályozza, hogy külső oldalak beágyazzák az erőforrásaidat.
-
Csendes adatszivárgási út haladó szintű böngésző-támadásokhoz. A cross-origin beágyazás, amely a hotlinkinget lehetővé teszi, egyben az egyik út, amelyet kifinomult, oldalsó-csatornás böngésző-támadások (a Spectre-család) használnak arra, hogy olyan adatokat olvassanak, amelyeket nem kellene. A COOP és CORP együttesen bezárja ezt az utat böngésző szinten. A legtöbb kis vállalkozásnál ez öv és gallér, de ingyenes öv és gallér.
-
Saját maga által okozott leállás a rossz fejléctől. A haladó szintű, COEP, megköveteli, hogy minden erőforrás, amelyet az oldalad betölt, explicit módon opcionális legyen. Kapcsold be tesztelés nélkül, és az analitikád, web betűtípusok, beágyazott térképek, foglalási widgetek és harmadik feles szkriptek mind abbahagyhatnak betölteni – mert egyiket sem kérték fel, hogy engedélyezzen. Ez az egyetlen mód, ahogyan ezek a fejlécek ténylegesen megárthatnak neked, és teljesen elkerülhető: ne engedélyezd a COEP-ot tesztelés nélkül.
-
Egy kihagyott egyszerű jel a gondos vevőknek. Amikor egy lehetséges ügyfél IT-csapata megvizsgálja a fejléceidet aláírás előtt, megtalálni a modern cross-origin megerősítést érvényes kis ‘ezek az emberek komolyan veszik a biztonságot’ jel. Egyedül nem nyer üzletet – de ingyenes a helyes oldalon lenni annak a főkönyvnek.
Mi valójában mindegyik
COOP — Cross-Origin-Opener-Policy (biztonságos, ajánlott)
Amikor egy másik webhely a tiedet felbukkanóval vagy window.open-nel megnyitja, a két ablak általában fenntarthat egymásra hivatkozást. Ezt a linket vissza lehet élni: a megnyitó manipulálhatja vagy átirányíthatja az ablakodat, olvashatja az URL töredékeit, és meggyőző adathalász-t állíthat elő a valódi domaineddet használva. COOP: same-origin megszakítja ezt a kapcsolatot – az ablakod elszigetelődik mindentől, ami más eredetből nyitotta meg. A normál böngészés, a saját belső linkjeid és a szokásos navigáció teljesen érintetlen.
Mit jelent a „jó” beállítás: Cross-Origin-Opener-Policy: same-origin.
CORP — Cross-Origin-Resource-Policy (biztonságos, ajánlott)
Alapból a képeid, szkriptjeid és egyéb fájljaid beágyazhatók bármely oldal által bárhol. CORP: same-origin megmondja a böngészőknek, hogy utasítsák el a cross-origin beágyazást az erőforrásaidból – tehát más oldalak nem tudják hotlinkelni az eszközeidet vagy lehúzni azokat az oldalaik. A saját oldalad pontosan ahogy korábban tölti be a saját erőforrásait; csak a külső oldalak vannak blokkolva.
Mit jelent a „jó” beállítás: Cross-Origin-Resource-Policy: same-origin. (Ha szándékosan kiszolgálsz eszközöket mások számára beágyazásra – egy nyilvános logó, nyílt API –, a fejlesztőd lazíthatja ezt az adott válaszokon.)
COEP — Cross-Origin-Embedder-Policy (haladó szintű, általában hagyd ki)
A COEP elvégzi a ‘cross-origin izolációt’: a COOP-pal kombinálva megköveteli, hogy minden az oldal által betöltött erőforrás explicit módon opcionális legyen (CORS vagy CORP révén). Helyesen megvalósítva ez felold bizonyos erőteljes böngészői funkciókat (mint a SharedArrayBuffer) és egy újabb réteget ad hozzá a Spectre-osztályú támadások ellen. De mivel az összes betöltöttektől opcionálást követel meg, könnyen tönkreteszi a harmadik feles eszközöket – analitikát, betűtípusokat, beágyazott widgeteket –, amelyek nem arra épültek, hogy opcionáljanak. A legtöbb webhelynek nincs szüksége a feloldott funkciókra, és nem kellene viselni a törési kockázatot.
Mit jelent a „jó” beállítás: annak a ritka oldalnak, amelyiknek szüksége van rá, Cross-Origin-Embedder-Policy: credentialless – a biztonságosabb érték, kevésbé valószínű, hogy törhet külső erőforrásokat, mint a require-corp. Mindenkinek másnak a hiány rendben van, és a jelentésünk nem büntet érte.
Hogyan javítsd ki (ingyenes, ~15 perc)
Add ezt az IT-személyednek vagy webfejlesztőnek – a javítás ingyenes. A COOP és CORP hozzáadása néhány egysoros beállítás a szerveredben vagy CDN-edben; nincs licenc és nincs folyamatos költség. Az egyetlen utasítás a tulajdonos számára: csináld a két biztonságosat, és ne engedélyezd a COEP-ot tesztelés nélkül.
Ezek válasz fejlécek, amelyek ott vannak beállítva, ahol az oldal válaszai keletkeznek – legkönnyebben a CDN-nél (pl. Cloudflare), ha van, egyébként a webszerver konfigurációban.
A két biztonságos fejléc (mindenkinek ajánlott)
Cloudflare — Rules → Transform Rules → Modify Response Headers → Set:
Cross-Origin-Opener-Policy=same-originCross-Origin-Resource-Policy=same-origin
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"
Ezek biztonságos hozzáadni és nem törik el a normál funkcionalitást. Az üzembe helyezés után töltsd be néhány oldalt, és erősítsd meg, hogy az oldal pontosan ahogy korábban viselkedik (kellene).
A haladó szintű fejléc (csak ha kifejezetten szükséged van rá)
Ne kapcsold be ezt staging-en való tesztelés nélkül. A COEP törhet analitikát, betűtípusokat és beágyazott widgeteket.
Cloudflare: Transform Rules → Set Cross-Origin-Embedder-Policy = credentialless.
Nginx:
add_header Cross-Origin-Embedder-Policy "credentialless" always;
Használd a credentialless-t a require-corp helyett – kevésbé valószínű, hogy tör külső erőforrásokat. Alaposan tesztelj staging-en; figyelj bármilyen harmadik feles szkriptre, betűtípusra vagy beágyazottra, amely abbahagyja a betöltést. Ha valami törik, és valójában nincs szükséged a COEP által feloldott funkciókra, egyszerűen távolítsd el a fejlécet – nincs büntetés a hiányáért.
Platform megjegyzések
- Google Workspace / Microsoft 365: ezek az e-mailedet hajtják, nem a weboldaladat, tehát itt nincs mit beállítani. Ezek a fejlécek oda tartoznak, ahol a webhelyed hosztolt (a CDN-ed, hoszt vagy szervered).
- Általános managed hosztok / site builder-ek (Wix, Squarespace, Shopify, stb.): az egyéni válasz fejlécek nem biztos, hogy konfigurálhatók az alacsonyabb csomagokon. Ha nem tudod hozzáadni, az rendben van – ezek tájékoztatóak és nem befolyásolják a besorolásodat. Az oldaladat egy CDN, mint a Cloudflare, mögé helyezés a szokásos módja a fejléckontroll megszerzésének.
- WordPress a saját tárhelyeden: állítsd be őket a webszerver konfigurációban (Nginx/Apache fent) vagy a CDN-nél, nem bővítményen keresztül, ha lehetséges – szerver/CDN szint tisztább, és minden választ lefed.
Általános hibák
- COEP engedélyezése ‘alaposnak lenni’ céljából, majd az oldal eltörése. Ez a nagy. A COEP opcionálást követel meg mindentől, amit betöltesz; kapcsold be tesztelés nélkül, és az analitikád, betűtípusok és beágyazottak eltűnhetnek. Ha nem szükséged van a böngészői funkciókra, amelyeket felold, ne állítsd be.
- Ezeket sürgősnek kezelni, mert egy szkenner megemlítette. Tájékoztatóak. A pontozásos webfejlécek (HTTPS, HSTS, CSP, kattintás-eltérítés, MIME-sniffing) előre kerülnek – javítsd azokat, mielőtt bármilyen energiát töltesz itt.
- CORP túl szigorúan beállítása, amikor ténylegesen beágyazható eszközöket teszelsz közzé. Ha szándékosan kiszolgálsz logót, badge-et vagy API-t más oldalak számára, az alap ‘same-origin’ CORP blokkolja őket. Lazítsd azt csak azokra a válaszokra, ahelyett, hogy mindenhol elhagyná a fejlécet.
- A fejléc hozzáadása az oldal/app szinten, és néhány választ kihagyva. Állítsd be őket szerver vagy CDN szinten, hogy minden választ (képek, szkriptek, API végpontok) érintsen, nem csak HTML oldalakat.
- Összekeverés az SSL lakattal. A HTTPS titkosítja a kapcsolatot; ezek a cross-site interakciót szabályozzák. Nem kapcsolódnak egymáshoz, és mindkettőt akarod.
Megjegyzés a besorolásról
Teljesen egyértelműen: e három ellenőrzés egyike sem befolyásolja a besorolásodat. A módszertanunkban tájékoztatóként vannak nyilvántartva, nulla ponttal, és egy hiányzó soha nem kerül semmibe. Azért vetjük őket felszínre, mert a két biztonságos olcsó, valódi fejlesztések, és mert hasznos a teljes kép látása – nem azért, mert egy számot kell megvédeni. Ha semmit sem teszel itt, a besorolásod pontosan ugyanolyan. Ha hozzáadod a COOP-ot és a CORP-ot, néhány valódi (ha szűk) rést zártál be ingyen. Ez az, ahogyan az oldalra kell gondolni: opcionális polírozás, egy egyértelműen megjelölt kerülendő csapdával.
GYIK
Ezek nem befolyásolják a besorolásomat – foglalkozzak-e velük egyáltalán?
Kettővel igen; eggyel valószínűleg nem. A COOP és a CORP ingyenes, perceket vesz igénybe, és nem töri el az oldaladat – valódi (ha szűk) támadási utakat zárnak be, tehát érdemes megcsinálni olcsó higiéniaként. A COEP haladó szintű és törhet harmadik feles eszközöket, tehát a legtöbb vállalkozásnak ki kell hagynia, hacsak kifejezetten nem szüksége van a böngészői funkciókra, amelyeket felold. Egyik sem változtatja meg a pontszámodat semmilyen irányban, tehát nincs sürgősség – tekintsd a két biztonságosat rendrakásnak, amikor legközelebb a fejlesztőd a weboldaladon van.
Nem vagyok technikai beállítottságú – kell-e cselekednem?
Személyesen nem, és nem sürgősen. Mivel ezek tájékoztatóak, semmi rossz nem történik a besorolásoddal, ha kihagyod. Ha szeretnéd hozzáadni a két biztonságosat, add át a 'Hogyan javítsd ki' részt annak, aki a weboldaladat vagy CDN-edet kezeli – néhány egysoros beállítás, és a javítás ingyenes. Az egyetlen, amelyet kifejezetten ki kell emelni, a COEP: mondd meg nekik, hogy ne kapcsolják be tesztelés nélkül, mert törhet analitikát és beágyazott widgeteket.
Mi a különbség ezek és a BESOROLÁST befolyásoló fejlécek között?
A pontozásos webbiztonsági fejlécek – HTTPS átirányítás, HSTS, Content-Security-Policy, kattintás-eltérítési védelem (X-Frame-Options) és MIME-sniffing elleni védelem – védenek a közös, széles körben kihasznált támadások ellen, tehát a hiányuk pontokba kerül. Az ezen az oldalon lévő három (COOP, CORP, COEP) újabb, szakosodottabb böngésző-izolációs vezérlők. Jó gyakorlat, de még nem az alapszintű elvárás, tehát pontszám nélkül számolunk be róluk. A pontozottakat tedd meg először; ezek polírozás felettük.
Tönkreteszi-e a COOP vagy CORP hozzáadása a weboldalamat vagy a partneri integrációinkat?
Az ajánlott beállítások (mindkettő 'same-origin') biztonságosra lettek tervezve. A COOP csak elvágja a linket az oldalaid által felbukkanóban megnyitott ablakokhoz – a normál böngészés, a saját oldalaid és a szokásos linkek nem érintett. A CORP csak megakadályozza a *más* oldalakat abban, hogy beágyazzák a képeidet és szkriptjeidet; a saját oldalad pontosan ahogy korábban tölt be a saját erőforrásait. Ha ténylegesen kiszolgálsz eszközöket (mint egy nyilvános logó vagy API), amelyeket más oldalak szándékoznak beágyazni, a fejlesztőd lazíthat a beállítást ezeken az adott válaszokon. Amelyik valóban kockázatot jelent a törésre, az a COEP – tartsd azt ki, hacsak nem tesztelted.
Mennyibe kerül ténylegesen a 'hotlinking'?
Amikor egy másik oldal a képedet vagy szkriptedet közvetlenül a saját szerveředből ágyazza be, a saját másolatuk hosztolása helyett, az oldaluk minden látogatója letölti azt tőled – a te sávszélesség-számlád terhére, és a te eszközödet egy kontextusban mutatva, amelyet te nem hagytál jóvá. Egy kis vállalkozásnál ez ritkán katasztrofális, de ingyenes pénz az ajtón, és a CORP ('same-origin') böngésző szinten megállítja. Ez egy finom adatszivárgási utat is bezár, amelyre a haladó szintű (Spectre-osztályú) böngészőtámadások támaszkodnak.
Mit jelent mindegyiknél a 'jó'?
COOP: egy Cross-Origin-Opener-Policy fejléc 'same-origin'-re állítva. CORP: egy Cross-Origin-Resource-Policy fejléc 'same-origin'-re állítva. COEP: egy Cross-Origin-Embedder-Policy fejléc – és ha egyáltalán beállítod, a 'credentialless' a biztonságosabb érték, mint a 'require-corp'. Jelentésünk egyszerűen jelzi, hogy mindegyik jelen van-e és mire van állítva; soha nem büntet egy hiányzóért. Törekedj a COOP és a CORP meglétére; hagyd ki a COEP-ot, hacsak nem tesztelted.