Dimyat'a Pirince Giderken, Evdeki Gizlilikten Olmak: Firefox'un DNS over TLS ve Trusted Recursive Resolver Özelliklerine Kaygılı Bir Bakış
Firefox, yerel ISS'lerin DNS konusunda kullanıcı gizliliğini tehlikeye atmalarına karşın CloudFlare'i varsayılan Trusted Recursive Resolver tarayıcısına dahil ediyor. Trusted Recursive Resolver(TRR) ve bu gelişmelerin gizliliğimizi nasıl etkileyeceğini merak ediyor musunuz? Diğer bir yandan Let's encrypt artık bağımsız bir otorite oldu. Daha önce değil miydi diyenleri duyar gibiyiz.
Dimyat'a Pirince Giderken, Evdeki Gizlilikten Olmak: Firefox'un DNS over TLS ve Trusted Recursive Resolver Özelliklerine Kaygılı Bir Bakış
Bir kez daha hatırlatmakta fayda görüyoruz:
Gizli bir toplantıya gidiyorsunuz ancak toplantının olacağı adresi başkalarına sorarak bulmaya çalışıyorsunuz. DNS'in, yani bugün internetin telefon defteri vazifesini gören, domain name'leri IP Karşılıklarına çeviren 35 yıllık bu sistemin tüm gizlilik endişelerimize rağmen pozisyonu tam olarak bu.
DNS sorguları herhangi bir şifrelemeye tabi tutulmadan gönderilen isteklerdir. DNS çözümleme aşamasında bilgisayarınızın DNS ön belleğinden başlayarak, ISP'nin, root DNS sunucuların, TLD otoritelerinin ve nihayet yetkili DNS sunucularının da dahil olduğu pek çok noktada bu sorgulama yapılıp pek çok noktaya ulaşmak istediğiniz siteye dair bilgiler ve IP adresiniz ifşa olmaktadır.
Google bu özelliği yeni Android telefonlarına implemente edeceğinden ve Google DNS sunucularını da varsayılan çözümleyici olarak kullanacağını duyurduğunda çekincelerimizi dile getirmiştik.
Bu çekincelerden ilki bu defa tüm DNS trafiğinin Google üzerinden akmasına rıza göstermiş olacağımız ve riski tek bir noktada toplamış olacağımızdı. Ayrıntıları okumak için tıklayınız.
Firefox yakın bir zamanda piyasaya süreceği (şu an tarayıcının Nightly versiyonunda testler devam ediyor) DNS over HTTPS (DoH) implementasyonunda karşımıza yeni bir ortak ile çıkıyor: Cloudflare
Firefox yukarıda zikrettiğimiz riskleri çözmek için aşağıdaki adımları atıyor:
- Güvensiz DNS resolverların yerine kendi belirlediği ve Trusted Recursive Resolver (TRR) olarak adlandırdığı bir işleyiş ve aktör ile sistemi tahkim ediyor. Eğer DNS over HTTPS gibi uçtan uca şifrelemenin kullanılacağı bir sistemden bahsediyorsak, trafiğin diğer ucunda belirli bir aktör olması doğal. Firefox TRR olarak aşağıda sayacağımız nedenlerden ötürü Cloudflare ile işbirliği yaptığını belirtiyor. Bu aktörün seçimi ile ilgili endişelere ayrıca yer veriyor olacağız.
- Uçtaki aktör belirlendikten sonra (TRR), sıra bu aktör ile kurulacak trafiğin gizli ve güvenli olmasına geliyor. DNS over HTTPS (DoH) işte burada devreye giriyor.
- Kullanıcıların deanonimizasyonunu sağlamak için TRR'ye olabildiğince az bilgi vermek.
Şimdi ayrıntılara geçebiliriz.
Normalde bir domain için DNS sorgulaması yaptığınızda, DNS sorgusu tüm noktalarda tekrarlanır.
Örneğin: tr.wikipedia.org sitesine denk gelen IP adresi çözümlenmeye çalışılıyorsa, yetkili (authorative) sunucuya ulaşana dek, tüm DNS sunucularda bu sorgu tekrarlanır. Her nokta tüm bir adresi görse de sadece kendi ile ilgili kısmı dikkate almaktadır.
Sorguladığımız domain'i otopsi masasına yatıralım.
tr.wikipedia.org
tr: Domain'in subdomain kısmı.
wikipedia.org: Second Level Domain.
org: Top Level Domain (TLD)
Makinemiz önce kök sunucu bilgilerini içeren DNS makinasına gidecek ve .org sunucularının DNS bilgisini içeren makineyi soracak. Ama bu arada bütün bu makineler esas ziyaret etmek istediğimiz adres olan tr.wikipedia.org adresinden haberdar olacaklar.
Firefox'un TRR'si ise, her makineye sadece kendisinin ilgilendiği domain kısmını bildirmektedir. Örneğin kök DNS sunucusuna .org makinelere ait DNS sunucusunu sormak için bütün bir tr.wikipedia.org adresi yerine xx.xxxxx.org domainini (temsilen) bildirmekte ve aldığı yanıttan sonra, diğer aşamaya geçmektedir. Bu operasyon QNAME minimizasyonu olarak adlandırılmaktadır. (Bkz. QNAME MINIMIZATION)
Yine aynı şekilde normal bir DNS sorgusunda IP adresinin 24 bitlik kısmı, yani ağı temsil eden değer, bir lokasyon bilgisi olarak resolver'a sunulur ve resolver tercihine bağlı olarak istek sahibine en yakın lokasyondaki bir CDN'den hizmet verilmesini sağlayabilir. Cloudflare bu noktada da kullanıcının IP bloğunu ifşa etmek yerine, kullanıcıya en yakın kendi kontrolündeki bir makine üzerinden istek yaparak, kullanıcıyı gizli tutmaktadır.
Cloudflare ayrıca kullanıcılara ait tuttuğu dataları 24 saat sonra silmeyi taahhüt ediyor.
Eklemekte fayda var Firefox kullanarak DoH'u destekleyen başka bir TRR'yi de kullanabilirsiniz.
Şimdi risklere geçebiliriz.
Öncelikle yukarıda arz ettiğimiz yapısal işleyişten ötürü (DoH) tek bir resolvera mahkum olsak da (şimdilik) bu beraberinde çok önemli bir riski getiriyor. Single Point of Failure (SPOF)
Tek bir noktaya bel bağlamak!
Herhangi bir nedenle Cloudflare hizmetleri kesintiye uğrarsa ya da ülkenizden Cloudflare'e erişim engellenirse bu tüm internet trafiğinizi felç edebilir.
Cloudflare dataları 24 saat içerisinde sileceğini söylüyor ancak 24 saat sonra datanın nerede yaşamaya devam edeceği muamma!
Kafe vb. ortamlarda kullandığınız ortak bağlantılar ve dolayısıyla bu bağlantıya ait DNS çözümleyiciler, ISP'nize ait DNS çözümleyiciler riskli olabilir. Doğru! Dolayısıyla bu gibi risklere karşı Firefox'un sunduğu TRR güçlü bir çözüm. Üstelik varsayılan olarak etkin halde gelecek olması ortalama bir kullanıcıyı teknik ayrıntılarla boğuşma zahmetinden kurtarıyor.
Peki ABD merkezli ve ABD yasalarına uymayı taahhüt eden bir firma olarak Cloudflare, hükümet tarafından datalar istendiği takdirde nasıl bir yol izleyecek? Özellikle de ilgili hükümetlerle sorun yaşayan ve gizliliğe ihtiyaç duyan bir gazeteci iseniz? Şans eseri bulunduğunuz bir lokasyondaki yerel bir ISP'nin DNS sunucusu mu sizin için daha riskli, yoksa bağlı bulunduğu ülkenin yasalarına uymayı taahhüt etmiş bir şirkete tüm DNS trafiğini teslim etmiş olmak mı?
Tercih elbette ki risk ve aktivite ile doğru orantılı olacaktır.
Peki Firefox'ta varsayılan olarak etkin halde gelen bu özelliği nasıl devre dışı bırakabilirsiniz?
Firefox browserınızda adres çubuğuna about:config yazarak tarayıcı ayarlarına giriniz.
Ayarlar bölümüne erişmek ve burada değişiklikler yapmak riskli olabilir. Dolayısıyla tarayıcı öncelikle ne yaptığınızı bildiğinizden emin olmak ve riskleri hatırlatmak için onayınızı isteyecek.
Şayet onay verirseniz, sonrasında sizi tarayıcı ayarlarının anahtar-değer çiftleri halinde tutulduğu bir liste karşılayacak.
Listeden network.trr ayarını bulup, TRR'yi tamamen devre dışı bırakmak için bu değeri 5 olarak güncelleyebilirsiniz.
Diğer seçenekler için Mozilla'nın blogunu ziyaret edebilirsiniz.
Let's Encrypt Artık Bağımsız Bir Otorite
Ne? Zaten değil miydi? Hayır efendim değildi.
Amme hizmetini uzun süredir devam ettiren, Let's Encrypt ara bir sertifika otoritesi olarak IdenTrust'ın kendisine devrettiği bu kısmi hak ile sertifikaları imzalıyordu.
Ara sertifika otoritelerine dair daha önce Haftanın Hackleri'nde yazılar yayımlanmıştı. Güvenlik Headerları yazımızda, HPKP başlığı altında bu konunun ayrıntılarına müracaat edebilirsiniz.
Başlangıcından bugüne dek ara sertifika otoritesi olarak ücretsiz sertifika imzalayan Let's Encrypt 6 Ağustos 2018 tarihinden itibaren Google, Microsoft, Mozilla, Apple ve Blackberry tarafından tanınan bağımsız sertifika otoritesi konumuna ulaştığını duyurdu. Duyurunun ayrıntıları için lütfen tıklayınız.
IdentTrust'ın imzaladığı ara sertifika ile imzaya devam edecek olan Let's Encrypt böylece eski tarayıcılarda da kullanıcıların sorun yaşamamasını temin etmiş olacak.
Let's Encrypt'in bağımsız bir otorite olması önemli. Symantec meselesinde de gördüğünüz gibi bağlı olduğunuz otorite ile browser üreticileri arasında bir sorun yaşandığı takdirde bu sorundan sizin sertifika imzaladığınız siteler de etkilenebilir. Özellikle de imzaladığı sertifikalar milyonları bulan Let's Encrypt gibi kuruluşların bağımsız bir otorite olarak tüm üreticiler tarafından tanınması kayda değer bir gelişme.
Hâlâ SSL sertifikanız yok mu? SSL sertifikasına ihtiyacım yok diye mi düşünüyorsunuz?