Chrome için yeni bir varsayılan Yönlendirme Politikası - strict-origin-when-cross-origin

Maud Nalpas
Maud Nalpas

Başlamadan önce:

  • "site" ile "origin" arasındaki farkı bilmiyorsanız "aynı site" ve "aynı kaynak" modelini anlama başlıklı makaleyi inceleyin.
  • Spesifikasyondaki orijinal bir yazım hatası nedeniyle Referer başlığında bir R eksik. JavaScript ve DOM'da Referrer-Policy başlığı ve referrer doğru yazılmıştır.

Özet

  • Tarayıcılar, bir web sitesinde herhangi bir politika belirlenmediğinde iyi bir yedek sağlamak için gizliliği artıran varsayılan yönlendirme politikalarına yöneliyorlar.
  • Chrome, 85 sürümünde strict-origin-when-cross-origin politikasını kademeli olarak varsayılan politika olarak etkinleştirmeyi planlamaktadır. Bu durum, başka bir kaynaktan gelen yönlendiren değerine bağlı olan kullanım alanlarını etkileyebilir.
  • Bu yeni varsayılan seçenektir ancak web siteleri yine de istedikleri bir politikayı seçebilir.
  • Değişikliği Chrome'da denemek için chrome://flags/#reduced-referrer-granularity adresindeki bayrağı etkinleştirin. Değişikliğin nasıl uygulandığını görmek için bu demoya da göz atabilirsiniz.
  • Yönlendiren politikasının ötesinde, tarayıcıların yönlendirenlerle çalışma şekli değişebilir. Bu nedenle, bu politikaya dikkat edin.

Neler değişiyor ve neden değişiyor?

HTTP isteklerinde, isteğin yapıldığı kaynak veya web sayfası URL'sini belirten isteğe bağlı Referer üst bilgisi bulunabilir. Referer-Policy başlığı, Referer üst bilgisinde ve hedefin document.referrer öğesindeki gezinme ve iframe'ler için hangi verilerin kullanılabileceğini tanımlar.

Sitenizden gelen bir istekte Referer başlığında tam olarak hangi bilgilerin gönderileceği, ayarladığınız Referrer-Policy başlığı tarafından belirlenir.

Diyagram: Yönlendiren bir istekte gönderilmiştir.
Yönlendiren Politikası ve Yönlendiren.

Herhangi bir politika ayarlanmadığında tarayıcının varsayılan ayarı kullanılır. Web siteleri genellikle tarayıcının varsayılan ayarını uygular.

Gezinmeler ve iframe'ler için Referer üst bilgisinde bulunan verilere, document.referrer kullanılarak JavaScript aracılığıyla da erişilebilir.

no-referrer-when-downgrade yakın zamana kadar tarayıcılarda yaygın olarak kullanılan bir varsayılan politika olmuştur. Ancak şu anda birçok tarayıcı, gizliliği daha fazla iyileştiren varsayılan ayarlara geçiş sürecinin bir aşamasında.

Chrome, 85 sürümünden itibaren no-referrer-when-downgrade olan varsayılan politikasını strict-origin-when-cross-origin olarak değiştirmeyi planlamaktadır.

Bu, web siteniz için bir politika belirlenmemişse Chrome'un varsayılan olarak strict-origin-when-cross-origin politikasını kullanacağı anlamına gelir. Yine de istediğiniz bir politikayı belirleyebileceğinizi unutmayın. Bu değişiklik, yalnızca herhangi bir politika ayarlanmamış web siteleri üzerinde etkili olacaktır.

Bu değişiklik ne anlama geliyor?

strict-origin-when-cross-origin daha fazla gizlilik sunar. Bu politika ile çapraz kaynak isteklerinin Referer üst bilgisinde yalnızca origin gönderilir.

Bu, tam URL'nin yol ve sorgu dizesi gibi diğer bölümlerinden erişilebilen gizli verilerin sızdırılmasını önler.

Şema: Yönlendiren, çapraz kaynak isteği için politikaya bağlı olarak gönderilir.
Politikaya bağlı olarak, yönlendiren kişi çapraz kaynak isteği gönderdi (ve document.referrer).

Örneğin:

https://site-one.example/stuff/detail?tag=red adresinden https://site-two.example/... adresine gönderilen çapraz kaynak isteği:

  • no-referrer-when-downgrade ile: Yönlendiren: https://site-one.example/stuff/detail?tag=red.
  • strict-origin-when-cross-origin ile: Yönlendiren: https://site-one.example/.

Neler aynı kalır?

  • no-referrer-when-downgrade gibi strict-origin-when-cross-origin de güvenlidir: İstek, HTTPS kaynağından (güvenli) bir HTTP olana (güvenli değil) yapıldığında yönlendiren (Referer başlığı ve document.referrer) bulunmaz. Bu şekilde, web siteniz HTTPS kullanıyorsa (değilse, öncelikli hale getirin) web sitenizin URL'leri HTTPS olmayan isteklerde sızdırılmaz. Çünkü ağdaki herkes bunları görebilir ve bu da kullanıcılarınızı ortadaki adam saldırılarına maruz bırakır.
  • Aynı kaynakta Referer üst bilgi değeri tam URL'dir.

Örneğin: https://site-one.example/stuff/detail?tag=red adresinden https://site-one.example/... adresine gönderilen aynı kaynak isteği:

  • strict-origin-when-cross-origin ile: Yönlendiren: https://site-one.example/stuff/detail?tag=red

Bunun etkisi nedir?

