Defaults.Exposed

Defaults.ExposedOpravy › Hlavičky cross-origin izolácie (COOP / CORP / COEP)

Ako opraviť Hlavičky cross-origin izolácie (COOP / CORP / COEP)

Tri voliteľné inštrukcie prehliadača, ktoré kontrolujú, ako iné webové stránky môžu interagovať s vašou — otváranie jej v popupoch, vkladanie jej obrázkov a skriptov alebo sťahovanie jej zdrojov do ich vlastných stránok. Sú to moderné posilnenia, nie nevyhnutné základy, a v našom hodnotení sú informatívne: ich absencia neznižuje vaše hodnotenie. Ale dve bezpečné uzatvárajú tichú phishingovú medzeru a krádež šírky pásma, a opatrný IT tím kupujúceho si všimne, keď sú prítomné.

Podstata pre vaše podnikanie: Dve z týchto troch hlavičiek uzatvárajú sofistikovaný popup-phishing a zastavujú iné stránky od hotlinkovania vašich obrázkov a skriptov (čo vás stojí šírku pásma a môže unikať dáta). Sú zadarmo, vývojárovi trvajú asi 15 minút a nič nepoškodia. Tretia je pokročilá a môže poškodiť analytiku, písma a vložené prvky — väčšina firiem by ju mala nechať vypnutú. Žiadna z nich neovplyvní vaše hodnotenie, preto ich považujte za leštenie, nie paniku: urobte tie dve bezpečné, preskočte riskantnú, pokiaľ ju výslovne nepotrebujete.

Čo vás to môže stáť

Prečo na tom záleží. Toto sú výhľadové hlavičky posilňujúce prehliadač. V našej metodike sú všetky tri informatívne — sú zaregistrované s nulou bodov a nikdy nepohnú vaším hodnotením — pretože sú to pokročilé kontroly, bez ktorých môže stránka legitímne fungovať, a jedna z nich môže uškodiť, ak je nesprávne aplikovaná. Reportujeme o nich, aby ste videli, kde stojíte. Tie dve bezpečné (COOP a CORP) skutočne stojí za pridanie: zadarmo, rýchlo a uzatvárajú skutočné medzery popup-phishingu a krádeže zdrojov bez toho, aby niečo poškodili.

Čo to je, v jednoduchých slovách

Keď niekto navštívi váš web, ich prehliadač nenačíta vaše stránky v izolácii — tiež rozhoduje, ako iné webové stránky môžu interagovať s vašou. Môže iná stránka otvoriť vašu stránku vo vyskakovacom okne a udržiavať si ju? Môže iná stránka načítať vaše obrázky a skripty do svojich vlastných stránok? Môže vaša vlastná stránka bezpečne používať určité výkonné, uzamknuté funkcie prehliadača?

Tieto tri hlavičky sú krátke, neviditeľné inštrukcie, ktoré váš web posiela prehliadaču každého návštevníka a odpovedajú presne na tieto otázky. Sú známe podľa svojich iniciálov:

Dve z nich (COOP a CORP) sú bezpečné na pridanie a skutočne užitočné. Tretia (COEP) je pokročilá a môže poškodiť veci, ak je zapnutá neopatrne.

Najdôležitejšia vec, ktorú treba vedieť vopred: v našom hodnotení sú všetky tri informatívne. Neovplyvňujú vaše hodnotenie. Chýbajúca vás nestojí nič. Reportujeme o nich, aby ste videli, kde stojíte a mohli si upratať ľahké výhry — nie preto, aby ste panikárili kvôli číslu.

Čo vás to môže stáť

Toto sú niche riziká, nie titulkové — ale sú skutočné a opravy sú zadarmo.

Čo každá z nich v skutočnosti je

COOP — Cross-Origin-Opener-Policy (bezpečná, odporúčaná)

Keď iná webová stránka otvorí vašu pomocou popupu alebo window.open, oba okná môžu normálne udržiavať referenciu na druhé. Toto spojenie môže byť zneužité: otvárač môže manipulovať alebo presmerovať vaše okno, čítať fragmenty jeho URL a zinscenovať presvedčivý phishing pomocou vašej skutočnej domény. COOP: same-origin prerušuje tento vzťah — vaše okno sa stane izolovaným od čohokoľvek, čo ho otvorilo naprieč pôvodmi. Normálne prehliadanie, vaše vlastné interné odkazy a bežná navigácia nie sú nijako ovplyvnené.

Ako vyzerá ‘dobré’: Cross-Origin-Opener-Policy: same-origin.

