Defaults.Exposed

Defaults.ExposedDü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

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:

İ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.

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:

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ı

Yaygın hatalar

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.