Diğer tarayıcılarla yapılan tartışmalara ve Chrome'un Chrome 84'te gerçekleştirdiği kendi denemesine göre kullanıcının görebileceği kesintinin sınırlı olması beklenmektedir.

Kullanılabilir olan tam yönlendiren URL'yi kullanan sunucu tarafı günlük kaydı veya analizler, söz konusu bilgilerdeki daha düşük ayrıntı düzeyinden etkilenebilir.

Ne yapmanız gerekiyor?

Chrome, yeni varsayılan yönlendiren politikasını 85 tarihinde kullanıma sunmayı planlamaktadır (Beta sürümü için Temmuz 2020, kararlı sürüm için Ağustos 2020). Chrome durum girişinde durumu görebilirsiniz.

Değişikliği anlama ve tespit etme

Yeni varsayılan değişikliklerin işleyiş şeklini anlamak için bu demoya göz atabilirsiniz.

Bu demoyu, çalıştırdığınız Chrome örneğinde hangi politikanın uygulandığını algılamak için de kullanabilirsiniz.

Değişikliği test edin ve bunun sitenizi etkileyip etkilemeyeceğini öğrenin

Bu değişikliği Chrome 81'den itibaren deneyebilirsiniz: Chrome'da chrome://flags/#reduced-referrer-granularity adresini ziyaret edin ve bayrağı etkinleştirin. Bu işaret etkinleştirildiğinde, bir politikası olmayan tüm web siteleri yeni strict-origin-when-cross-origin varsayılanını kullanır.

Chrome ekran görüntüsü: chrome://flags/#reduced-referrer-granularity işaretini etkinleştirme.
İşareti etkinleştirme.

Artık web sitenizin ve arka ucunuzun nasıl davrandığını kontrol edebilirsiniz.

Etkiyi tespit etmek için yapılacak bir diğer işlem, web sitenizin kod tabanının yönlendireni (sunucudaki gelen isteklerin Referer üstbilgisinden veya JavaScript'te document.referrer aracılığıyla) kullanıp kullanmadığını kontrol etmektir.

Başka bir kaynaktan sitenize gelen istekleri yönlendireni (daha spesifik olarak yol ve/veya sorgu dizesi) kullanıyorsanız VE bu kaynak, tarayıcının varsayılan yönlendirme politikasını kullanıyorsa (ör. politika ayarlanmamışsa) sitenizdeki bazı özellikler bozulabilir veya farklı davranabilir.

Bu durum sitenizi etkiliyorsa alternatifleri değerlendirin

Sitenize yapılan istekler için tam yola veya sorgu dizesine erişmek için yönlendireni kullanıyorsanız birkaç seçeneğiniz vardır:

  • CSRF koruması, günlük kaydı ve diğer kullanım alanları için Origin ve Sec-fetch-Site gibi alternatif teknikler ve başlıklar kullanın. Referer and Referrer-Policy: best practices (Referer ve Referans Politikası: en iyi uygulamalar) sayfasına göz atın.
  • Gerekirse ve kullanıcılarınız açısından şeffaf olursa iş ortaklarınızla belirli bir politika üzerinde uzlaşma sağlayabilirsiniz. Erişim kontrolü (yönlendiren, web siteleri tarafından diğer kaynaklara özel erişim izni vermek için kullanıldığında) böyle olabilir. Ancak Chrome'da yapılan değişiklikte kaynak, Referer Başlığında (ve document.referrer'da) paylaşılmaya devam edecektir.

Çoğu tarayıcının yönlendiren açısından benzer bir yönde hareket ettiğini unutmayın (Referer and Referrer-Policy: en iyi uygulamalar bölümünde tarayıcı varsayılanları ve bunların geliştirmeleri bölümüne bakın).

Sitenizde, gizliliği artıracak açık bir politika uygulayın

Web siteniz tarafından oluşturulan isteklerde hangi Referer gönderilmelidir? Örneğin, siteniz için hangi politikayı ayarlamanız gerekir?

Chrome'da değişiklik yapılmış olsa bile strict-origin-when-cross-origin gibi açık, gizliliği artıran açık bir politika belirlemek veya şimdilik daha katı bir politika belirlemek iyi bir fikirdir.

Bu, kullanıcılarınızı korur ve web sitenizin, tüm tarayıcılarda daha öngörülebilir şekilde davranmasını sağlar. Çoğunlukla, sitenizin tarayıcı varsayılanlarına bağlı olması yerine kontrolü size verir.

Bir politika ayarlamayla ilgili ayrıntılar için Referrer and Referrer-Policy: best practices (Yönlendiren ve Referans Politikası: en iyi uygulamalar) bölümüne bakın.

Chrome Enterprise hakkında

Chrome kurumsal politikası ForceLegacyDefaultReferrerPolicy, kurumsal ortamlarda önceki varsayılan yönlendiren politikasını (no-referrer-when-downgrade) zorunlu kılmak isteyen BT yöneticileri tarafından kullanılabilir. Bu sayede kuruluşlar, uygulamalarını test etmek ve güncellemek için ek zaman yaratabilir.

Bu politika Chrome 88'de kaldırılacaktır.

Geri bildirim gönder

Paylaşmak istediğiniz veya bildirmek istediğiniz bir geri bildiriminiz var mı? Chrome'un gönderim niyeti ile ilgili geri bildirimlerinizi paylaşın veya sorularınızı @maudnals adresine tweet olarak gönderin.

Başta Kaustubha Govind, David Van Cleve, Mike West, Sam Dutton, Rowan Merewood, Jxck ve Kayce Basques olmak üzere tüm yorumculara katkıları ve geri bildirimleri için teşekkür ederiz.

Kaynaklar