Özel Ağ Erişimi: Web çalışanları ve gezinme getirme işlemleri için genişletilmiş koruma

Jonathan Hao
Jonathan Hao

Özel Ağ Erişimi nedir?

Özel Ağ Erişimi (PNA, eski adıyla CORS-RFC1918 ve kısaca Yerel Ağ Erişimi), web sitelerinin özel ağlardaki sunuculara istek gönderme özelliğini kısıtlayan bir güvenlik özelliğidir. Bu, kullanıcıların ve dahili ağların Siteler Arası İstek Sahtekarlığı (CSRF) gibi olası saldırılardan korunmasına yardımcı olur. Chrome, PNA'yı kademeli olarak kullanmaktadır. Koruma düzeyi ise gelecek sürümlerde genişletilecektir.

Önemli PNA korumaları (mevcut durumlarıyla birlikte)

  • Güvenli Bağlamlar: Yalnızca güvenli bağlamların özel ağ alt kaynağı istekleri yapmasına izin verilir (Chrome 94'ten itibaren zorunlu kılınmıştır). Ayrıntılar için Özel Ağ Erişimi güncelleme yayınımızı inceleyin.
  • Ön Kontrol İstekleri: Chrome, sunucu izinlerini kontrol etmek için özel ağ alt kaynak isteklerinden önce ön kontrol istekleri gönderir (Chrome 104'ten sonraki hatalar için Geliştirici Araçları'ndaki uyarılar Chrome 130'da zorunlu kılınır). Bu, Özel Ağ Erişimi: Ön kontrollere giriş bölümünde açıklanmıştır. Chrome 123 sürümünden itibaren, ön kontrol yalnızca PNA nedeniyle oluşturulup gönderildiyse Accept gibi bazı CORS üstbilgilerini dikkate almaz.
  • Aynı Kaynaklı Muafiyetler: Chrome 115'ten itibaren güvenilir olabilecek kaynaklardan gelen aynı kaynaklı istekler PNA kısıtlamalarından muaftır.

Genişletilmiş koruma: Web çalışanları

PNA koruması web çalışanlarını (özel çalışanlar, paylaşılan çalışanlar ve hizmet çalışanları) kapsayacak şekilde genişletilecektir. Bu hizmet ve özellikler arasında aşağıdakiler bulunmaktadır:

  • Çalışan komut dosyaları getirme: Herkese açık olmayan IP adresleri için güvenli bağlamlar ve ön kontroller gerektirir. Chrome 110'dan sonraki, Chrome 130'da zorunlu kılınacak uyarılar.
  • Çalışan komut dosyaları tarafından başlatılan getirmeler: Çalışan komut dosyalarından yapılan tüm getirmeler aynı PNA kurallarını izler.

Chrome 124'ten itibaren, aşağıdaki adımları uygulayarak yaptırımı test edebilirsiniz:

  • chrome://flags/#private-network-access-ignore-worker-errors API'sini devre dışı bırakın
  • chrome://flags/#private-network-access-respect-preflight-results hizmetini etkinleştir

Genişletilmiş koruma: Gezinme getirme işlemleri

PNA, CSRF saldırılarında kullanılma olasılığından dolayı gezinme getirmeleri (iframe'ler, pop-up'lar) için de geçerlidir. Chrome 123, hatalar için uyarılar göstermeye başladı ve Chrome 130 için zorunlu kılması planlandı.

Chrome 124'ten itibaren, yaptırımı şu şekilde test edebilirsiniz:

  • chrome://flags/#private-network-access-ignore-navigation-errors API'sini devre dışı bırakın
  • chrome://flags/#private-network-access-respect-preflight-results hizmetini etkinleştir

PNA bir gezinme isteğini engellediğinde, kullanıcılar manuel olarak yeniden yükleme ve isteğe izin verme seçeneğiyle birlikte belirli bir hata görür.

PNA bir gezinme isteğini engellediğinde, kullanıcılar manuel olarak yeniden yükleme ve isteğe izin verme seçeneğiyle birlikte belirli bir hata görür.
PNA bir gezinme isteğini engellediğinde kullanıcılar manuel olarak yeniden yükleme ve isteğe izin verme seçeneği sunan belirli bir hata görür.

Web siteniz bu durumdan etkilenirse ne yapmanız gerekir?

Özel Ağ Erişimi: Ön kontrollerin tanıtılması başlıklı gönderide yol gösterici bilgiler bulabilirsiniz. Önemli bir nokta, navigasyon istekleri için:

  • Access-Control-Allow-Origin joker karakter ("*") olamaz.
  • Access-Control-Allow-Credentials, "true" olarak ayarlanmalıdır.

Sonraki adım

  • WebSockets: Kesin olmamakla birlikte Chrome 126'dan itibaren PNA, WebSocket el sıkışmalarını kapsayacaktır (önce uyarılar).
  • Tam Zorunluluk: Chrome 130'da tüm PNA kısıtlamaları geçici olarak uygulanacaktır (uyumlu olmayan istekler engellenecektir). Kullanıcılar, güvenilir siteler için PNA'yı geçersiz kılacak bir site ayarına sahip olur.

Özel ağ kullanım alanları için geri bildirim

Bir web sitesini özel bir ağda barındırıyorsanız ve herkese açık ağlardan istek almanız gerekiyorsa Chrome ekibi geri bildirimde bulunmanızı ister! Chromium Sorun İzleyici (bileşen: Blink>SecurityFeature>CORS>PrivateNetworkAccess) sayfasında sorun bildirin.

Fotoğraf: Unsplash'ta Jakub Żerdzicki tarafından