Aracılığıyla paylaş


Chrome tarayıcısında SameSite tanımlama bilgisi değişikliklerini işleme

SameSite nedir?

SameSite , web uygulamalarında Siteler Arası İstek Sahteciliği (CSRF) saldırılarını önlemek için HTTP tanımlama bilgilerinde ayarlanabilen bir özelliktir:

  • SameSite Lax olarak ayarlandığında, tanımlama bilgisi aynı site içindeki isteklerde ve diğer sitelerden gelen GET isteklerinde gönderilir. Etki alanları arası GET isteklerinde gönderilmez.
  • Strict değeri, tanımlama bilgisinin yalnızca aynı site içindeki isteklerde gönderilmesini sağlar.

Varsayılan olarak, SameSite değer tarayıcılarda AYARLANMADI ve bu nedenle isteklerde gönderilen tanımlama bilgileriyle ilgili hiçbir kısıtlama yoktur. Bir uygulamanın, gereksinimlerine göre Lax veya Strict ayarlayarak CSRF korumasına katılmaları gerekir.

SameSite değişiklikleri ve kimlik doğrulaması üzerindeki etkisi

SameSite'deki standartlarda yapılan son güncelleştirmeler, hiçbir değerin Lax olarak ayarlanmadığı durumlarda varsayılan davranışı SameSite yaparak uygulamaların korunmasını önerir. Bu azaltma, tanımlama bilgilerinin diğer sitelerden yapılan GET dışında HTTP isteklerinde kısıtlanacağı anlamına gelir. Ayrıca, gönderilen tanımlama bilgileriyle ilgili kısıtlamaları kaldırmak için Yok değeri eklenir. Bu güncelleştirmeler yakında Chrome tarayıcısının gelecek bir sürümünde yayınlanacaktır.

Web uygulamaları "form_post" yanıt modunu kullanarak Microsoft kimlik platformu kimlik doğrulaması yaparken, oturum açma sunucusu belirteçleri veya kimlik doğrulama kodunu göndermek için HTTP POST kullanarak uygulamaya yanıt verir. Bu istek etki alanları arası bir istek olduğundan ( login.microsoftonline.com örneğin https://contoso.com/auth, etki alanınıza), uygulamanız tarafından ayarlanan tanımlama bilgileri artık Chrome'daki yeni kuralların altında yer alır. Siteler arası senaryolarda kullanılması gereken tanımlama bilgileri, oturum açma isteğinde de gönderilen durum ve nonce değerlerini barındıran tanımlama bilgileridir. Oturumu tutmak için Microsoft Entra Id tarafından bırakılan başka tanımlama bilgileri de vardır.

Web uygulamalarınızı güncelleştirmezseniz, bu yeni davranış kimlik doğrulaması hatalarına neden olur.

Risk azaltma ve örnekler

Kimlik doğrulama hatalarının üstesinden gelmek için, Microsoft kimlik platformu ile kimlik doğrulaması yapılan web uygulamaları, Chrome tarayıcısında çalışırken etki alanları arası senaryolarda kullanılan tanımlama bilgileri için özelliğini None olarak ayarlayabilirSameSite. Diğer tarayıcılar (tam liste için buraya bakın) önceki davranışını SameSite izler ve ayarlanırsa SameSite=None tanımlama bilgilerini içermez. Bu nedenle, birden çok tarayıcıda kimlik doğrulamasını desteklemek için web uygulamalarının değeri None yalnızca Chrome'da olarak ayarlaması SameSite ve değeri diğer tarayıcılarda boş bırakması gerekir.

Bu yaklaşım aşağıdaki örnek kodda gösterilmiştir.

Aşağıdaki tabloda, ASP.NET ve ASP.NET Core örneklerimizdeki SameSite değişikliklerine yönelik çekme istekleri gösterilir.

Örnek Çekme isteği
ASP.NET Core web uygulaması artımlı öğreticisi Aynı site tanımlama bilgisi düzeltmesi #261
MVC web uygulaması örneğini ASP.NET Aynı site tanımlama bilgisi düzeltmesi #35
active-directory-dotnet-admin-restricted-scopes-v2 Aynı site tanımlama bilgisi düzeltmesi #28

ASP.NET ve ASP.NET Core'da SameSite tanımlama bilgilerinin nasıl işleneceğinin ayrıntıları için ayrıca bkz:

Sonraki adımlar

SameSite ve Web uygulaması senaryosu hakkında daha fazla bilgi edinin: