Defaults.Exposed

Defaults.ExposedJaví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

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:

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.

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:

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

Általános hibák

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.