CORP — Cross-Origin-Resource-Policy (bezpečná, odporúčaná)

Predvolene môžu vaše obrázky, skripty a iné súbory vkladať akékoľvek stránky kdekoľvek. CORP: same-origin hovorí prehliadačom, aby odmietli cross-origin vkladanie vašich zdrojov — takže iné stránky nemôžu hotlinkovať vaše materiály ani ich sťahovať do svojich stránok. Vaša vlastná stránka načítava vlastné zdroje presne ako predtým; blokované sú len externé stránky.

Ako vyzerá ‘dobré’: Cross-Origin-Resource-Policy: same-origin. (Ak zámerne publikujete materiály pre vkladanie inými — verejné logo, otvorené API — váš vývojár môže toto uvoľniť práve na tých konkrétnych odpovediach.)

COEP — Cross-Origin-Embedder-Policy (pokročilá, zvyčajne nechajte vypnutú)

COEP dokončuje “cross-origin izoláciu”: v kombinácii s COOP požaduje, aby každý zdroj, ktorý vaša stránka načítava, explicitne súhlasil (cez CORS alebo CORP). Správne urobené to odomyká určité výkonné funkcie prehliadača a pridáva ďalšiu vrstvu proti Spectre-class útokom. Ale pretože požaduje súhlas od všetkého, čo načítavate, ľahko poruší nástroje tretích strán — analytiku, písma, vložené widgety — ktoré neboli postavené na súhlas. Väčšina webov nepotrebuje funkcie, ktoré odomyká, a nemala by niesť riziko poruchy.

Ako vyzerá ‘dobré’:* pre vzácny web, ktorý to potrebuje, Cross-Origin-Embedder-Policy: credentialless — bezpečnejšia hodnota, menej pravdepodobné, že poruší externé zdroje ako require-corp. Pre všetkých ostatných chýbajúca je v poriadku a náš report vás za to nepotrestá.

Ako to opraviť (zadarmo, ~15 minút)

Odovzdajte to vášmu IT pracovníkovi alebo webovému vývojárovi — oprava je zadarmo. Pridanie COOP a CORP je pár jednoriadkových nastavení na vašom serveri alebo CDN; nie je žiadna licencia a žiadne priebežné náklady. Jedinou inštrukciou pre vlastníka je: urobte tie dve bezpečné a nezapínajte COEP bez testovania.

Toto sú hlavičky odpovede, nastavené tam, kde sa produkujú odpovede vašej stránky — najjednoduchšie na vašej CDN (napr. Cloudflare), ak ju máte, inak v konfigurácii webového servera.

Dve bezpečné hlavičky (odporúčané pre všetkých)

Cloudflare — Pravidlá → Transformovať pravidlá → Upraviť hlavičky odpovede → Nastaviť:

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"

Tieto sú bezpečné na pridanie a nepoškodia normálnu funkčnosť. Po nasadení načítajte niekoľko stránok a potvrďte, že stránka sa správa presne ako predtým (malo by to byť tak).

Pokročilá hlavička (len ak ju výslovne potrebujete)

Nezapínajte toto bez testovania v stagingu. COEP môže poškodiť analytiku, písma a vložené widgety.

Cloudflare: Transformovať pravidlá → Nastaviť Cross-Origin-Embedder-Policy = credentialless.

Nginx:

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

Použite credentialless namiesto require-corp — je menej pravdepodobné, že poruší externé zdroje. Testujte dôkladne v stagingu; dávajte pozor na akýkoľvek skript tretej strany, písmo alebo vložený prvok, ktorý prestane načítavať. Ak sa niečo poruší a vy skutočne nepotrebujete funkcie, ktoré COEP odomyká, jednoducho hlavičku odstráňte — za jej neprítomnosť nie je žiadna sankcia.

Bežné chyby

Poznámka k hodnoteniu

Aby sme boli úplne otvorení: žiadna z týchto troch kontrol neovplyvňuje vaše hodnotenie. Sú zaregistrované v našej metodike ako informatívne, s nulou bodov, a chýbajúca vás nikdy nič nestojí. Uvádzame ich, pretože tie dve bezpečné sú lacné, skutočné zlepšenia a pretože vidieť celý obraz je užitočné — nie preto, že existuje číslo, ktoré treba brániť. Ak tu nič neurobíte, vaše hodnotenie je presne rovnaké. Ak pridáte COOP a CORP, zadarmo ste uzatvorili pár skutočných (aj keď niche) medzier. Toto je správny spôsob, ako čítať túto stránku: voliteľné leštenie s jednou jasne označenou pascou, ktorej sa treba vyhnúť.

