Defaults.Exposed › Düzeltmeler › Çapraz kaynak izolasyon başlıkları (COOP / CORP / COEP)
Çapraz kaynak izolasyon başlıkları (COOP / CORP / COEP) nasıl düzeltilir
Diğer web sitelerinin sizinkiyle nasıl etkileşim kurmasına izin verildiğini kontrol eden üç isteğe bağlı tarayıcı talimatı — açılır pencerede açma, resimlerini ve komut dosyalarını yerleştirme veya kaynaklarını kendi sayfalarına çekme. Bunlar temel bir zorunluluk değil modern sertleştirmedir ve puanlamamızda yalnızca bilgilendiricidir: eksikliği notunuzu düşürmez. Ama ikisi güvenli olan, kimlik avı ve bant genişliği hırsızlığı açığını kapatır ve dikkatli bir alıcının BT ekibi mevcut olduklarında fark eder.
İşletmeniz için sonuç: Bu üç başlıktan ikisi sofistike açılır pencere kimlik avını kapatır ve diğer sitelerin resimlerinizi ve komut dosyalarınızı doğrudan bağlamasını (hotlinking) durdurur — bu size bant genişliği maliyetine yol açar ve veri sızdırabilir. Ücretsizdir, bir geliştirici için yaklaşık 15 dakika alır ve hiçbir şeyi bozmaz. Üçüncüsü gelişmiş ve analizleri, yazı tiplerini ve gömülü içerikleri bozabilir — çoğu işletme bunu kapalı bırakmalıdır. Hiçbiri notunuzu etkilemez, dolayısıyla bunlara panik değil cila gözüyle bakın: iki güvenliyi yapın, test etmeden riskli olanı atlayın.
Bu size ne mal olabilir
- Dolandırıcı gerçek sitenizi açılır pencerede açar ve uzaktan kontrolünü elinde tutar — müşteri başka tarafa bakınca gerçek URL ile sahte giriş ekranına sessizce yönlendirerek. Güvenli başlık (COOP) bu kontrol bağlantısını tamamen keser.
- Diğer web siteleri ürün fotoğraflarınızı, logolarınızı ve komut dosyalarınızı doğrudan sunucunuzdan yerleştirir (hotlinking) — ziyaretçileri sayfayı her yükleyişinde bant genişliğini siz ödersiniz ve varlıklarınız asla onaylayamayacağınız sitelerde görünür.
- Potansiyel müşterinin güvenlik ekibi imzalamadan önce başlık taraması yapar ve modern çapraz kaynak sertleştirmesi eklediğinizi görür — küçük işaret ama sizi 'bunu ciddiye alıyorlar' sütununa koyar.
- Test etmeden gelişmiş izolasyon başlığını (COEP) açan bir geliştirici — Google Analytics, web yazı tipleri ve gömülü rezervasyon widget'ını bir gecede bozar. Hangi başlığın güvenli, hangisinin riskli olduğunu bilmek kendi kendine verilen kesintiden kaçındırır.
- Denetçinin kontrol listesi çapraz kaynak izolasyonundan bahsediyor; iki güvenlide 'mevcut ve doğru' göstermek neden hiçbir şeyin olmadığını açıklamaktan iyidir.
Neden önemlidir. Bunlar ileriye dönük tarayıcı sertleştirme başlıklarıdır. Metodolojimizde her üçü de bilgilendiricidir — sıfır puanla kaydedilmiş olup notunuzu asla hareket ettirmezler — çünkü bunlar bir sitenin meşru olarak sıfırsız çalışabileceği gelişmiş kontrollerdir ve birinin yanlış uygulandığında zarar verebilir. Durumunuzu görebilmeniz için bunları raporluyoruz. İki güvenli olan (COOP ve CORP) gerçekten eklemeye değer: ücretsiz, hızlı ve herhangi bir şeyi bozmadan gerçek açılır pencere kimlik avı ve kaynak hırsızlığı açıklarını kapatıyor.
Sade dille nedir
Biri web sitenizi ziyaret ettiğinde, tarayıcısı sayfalarınızı ayrıca diğer web sitelerinin sizinkiyle nasıl etkileşim kurmasına izin verildiğine karar verir. Başka bir site sizinkini açılır pencerede açabilir ve kontrolünü elinde tutabilir mi? Başka bir site resimlerinizi ve komut dosyalarınızı kendi sayfalarına alabilir mi? Kendi siteniz belirli güçlü, kilitli tarayıcı özelliklerini güvenle kullanabilir mi?
Bu üç başlık, web sitenizin her ziyaretçinin tarayıcısına tam olarak bu soruları yanıtlamak için gönderdiği kısa, görünmez talimatlardır. Kısaltmalarıyla bilinirler:
- COOP — Cross-Origin-Opener-Policy. Sitenizi açılır pencerede açan diğer sitelerin uzaktan kontrolünü elinde tutup tutamayacağını kontrol eder.
- CORP — Cross-Origin-Resource-Policy. Diğer sitelerin resimlerinizi, komut dosyalarınızı ve diğer dosyalarınızı kendi sayfalarına yerleştirmesine izin verilip verilmediğini kontrol eder.
- COEP — Cross-Origin-Embedder-Policy. COOP ile birleştiğinde sayfanızı “izole ederek” belirli güçlü tarayıcı özelliklerini güvenle kullanmanızı sağlayan gelişmiş kontroldür.
İkisi (COOP ve CORP) güvenli ve gerçekten kullanışlıdır. Üçüncüsü (COEP) gelişmiş ve dikkatsizce açılırsa şeyleri bozabilir.
Önceden bilinmesi gereken en önemli şey: puanlamamızda her üçü de yalnızca bilgilendiricidir. Notunuzu etkilemezler. Eksik olan sizi hiçbir şeye mal etmez. Nerede durduğunuzu görebilmeniz ve kolay kazanımları toparlamanız için bunları raporluyoruz — bir sayıyı savunmanız gerektiği için değil.
Size maliyeti ne olabilir
Bunlar niş risklerdir, manşet olanlar değil — ama gerçektirler ve düzeltmeleri ücretsizdir.
-
Gerçek sitenizin uzaktan kontrolünü elinde tutan açılır pencere kimlik avı. COOP olmadan, dolandırıcının sayfası gerçek web sitenizi açılır pencerede açabilir ve ona canlı referans tutabilir. Müşterinizin dikkati dolandırıcının sayfasındayken, saldırgan bu açılır pencereyi — adres çubuğunda gerçek alan adınızla — müşteri geri döndüğünde tam o anda sahte giriş veya ödeme ekranına yönlendirebilir. ‘same-origin’ olarak ayarlı COOP bu kontrol bağlantısını keserek açılır pencerenin kuklalanamadığını sağlar.
-
Bant genişliğinizi çalan diğer siteler (ve varlıklarınızı istemediğiniz yere koyma). CORP olmadan internetteki herhangi bir web sitesi ürün fotoğraflarınızı, logolarınızı, komut dosyalarınızı ve diğer dosyalarınızı doğrudan sunucunuzdan yerleştirebilir — “hotlinking.” Onların sayfasının her ziyaretçisi dosyayı sizden indirir, sizin bant genişliği faturanızda, varlığınız asla onaylamadığınız bağlamda görünür. ‘same-origin’ olarak ayarlı CORP dış sitelerin kaynaklarınızı yerleştirmesini durdurur.
-
Gelişmiş tarayıcı saldırıları için sessiz bir veri sızıntısı yolu. Hotlinking’i mümkün kılan çapraz kaynak yerleştirme, sofistike, yan kanal tarayıcı saldırılarının (Spectre ailesi) okumaması gereken verileri okumak için kullandığı yollardan biridir. COOP ve CORP birlikte bu yolu tarayıcı düzeyinde kapatır. Çoğu küçük işletme için bu ek önlemdir, ama ücretsiz ek önlemdir.
-
Yanlış başlıktan kendi kendine açılan kesinti. Gelişmiş olan COEP, yüklediğiniz her kaynağın açıkça tercih etmesini gerektirir. Test etmeden açın ve analizleriniz, web yazı tipleriniz, gömülü haritalarınız, rezervasyon widget’larınız ve üçüncü taraf komut dosyaları hepsi yüklenmeyi durdurabilir — çünkü hiçbirinden tercih beklenmemişti. Bu başlıkların sizi gerçekten incitebileceği tek yoldur ve tamamen önlenebilir: COEP’i test etmeden etkinleştirmeyin.
-
Dikkatli alıcılara kaçırılan kolay sinyal. Potansiyel bir müşterinin BT ekibi imzalamadan önce başlıklarınızı tararken, modern çapraz kaynak sertleştirmesinin yerinde olduğunu bulmak küçük ama gerçek bir “bu insanlar güvenliği ciddiye alıyor” sinyalidir. Tek başına bir anlaşma kazanmaz — ama ücretsiz olarak bu tablonun doğru tarafında olmak kolaydır.
Her birinin gerçekte ne olduğu
COOP — Cross-Origin-Opener-Policy (güvenli, önerilen)
Başka bir web sitesi açılır pencere veya window.open kullanarak sizinkini açtığında, iki pencere normalde birbirine referans tutabilir. Bu bağlantı kötüye kullanılabilir: açıcı pencerenizi manipüle edebilir veya yönlendirebilir, URL parçalarını okuyabilir ve gerçek alan adınızı kullanarak inandırıcı kimlik avı yapabilir. COOP: same-origin bu ilişkiyi kırar — pencereniz, kaynaklar arası onu açan her şeyden izole olur. Normal gezinme, kendi dahili bağlantılarınız ve sıradan navigasyon tamamen etkilenmez.
“İyi” neye benzer: Cross-Origin-Opener-Policy: same-origin.
CORP — Cross-Origin-Resource-Policy (güvenli, önerilen)
Varsayılan olarak resimleriniz, komut dosyalarınız ve diğer dosyalarınız herhangi bir site tarafından yerleştirilebilir. CORP: same-origin tarayıcılara kaynaklarınızın kaynaklar arası yerleştirilmesini reddetmelerini söyler — böylece diğer siteler varlıklarınızı hotlink yapamaz veya sayfalarına çekemez. Kendi siteniz kendi kaynaklarını tamamen eskisi gibi yüklemeye devam eder; yalnızca dış siteler engellenir.
“İyi” neye benzer: Cross-Origin-Resource-Policy: same-origin. (Başkaları tarafından yerleştirilmesi için kasıtlı olarak varlık yayınlıyorsanız — genel logo, açık API — geliştiriciniiz bunu yalnızca o yanıtlarda rahatlatabilir.)
COEP — Cross-Origin-Embedder-Policy (gelişmiş, genellikle kapalı bırakın)
COEP “çapraz kaynak izolasyonu” tamamlar: COOP ile birleşince, sayfanızın yüklediği her kaynağın açıkça tercih etmesini (CORS veya CORP aracılığıyla) gerektirir. Doğru yapıldığında belirli güçlü tarayıcı özelliklerini (SharedArrayBuffer gibi) açar ve Spectre sınıfı saldırılara karşı başka bir katman ekler. Ama yüklediğiniz her şeyden tercih beklediğinden, üçüncü taraf araçları kolaylıkla bozabilir — tercih etmek üzere inşa edilmemiş analitik, yazı tipleri, gömülü widget’lar. Çoğu web sitesi kilidini kaldırdığı özelliklere ihtiyaç duymaz ve bozulma riskini taşımamalıdır.
“İyi” neye benzer: ihtiyaç duyan nadir site için Cross-Origin-Embedder-Policy: credentialless — dış kaynakları require-corptan daha az bozan daha güvenli değer. Diğer herkes için yokluğu normaldir ve raporumuz bunun için sizi cezalandırmaz.
Nasıl düzeltilir (ücretsiz, ~15 dakika)
Bu bölümü BT uzmanınıza veya web geliştiriciye iletin — düzeltme ücretsizdir. COOP ve CORP eklemek, sunucunuzda veya CDN’nizde birkaç tek satır ayardır; lisans yoktur ve sürekli maliyet yoktur. Sahip için tek talimat: iki güvenlisi yapın ve COEP’i test etmeden etkinleştirmeyin.
Bunlar yanıt başlıklarıdır; sitenizin yanıtlarının üretildiği yerde ayarlanır — varsa CDN’nizde (ör. Cloudflare) en kolayı, yoksa web sunucusu yapılandırmanızda.
İki güvenli başlık (herkes için önerilen)
Cloudflare — Kurallar → Dönüştürme Kuralları → Yanıt Başlıklarını Değiştir → Ayarla:
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"
Bunların eklenmesi güvenlidir ve normal işlevselliği bozmaz. Dağıtımdan sonra birkaç sayfayı yeniden yükleyin ve sitenin tamamen eskisi gibi davrandığını doğrulayın (olmalı).
Gelişmiş başlık (yalnızca özel olarak ihtiyaç duyarsanız)
Önce hazırlama ortamında test etmeden bunu açmayın. COEP analizleri, yazı tiplerini ve gömülü widget’ları bozabilir.
Cloudflare: Dönüştürme Kuralları → Cross-Origin-Embedder-Policy = credentialless olarak ayarla.
Nginx:
add_header Cross-Origin-Embedder-Policy "credentialless" always;
Dış kaynakları require-corptan daha az bozma olasılığı olduğundan credentialless kullanın. Hazırlama ortamında kapsamlı test yapın; yüklenmeyi bırakan herhangi bir üçüncü taraf komut dosyası, yazı tipi veya gömülü içerik izleyin. Bir şey bozulursa ve COEP’in kilidini kaldırdığı özelliklere gerçekten ihtiyacınız yoksa, yalnızca başlığı kaldırın — olmadığı için ceza yoktur.
Platform notları
- Google Workspace / Microsoft 365: bunlar e-postanızı güçlendirir, web sitenizi değil — bu yüzden burada ayarlanacak hiçbir şey yoktur. Bu başlıklar web sitenizi barındıran şeye aittir (CDN’niz, barındırıcınız veya sunucunuz).
- Yaygın yönetilen barındırıcılar / site oluşturucular (Wix, Squarespace, Shopify vb.): daha düşük planlarda özel yanıt başlıkları yapılandırılamayabilir. Ekleyemiyorsanız, normaldir — bunlar yalnızca bilgilendiricidir ve notunuzu etkilemez. Sitenizi Cloudflare gibi bir CDN’nin arkasına koymak başlık kontrolü kazanmanın her zamanki yoludur.
- Kendi barındırmanızdaki WordPress: web sunucusu yapılandırmanızda (yukarıdaki Nginx/Apache) veya CDN’niz aracılığıyla ayarlayın, mümkünse eklentide değil — sunucu/CDN düzeyi daha temizdir ve her yanıta uygulanır.
Yaygın hatalar
- “Kapsamlı olmak için” COEP’i etkinleştirmek ve siteyi bozmak. Bu en büyük hata. COEP yüklediğiniz her şeyden tercih bekler; test etmeden açın ve analizleriniz, yazı tipleriniz ve gömülü içerikleriniz kaybolabilir. Kilidini kaldırdığı tarayıcı özelliklerine ihtiyacınız yoksa ayarlamayın.
- Bunlara bir tarayıcı zikredildi diye acil muamele etmek. Bunlar yalnızca bilgilendiricidir. Puanlanan web başlıkları (HTTPS, HSTS, CSP, tıklama korsanlığı, MIME algılama) önce gelir — burada herhangi bir enerji harcamadan önce bunları düzeltin.
- CORP’u gerçekte yerleştirilebilir varlıklar yayınlıyorken çok kısıtlı ayarlamak. Kasıtlı olarak diğer sitelerin kullanması için logo, rozet veya API sunuyorsanız, kapsamlı
same-originCORP bunları engeller. Bunu her yerde terk etmek yerine yalnızca o yanıtlarda rahatlatın. - Başlığı sayfa/uygulama düzeyinde ekleyip bazı yanıtları kaçırmak. Her yanıta uygulanmaları için sunucu veya CDN düzeyinde ayarlayın (resimler, komut dosyaları, API uç noktaları), yalnızca HTML sayfalarında değil.
- Bunları SSL asma kilitiyle karıştırmak. HTTPS bağlantıyı şifreler; bunlar siteler arası etkileşimi kontrol eder. İlgisizdirler ve her ikisini de istersiniz.
Not puanı hakkında
Tamamen açık olmak için: bu üç kontrolün hiçbiri notunuzu etkilemez. Metodolojimizde yalnızca bilgilendirici olarak, sıfır puanla kaydedilmişlerdir ve eksik olan sizi hiçbir zaman hiçbir şeye mal etmez. Bunları iki güvenli olanın ucuz, gerçek iyileştirmeler olduğu için ve tam resmi görmenin faydalı olduğu için gündeme getiriyoruz — savunulacak bir sayı olduğu için değil. Buraya hiçbir şey yapmazsanız notunuz tamamen aynıdır. COOP ve CORP eklerseniz, ücretsiz olarak birkaç gerçek (niş de olsa) açığı kapattınız. Bu sayfa hakkında düşünmenin doğru yolu budur: isteğe bağlı cila, kaçınılması gereken açıkça etiketlenmiş bir tuzakla.
SSS
Bunlar notumu etkilemiyor — uğraşmaya değer mi?
İkisi için evet; biri için muhtemelen hayır. COOP ve CORP ücretsizdir, dakikalar alır ve sitenizi bozmaz — gerçek (niş de olsa) saldırı yollarını kapatır, dolayısıyla ucuz hijyen olarak yapmaya değer. COEP gelişmiş ve üçüncü taraf araçlarını bozabilir, dolayısıyla çoğu işletme kilidini kaldırdığı tarayıcı özelliklerine özel olarak ihtiyaç duymadıkça onu kapalı bırakmalıdır. Üçünün de hiçbiri puanınızı değiştirmez, dolayısıyla aciliyet yoktur — bir sonraki geliştiricinin sitede olduğu seferde iki güvenliyi düzeltme olarak ele alın.
Teknik bilgim yok — bunu harekete geçirmem gerekiyor mu?
Kişisel olarak değil ve acil olarak değil. Bunlar yalnızca bilgilendirici olduğundan atlarsanız notunuza hiçbir kötü şey olmaz. İki güvenlisi eklemek isterseniz, web sitenizi veya CDN'nizi yöneten kişiye aşağıdaki 'Nasıl düzeltilir?' bölümünü iletin — birkaç tek satır ayardır ve düzeltme ücretsizdir. Açıkça işaretlenecek tek şey COEP'dir: test etmeden açmamaları, çünkü analizleri ve gömülü widget'ları bozabilir.
Bunlar notumu etkileyen başlıklardan nasıl farklı?
Puanlanan web güvenlik başlıkları — HTTPS yönlendirme, HSTS, İçerik Güvenliği Politikası, tıklama korsanlığı koruması (X-Frame-Options) ve MIME algılama koruması — yaygın, geniş çapta istismar edilen saldırılara karşı savunur, dolayısıyla eksikliği puan kaybettirir. Bu sayfadaki üç başlık (COOP, CORP, COEP) daha yeni, daha özel tarayıcı izolasyon kontrolüdür. İyi uygulama ama henüz temel beklenti değil, dolayısıyla puanlamadan raporluyoruz. Önce puanlananları yapın; bunlar üstüne cila.
COOP veya CORP eklemek web sitemi veya ortak entegrasyonlarımı bozar mı?
Önerilen ayarlar (her ikisi de 'same-origin') güvenli olacak şekilde tasarlanmıştır. COOP yalnızca sitenizin açılır pencerelerde açtığı pencerelere olan bağlantıyı keser — normal gezinme, kendi sayfalarınız ve sıradan bağlantılar etkilenmez. CORP yalnızca *diğer* sitelerin resimlerinizi ve komut dosyalarınızı yerleştirmesini durdurur; kendi siteniz kendi kaynaklarını tamamen eskisi gibi yükler. Diğer sitelerin yerleştirmesi gereken varlıklar (genel logo veya API gibi) gerçekten sunuyorsanız, geliştiriciniiz yalnızca o yanıtlarda daha izin verici ayar kullanabilir. Gerçekten bozulma riski taşıyan olan COEP — onu test etmeden kapalı bırakın.
'Hotlinking' gerçekte bana ne kadara mal olur?
Başka bir site resminizi veya komut dosyanızı kendi kopyasını barındırmak yerine doğrudan sunucunuzdan yerleştirdiğinde, ziyaretçileri sayfayı her yüklediğinde onu sizden indirir — bant genişliği faturanızda, varlığınız onaylamadığınız bağlamda görünür. Küçük bir işletme için nadiren yıkıcıdır, ama kapıdan çıkan ücretsiz paradır ve CORP ('same-origin') bunu tarayıcı düzeyinde durdurur. Ayrıca gelişmiş (Spectre sınıfı) tarayıcı saldırılarının dayandığı ince bir veri sızıntısı yolunu da kapatır.
Bunların her biri için 'iyi' neye benziyor?
COOP: 'same-origin' olarak ayarlanmış Cross-Origin-Opener-Policy başlığı. CORP: 'same-origin' olarak ayarlanmış Cross-Origin-Resource-Policy başlığı. COEP: Cross-Origin-Embedder-Policy başlığı — ve bunu ayarlıyorsanız, 'credentialless' 'require-corp'tan daha güvenli değerdir. Raporumuz yalnızca her birinin mevcut olup olmadığını ve neye ayarlı olduğunu not eder; hiçbiri için yokluğunuzu cezalandırmaz. COOP ve CORP'u hedefleyin; test etmediğiniz sürece COEP'i dışarıda bırakın.