Defaults.Exposed › Pembaikan › Pengepala pengasingan merentas-asal (COOP / CORP / COEP)
Cara memperbaiki Pengepala pengasingan merentas-asal (COOP / CORP / COEP)
Tiga arahan pelayar pilihan yang mengawal bagaimana laman web lain dibenarkan untuk berinteraksi dengan laman anda — membukanya dalam popup, menanam imej dan skrip anda, atau menarik sumber anda ke dalam halaman mereka sendiri. Mereka adalah pengerasan moden, bukan kemestian asas, dan dalam pemarkahan kami mereka adalah maklumat: tiada yang hilang tidak menurunkan gred anda. Tetapi dua yang selamat menutup jurang pancingan data popup yang senyap dan kecurian lebar jalur, dan pasukan IT pembeli yang teliti akan perasan apabila mereka hadir.
Kesimpulan untuk perniagaan anda: Dua daripada tiga pengepala ini menutup pancingan data popup yang canggih dan menghentikan laman lain daripada menghubung terus imej dan skrip anda (yang mengenakan kos lebar jalur kepada anda dan boleh membocorkan data). Mereka percuma, mengambil masa pembangun kira-kira 15 minit, dan tidak akan memutuskan apa-apa. Yang ketiga adalah lanjutan dan boleh memutuskan analitik, fon dan embed — kebanyakan perniagaan harus membiarkannya dimatikan. Tiada satu pun daripada mereka mempengaruhi gred anda, jadi anggap mereka sebagai kemasan, bukan kepanikan: lakukan dua yang selamat, langkau yang berisiko kecuali anda khusus memerlukannya.
Apakah kos yang boleh timbul
- Penipu membuka laman sebenar anda dalam tetingkap popup dan mengekalkan kawalan jauh — secara senyap menghala semula pelanggan anda kepada log masuk palsu pada saat mereka alihkan pandangan. Pengepala yang selamat (COOP) memutuskan pautan kawalan itu sepenuhnya.
- Laman web lain menanam foto produk, logo dan skrip anda terus dari pelayan anda (menghubung terus) — anda membayar lebar jalur setiap kali pengunjung mereka memuatkan halaman, dan aset anda muncul pada laman yang anda tidak pernah akan luluskan.
- Pasukan IT prospek menjalankan imbasan pengepala sebelum menandatangani dan mendapati anda telah menambah pengerasan merentas-asal moden — isyarat kecil, tetapi ia meletakkan anda dalam lajur 'mereka serius tentang ini' dan bukannya 'minimum sahaja'.
- Pembangun, cuba untuk teliti, menghidupkan pengepala pengasingan lanjutan (COEP) tanpa menguji — dan memutuskan Google Analytics, fon web dan widget tempahan anda semalaman. Mengetahui pengepala mana yang selamat dan mana yang berisiko mengelakkan gangguan sendiri-inflicted.
- Senarai semak juruaudit menyebut pengasingan merentas-asal; anda lebih suka menunjukkan 'hadir dan betul' pada dua yang selamat berbanding menerangkan mengapa tiada yang ada.
Mengapa ia penting. Ini adalah pengepala pengerasan pelayar yang memandang ke hadapan. Dalam metodologi kami ketiga-tiga adalah maklumat — mereka didaftarkan dengan sifar mata dan tidak pernah menggerakkan gred anda — kerana mereka adalah kawalan lanjutan yang laman boleh sah beroperasi tanpanya, dan salah satunya boleh mendatangkan bahaya jika digunakan dengan salah. Kami melaporkannya supaya anda boleh melihat di mana anda berdiri. Dua yang selamat (COOP dan CORP) benar-benar berbaloi ditambah: percuma, pantas, dan mereka menutup jurang pancingan data popup dan kecurian sumber yang nyata tanpa memutuskan apa-apa.
Apa ini, dalam bahasa mudah
Apabila seseorang melawati laman web anda, pelayar mereka tidak hanya memuatkan halaman anda secara berasingan — ia juga memutuskan bagaimana laman web lain dibenarkan untuk berinteraksi dengan laman anda. Bolehkah laman lain membuka laman anda dalam popup dan mengekalkannya? Bolehkah laman lain mencapai merentasi dan menanam imej dan skrip anda dalam halaman mereka sendiri? Bolehkah laman anda sendiri menggunakan ciri pelayar tertentu yang berkuasa dan terkunci?
Tiga pengepala ini adalah arahan pendek dan tidak kelihatan yang laman web anda hantar kepada pelayar setiap pengunjung untuk menjawab tepat soalan-soalan itu. Mereka dikenali dengan inisial mereka:
- COOP — Cross-Origin-Opener-Policy. Mengawal sama ada laman lain yang membuka laman anda dalam tetingkap popup boleh mengekalkan kawalan jauh ke atasnya.
- CORP — Cross-Origin-Resource-Policy. Mengawal sama ada laman lain dibenarkan untuk menanam imej, skrip dan fail lain anda dalam halaman mereka sendiri.
- COEP — Cross-Origin-Embedder-Policy. Kawalan lanjutan yang, digabungkan dengan COOP, “mengasingkan” halaman anda supaya ia boleh menggunakan ciri pelayar tertentu yang berkuasa dengan selamat.
Dua daripada mereka (COOP dan CORP) selamat untuk ditambah dan benar-benar berguna. Yang ketiga (COEP) adalah lanjutan dan boleh memutuskan perkara jika dihidupkan dengan cuai.
Perkara paling penting yang perlu diketahui dari awal: dalam pemarkahan kami, ketiga-tiga adalah maklumat. Mereka tidak mempengaruhi gred anda. Yang tiada tidak mengenakan kos apa-apa kepada anda. Kami melaporkannya supaya anda boleh melihat di mana anda berdiri dan mengemas kini kemenangan mudah — bukan supaya anda panik tentang nombor.
Apa yang ini boleh koskan anda
Ini adalah risiko niche, bukan risiko utama — tetapi ia adalah nyata, dan pembetulan adalah percuma.
-
Pancingan data popup yang mengekalkan kawalan jauh ke atas laman sebenar anda. Tanpa COOP, halaman penipu boleh membuka laman web sebenar anda dalam tetingkap popup dan memegang rujukan aktif kepadanya. Manakala perhatian pelanggan anda berada pada halaman penipu, penyerang boleh menghala semula popup itu — domain sebenar anda dalam bar alamat — kepada skrin log masuk atau pembayaran palsu tepat pada saat pelanggan berpaling ke belakang. COOP ditetapkan kepada “same-origin” memutuskan pautan kawalan itu supaya popup tidak boleh dijadikan boneka.
-
Laman lain mencuri lebar jalur anda (dan meletakkan aset anda di tempat yang anda tidak mahu). Tanpa CORP, mana-mana laman web di internet boleh menanam foto produk, logo, skrip dan fail lain anda terus dari pelayan anda — “menghubung terus.” Setiap pengunjung ke halaman mereka memuat turun fail dari anda, pada bil lebar jalur anda, dengan aset anda muncul dalam konteks yang anda tidak pernah luluskan. CORP ditetapkan kepada “same-origin” menghentikan laman luar menanam sumber anda.
-
Laluan kebocoran data yang senyap untuk serangan pelayar lanjutan. Penghubungan terus merentas-asal yang sama yang membolehkan hotlinking adalah juga salah satu laluan yang serangan pelayar canggih dan saluran sisi (keluarga Spectre) gunakan untuk membaca data yang tidak sepatutnya. COOP dan CORP bersama menutup laluan itu pada peringkat pelayar. Bagi kebanyakan perniagaan kecil ini adalah tali-pinggang-dan-penyangga, tetapi ia adalah tali-pinggang-dan-penyangga percuma.
-
Gangguan yang dilakukan sendiri dari pengepala yang salah. Yang lanjutan, COEP, menuntut bahawa setiap sumber yang laman anda muatkan secara eksplisit mendaftar masuk. Hidupkannya tanpa menguji dan analitik, fon web, peta terbenam, widget tempahan dan skrip pihak ketiga anda semuanya boleh berhenti memuatkan — kerana tiada satu pun daripada mereka diminta untuk mendaftar masuk. Ini adalah satu-satunya cara pengepala ini sebenarnya boleh menyakiti anda, dan ia boleh dielakkan sepenuhnya: jangan hidupkan COEP tanpa menguji.
-
Isyarat mudah yang terlepas kepada pembeli yang teliti. Apabila pasukan IT prospek mengimbas pengepala anda sebelum menandatangani, mendapati pengerasan merentas-asal moden tersedia adalah isyarat kecil tetapi nyata “orang-orang ini serius tentang keselamatan.” Ia tidak akan memenangi urusan perniagaan dengan sendirinya — tetapi ia percuma untuk berada di sebelah kanan daftar itu.
Apa yang setiap satu sebenarnya
COOP — Cross-Origin-Opener-Policy (selamat, disyorkan)
Apabila laman web lain membuka laman anda menggunakan popup atau window.open, kedua-dua tetingkap biasanya boleh mengekalkan rujukan kepada satu sama lain. Pautan itu boleh disalahgunakan: pembuka boleh memanipulasi atau menghala semula tetingkap anda, membaca serpihan URL-nya, dan mementaskan pancingan data yang meyakinkan menggunakan domain sebenar anda. COOP: same-origin memutuskan hubungan itu — tetingkap anda menjadi terpencil dari apa sahaja yang membukanya merentasi asal. Penyemakan imbas biasa, pautan dalaman anda sendiri, dan navigasi biasa tidak terjejas sepenuhnya.
Apa yang “baik” kelihatan: Cross-Origin-Opener-Policy: same-origin.
CORP — Cross-Origin-Resource-Policy (selamat, disyorkan)
Secara lalai, imej, skrip dan fail lain anda boleh ditanam oleh mana-mana laman di mana-mana. CORP: same-origin memberitahu pelayar untuk menolak penghubungan merentas-asal sumber anda — jadi laman lain tidak boleh menghubung terus aset anda atau menariknya ke dalam halaman mereka. Laman anda sendiri masih memuatkan sumber-sumbernya sendiri sama seperti sebelumnya; hanya laman luar yang disekat.
Apa yang “baik” kelihatan: Cross-Origin-Resource-Policy: same-origin. (Jika anda sengaja menerbitkan aset untuk orang lain benam — logo awam, API terbuka — pembangun anda boleh melonggarkan ini pada respons khusus tersebut.)
COEP — Cross-Origin-Embedder-Policy (lanjutan, biasanya biarkan dimatikan)
COEP melengkapkan “pengasingan merentas-asal”: digabungkan dengan COOP, ia memerlukan bahawa setiap sumber yang halaman anda muatkan secara eksplisit mendaftar masuk (melalui CORS atau CORP). Dilakukan dengan betul, ini membuka ciri pelayar tertentu yang berkuasa (seperti SharedArrayBuffer) dan menambah lapisan lain terhadap serangan kelas Spectre. Tetapi kerana ia menuntut pendaftaran masuk dari semua yang anda muatkan, ia dengan mudah memutuskan alat pihak ketiga — analitik, fon, widget terbenam — yang tidak dibina untuk mendaftar masuk. Kebanyakan laman web tidak memerlukan ciri yang dibukanya dan tidak sepatutnya menanggung risiko pemecahan.
Apa yang “baik” kelihatan: untuk laman yang jarang memerlukannya, Cross-Origin-Embedder-Policy: credentialless — nilai yang lebih selamat, kurang berkemungkinan memutuskan sumber luar daripada require-corp. Bagi semua orang, tiada adalah baik, dan laporan kami tidak akan menghukum anda kerananya.
Cara membetulkannya (percuma, ~15 minit)
Serahkan ini kepada orang IT atau pembangun web anda — pembetulan adalah percuma. Menambah COOP dan CORP adalah beberapa tetapan satu baris pada pelayan atau CDN anda; tiada lesen dan tiada kos berterusan. Satu-satunya arahan untuk pemilik adalah: lakukan dua yang selamat, dan jangan hidupkan COEP tanpa menguji.
Ini adalah pengepala respons, ditetapkan di mana sahaja respons laman anda dihasilkan — paling mudah di CDN anda (mis. Cloudflare) jika anda ada, sebaliknya dalam konfigurasi pelayan web anda.
Dua pengepala yang selamat (disyorkan untuk semua orang)
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"
Ini selamat untuk ditambah dan tidak akan memutuskan fungsi biasa. Selepas menggunakan, muatkan beberapa halaman dan sahkan laman berkelakuan sama seperti sebelumnya (ia sepatutnya).
Pengepala lanjutan (hanya jika anda khusus memerlukannya)
Jangan hidupkan ini tanpa menguji dalam pementasan dahulu. COEP boleh memutuskan analitik, fon dan widget terbenam.
Cloudflare: Transform Rules → Set Cross-Origin-Embedder-Policy = credentialless.
Nginx:
add_header Cross-Origin-Embedder-Policy "credentialless" always;
Gunakan credentialless dan bukannya require-corp — ia kurang berkemungkinan memutuskan sumber luar. Uji dengan teliti dalam pementasan; perhatikan sebarang skrip pihak ketiga, fon atau embed yang berhenti memuatkan. Jika sesuatu rosak dan anda sebenarnya tidak memerlukan ciri yang COEP buka, hanya alih pengepala — tiada penalti kerana tidak memilikinya.
Nota platform
- Google Workspace / Microsoft 365: ini menjanakan e-mel anda, bukan laman web anda, jadi tiada yang perlu ditetapkan di sini. Pengepala ini adalah milik apa sahaja yang menjadi tuan rumah laman web anda (CDN, hos, atau pelayan anda).
- Hos dan pembina laman yang diuruskan biasa (Wix, Squarespace, Shopify dan yang serupa): pengepala respons tersuai mungkin tidak boleh dikonfigurasi pada pelan yang lebih rendah. Jika anda tidak boleh menambahnya, tidak mengapa — ini adalah maklumat dan tidak mempengaruhi gred anda. Meletakkan laman anda di belakang CDN seperti Cloudflare adalah cara biasa untuk mendapat kawalan pengepala.
- WordPress pada pengehosan anda sendiri: tetapkan mereka dalam konfigurasi pelayan web anda (Nginx/Apache di atas) atau melalui CDN anda, bukan dalam plugin jika boleh — peringkat pelayan/CDN adalah lebih bersih dan berlaku pada setiap respons.
Kesilapan biasa
- Menghidupkan COEP “untuk teliti” dan memutuskan laman. Ini adalah yang besar. COEP menuntut pendaftaran masuk dari semua yang anda muatkan; hidupkannya tanpa menguji dan analitik, fon dan embed anda boleh hilang. Jika anda tidak memerlukan ciri pelayar yang dibukanya, jangan tetapkannya.
- Menganggap ini mendesak kerana pengimbas menyebutnya. Mereka adalah maklumat. Pengepala web yang dinilai (HTTPS, HSTS, CSP, clickjacking, penghirupan MIME) datang dahulu — betulkan yang itu sebelum menghabiskan sebarang tenaga di sini.
- Menetapkan CORP terlalu ketat apabila anda sebenarnya menerbitkan aset yang boleh ditanam. Jika anda sengaja menyajikan logo, lencana atau API untuk laman lain untuk digunakan, CORP
same-originyang menyeluruh akan menyekat mereka. Longgarkan hanya pada respons tersebut daripada meninggalkan pengepala di mana-mana. - Menambah pengepala pada peringkat halaman/app dan terlepas beberapa respons. Tetapkan pada peringkat pelayan atau CDN supaya ia berlaku pada setiap respons (imej, skrip, titik akhir API), bukan hanya halaman HTML.
- Mengelirukan ini dengan kunci SSL. HTTPS menyulitkan sambungan; ini mengawal interaksi merentas-laman. Mereka tidak berkaitan, dan anda mahu kedua-duanya.
Nota tentang gred
Untuk jelas sepenuhnya: tiada satu pun daripada tiga semakan ini mempengaruhi gred anda. Mereka didaftarkan dalam metodologi kami sebagai maklumat, dengan sifar mata, dan yang tiada tidak pernah mengenakan kos apa-apa kepada anda. Kami menampakkan mereka kerana dua yang selamat adalah penambahbaikan yang murah dan tulen dan kerana melihat gambaran penuh adalah berguna — bukan kerana ada nombor untuk dipertahankan. Jika anda tidak melakukan apa-apa di sini, gred anda adalah tepat sama. Jika anda menambah COOP dan CORP, anda telah menutup beberapa jurang yang nyata (walaupun niche) secara percuma. Itulah cara yang betul untuk memikirkan halaman ini: kemasan pilihan, dengan satu perangkap yang dilabelkan dengan jelas untuk dielakkan.
Soalan Lazim
Ini tidak mempengaruhi gred saya — adakah saya perlu ambil peduli?
Dua daripada mereka, ya; satu, mungkin tidak. COOP dan CORP adalah percuma, mengambil masa beberapa minit, dan tidak akan memutuskan laman anda — mereka menutup laluan serangan yang nyata (walaupun niche), jadi mereka berbaloi dilakukan sebagai kebersihan murah. COEP adalah lanjutan dan boleh memutuskan alat pihak ketiga, jadi kebanyakan perniagaan harus membiarkannya dimatikan kecuali mereka khusus memerlukan ciri pelayar yang dibukanya. Tiada satu pun daripada tiga mengubah skor anda sama ada cara, jadi tiada kemendesakan — anggap dua yang selamat sebagai kemas-kini lain kali pembangun anda berada dalam laman.
Saya bukan orang teknikal — adakah ini perlu saya tindakan?
Tidak secara peribadi, dan tidak segera. Kerana ini adalah maklumat, tiada yang buruk berlaku pada gred anda jika anda langkauinya. Jika anda ingin menambah dua yang selamat, serahkan bahagian 'Cara membetulkannya' kepada sesiapa yang menguruskan laman web atau CDN anda — ia adalah beberapa tetapan satu baris dan pembetulan adalah percuma. Satu-satunya yang perlu ditandakan secara eksplisit adalah COEP: beritahu mereka untuk tidak menghidupkannya tanpa menguji, kerana ia boleh memutuskan analitik dan widget terbenam.
Apa perbezaan antara ini dan pengepala yang mempengaruhi gred saya?
Pengepala keselamatan web yang dinilai — pengalihan HTTPS, HSTS, Content-Security-Policy, perlindungan clickjacking (X-Frame-Options), dan perlindungan penghirupan MIME — mempertahankan terhadap serangan biasa yang dieksploitasi secara meluas, jadi tiada yang merugikan mata. Tiga pada halaman ini (COOP, CORP, COEP) adalah kawalan pengasingan pelayar yang lebih baru dan lebih khusus. Mereka adalah amalan baik tetapi belum lagi jangkaan garis dasar, jadi kami melaporkannya tanpa memarkahnya. Lakukan yang dinilai dahulu; ini adalah kemasan di atas.
Adakah menambah COOP atau CORP akan memutuskan laman web atau integrasi rakan kongsi saya?
Tetapan yang disyorkan (kedua-duanya 'same-origin') direka untuk selamat. COOP hanya memutuskan pautan ke tetingkap yang laman anda buka dalam popup — penyemakan imbas biasa, halaman anda sendiri, dan pautan biasa tidak terjejas. CORP hanya menghentikan laman *lain* daripada menanam imej dan skrip anda; laman anda sendiri memuatkan sumber-sumbernya sendiri sama seperti sebelumnya. Jika anda sebenarnya menyajikan aset (seperti logo awam atau API) yang laman lain sepatutnya benam, pembangun anda boleh menggunakan tetapan yang lebih permisif pada respons khusus tersebut. Yang benar-benar berisiko pecah adalah COEP — jauhkan yang itu kecuali diuji.
Apa yang 'menghubung terus' sebenarnya mengenakan kos saya?
Apabila laman lain menanam imej atau skrip anda terus dari pelayan anda daripada mengehoskan salinan mereka sendiri, setiap pengunjung ke halaman mereka memuat turunnya dari anda — pada bil lebar jalur anda, dan menunjukkan aset anda dalam konteks yang anda tidak luluskan. Untuk perniagaan kecil ia jarang malapetaka, tetapi ia wang percuma keluar, dan CORP ('same-origin') menghentikannya pada peringkat pelayar. Ia juga menutup laluan kebocoran data yang halus yang serangan pelayar lanjutan (kelas Spectre) bergantung padanya.
Apa yang 'baik' kelihatan untuk setiap satu ini?
COOP: pengepala Cross-Origin-Opener-Policy ditetapkan kepada 'same-origin'. CORP: pengepala Cross-Origin-Resource-Policy ditetapkan kepada 'same-origin'. COEP: pengepala Cross-Origin-Embedder-Policy — dan jika anda menetapkannya langsung, 'credentialless' adalah nilai yang lebih selamat daripada 'require-corp'. Laporan kami hanya mencatat sama ada setiap ada dan apa nilainya; ia tidak pernah menghukum anda kerana tiada. Sasarkan COOP dan CORP hadir; biarkan COEP tiada kecuali anda telah mengujinya.