FAQ

Tieto neovplyvňujú moje hodnotenie — mám sa tým vôbec zaoberať?

Dve z nich áno; jedna pravdepodobne nie. COOP a CORP sú zadarmo, trvajú minúty a nepoškodia vašu stránku — uzatvárajú skutočné (aj keď niche) útočné cesty, takže sa oplatí ich urobiť ako lacnú hygienu. COEP je pokročilá a môže poškodiť nástroje tretích strán, takže väčšina firiem by ju mala nechať vypnutú, pokiaľ výslovne nepotrebujú funkcie prehliadača, ktoré odomyká. Žiadna z troch nezmení vaše skóre tak či tak, preto nie je urgentnosť — zaobchádzajte s tými dvoma bezpečnými ako s upratovaním nabudúce, keď bude váš vývojár na stránke.

Nie som technicky zdatný — je to niečo, čo musím riešiť?

Nie osobne a nie naliehavo. Keďže sú informatívne, ak ich preskočíte, nič zlé sa nestane vášmu hodnoteniu. Ak by ste chceli pridať tie dve bezpečné, odovzdajte sekciu 'Ako to opraviť' tomu, kto spravuje váš web alebo CDN — je to pár jednoriadkových nastavení a oprava je zadarmo. Jedinou, ktorú treba výslovne označiť, je COEP: povedzte im, aby ju nezapínali bez testovania, pretože môže poškodiť analytiku a vložené widgety.

Aký je rozdiel medzi týmito a hlavičkami, ktoré skutočne ovplyvňujú moje hodnotenie?

Hodnotené hlavičky webovej bezpečnosti — HTTPS presmerovanie, HSTS, Content Security Policy, ochrana pred clickjackingom (X-Frame-Options) a ochrana pred MIME-sniffingom — bránia bežným, široko využívaným útokom, takže ich absencia stojí body. Tri na tejto stránke (COOP, CORP, COEP) sú novšie, špecializovanejšie kontroly izolácie prehliadača. Sú dobrým zvykom, ale ešte nie sú základným očakávaním, preto ich reportujeme bez hodnotenia. Urobte najprv hodnotené; tieto sú leštením na vrchu.

Poškodí pridanie COOP alebo CORP moju webovú stránku alebo integrácie partnerov?

Odporúčané nastavenia (oboje 'same-origin') sú navrhnuté tak, aby boli bezpečné. COOP len preruší spojenie s oknami, ktoré vaša stránka otvára vo vyskakovacích oknách — normálne prehliadanie, vaše vlastné stránky a bežné odkazy nie sú nijako ovplyvnené. CORP len zastavuje *iné* stránky pred vkladaním vašich obrázkov a skriptov; vaša vlastná stránka načítava vlastné zdroje presne ako predtým. Ak skutočne slúžite aktíva (ako verejné logo alebo API), ktoré iné stránky majú vkladať, váš vývojár môže použiť permisívnejšie nastavenie práve na tieto konkrétne odpovede. Tou, ktorá skutočne riskuje poruchu, je COEP — nechajte túto vypnutú pokiaľ nebola testovaná.

Čo ma v skutočnosti stojí 'hotlinking'?

Keď iná stránka vkladá váš obrázok alebo skript priamo z vášho servera namiesto toho, aby hostila vlastnú kópiu, každý návštevník ich stránky ho stiahne od vás — na vašom účte za šírku pásma a zobrazuje váš materiál v kontexte, ktorý ste neschválili. Pre malú firmu je to zriedka katastrofálne, ale sú to zadarmo peniaze preč z dverí a CORP ('same-origin') to zastaví na úrovni prehliadača. Tiež uzatvára jemnú cestu úniku dát, na ktorú sa spolieha pokročilé (Spectre-class) útoky prehliadača.

Ako vyzerá 'dobré' nastavenie pre každú z nich?

COOP: hlavička Cross-Origin-Opener-Policy nastavená na 'same-origin'. CORP: hlavička Cross-Origin-Resource-Policy nastavená na 'same-origin'. COEP: hlavička Cross-Origin-Embedder-Policy — a ak ju vôbec nastavíte, 'credentialless' je bezpečnejšia hodnota ako 'require-corp'. Náš report jednoducho zaznamenáva, či je každá prítomná a na čo je nastavená; nikdy vás netrestá za chýbajúcu. Cieľte na prítomné COOP a CORP; nechajte COEP neprítomné, pokiaľ ste ho netestovali.