Pazar, Aralık 22, 2024

Firefox Tarayıcısı Üzerinde DNS-over-HTTPS Kullanımı

yüksek çözünürlüklü mozilla logosu

Firefox’ta HTTPS üzerinden DNS işlevselliği için tüm tercihler “network.trr” öneki ile tanımlanmıştır. (TRR = Trusted Recursive Resolver). Bunların desteği Firefox 60 sürümüne getirilmiştir. Lakin tam olarak desteği 62 sürümünde göreceğiz. Bunun DNS tarafında direk olarak nasıl yapılabileceğini Unbound ile DNS Over TLS Kurulumu ile göstermiştik. Şimdi Firefox’un son sürümünde kullanabileceğiniz DoH’un nasıl yapılandırılabileceğini göstereceğim. Aslında size Firefox üzerinde config yapmayı da göstermiş olacağım.

Bu fonksiyonların tamamını kullanabilmek için about:config adresine gidiyorsunuz ve arama alanına network.trr yazıp aratıyorsunuz karşınıza aşağıdaki gibi pek çok seçenek çıkacak.

Şimdi burada yazanları kısa kısa açıklamamız gerekiyor. Tarayıcıya yeni gelen bir teknolojinin entegre edilmesi ve bunun desteklenmesi gerekiyor

network.trr.allow-rfc1918

(varsayılan: false) TRR yanıtlarında RFC 1918 özel adreslerine izin vermek için bunu true olarak ayarlayın. Yanlış ayarlandığında, böyle bir adres bulunamadı olarak size geri dönüşü olacaktır. Bu yüzden kurcalamayın.

network.trr.blacklist-duration

(varsayılan: 1200), TRR kara listesindeki bir alan adının bu süre sona erinceye kadar tutulacağı saniye cinsinden değerdir ve tekrar TRR ile denenir. Varsayılan süre 20 dakikadır.

TRR ile çözümleme işlemi başarısız olduğunda hızlı bir şekilde TRR kara listesine eklenir, ancak kullanılan yerel çözümleyici ile site çalışır.

network.trr.bootstrapAddress

(varsayılan: none), bu alan network.trr.uri adresinde kullanılan hostun IP adresine istenirse ayarlanmalıdır, kullanılmayacaksa yerel çözümleyici ayarları aynen uygulanır.

network.trr.confirmationNS

(varsayılan: example.com) Firefox, doğru yapılandırmayı sağlamak için TRR’nin çalıştığını doğrulamak üzere başlangıçta bir NS girişini kontrol edecektir. Bu tercih, hangi alanın kontrol edileceğini ayarlamaya yardımcı olur. Olumlu cevap döner ise doğrulama işlemi tamamlanır aksi halde geçersiz kılınır.  Onaylama işleminden kurtulmak için skip olarak ayarlayın.

network.trr.credentials

(varsayılan: none) HTTP isteklerinde DoH için kullanılacak kimlik bilgilerini ayarlayın. Kullanılacak olan servise giriş bilgileri Authorization: başlığı ile gönderilir.

network.trr.early-AAAA

(varsayılan: false) Firefox A girişleri için HTTP ve AAAA kayıtlarına ulaşmak için istek gönderir. Her iki kayıtta ayrı geleceği için hangi kayıt önce gelirse dikkate almasını isteyebilirsiniz. A kayıtları önce gelirse, Firefox AAAA istediğini beklemeden işlemlerine devam edecektir. AAAA kayıtları önce gelirse, Firefox ilk önce AAAA kayıtlarını kullanacak.

network.trr.mode

Çözümleyici modunu ayarlamak için kullanılır. Aşağıdaki gibi 6 modu bulunur;

  1. 0 – Kapalı (varsayılan). Yalnızca standart yerel çözümleme kullanılır çözümleme sırasında TRR kullanılmaz
  2. 1 – Yarış Modu Paralel olarak çalışmaya devam eden resolver, hangisinden hızlı yanıt gelirse o kullanılır
  3. 2 – Öncelik Önce TRR kullanılır çözümleme başarısız olursa local resolver kullanılır.
  4. 3 – Sadece TRR Asla yerel çözümleyiciyi kullanma.
  5. 4 – Gölge Modu TRR çözümlemesi için yerel çözümleyici ile birlikte çalışır ve sadece yerel çözümleyiciyi kullanır.
  6. 5 – Seçime dayalı Mod Bu ilk mod ile aynı özellikleri taşır ama bunu tercih edilen şekilde yapar.

network.trr.request-timeout

Varsayılan: 3000) DOH sunucusundan gelen yanıtın başarısız olduğu durumlarda milisaniye cinsinden bekleneceği süredir.

network.trr.uri

(varsayılan: yok) DOH sunucunuz için URI’yi ayarlamamız gerekirse. Bu, Firefox’un DoH için kullanılacak olan HTTP isteklerinin gönderileceği URL bilgisidir. Bir HTTPS URL’si olmalıdır.  Varsayılan POST metodu kullanılırken URL bilgisi aşağıdakilerden biri seçilmelidir.

Kullanılabilecek DoH sunucuları;

network.trr.useGET

(varsayılan: false) Tarayıcı, ana bilgisayar adlarını çözmek için DOH sunucusuna bir istek gönderdiğinde, bunu POST veya GET kullanarak yapabilir. Firefox varsayılan olarak POST kullanır, ancak bunu değiştirerek GET metodunu kullanmasını sağlayabilirsiniz.

Örnek Kullanım

CloudFlare üzerinden kullanılan DoH yapısında aşağıdakiler uygulanacaktır.

  • network.trr.mode = 2
  • network.trr.uri =
  • network.trr.confirmationNS = skip
  • network.trr.bootstrapAddress = 1.1.1.1 veya 1.0.0.1
  • network.trr.blacklist-duration = 1200

Uyarılar

Release sürümünde bu özellikler her ne kadar gelsede kullanımı sırasında linux makinalarda kernel panic windows makinelerdede firefox tarayıcısının çökmesine sebebiyet verebilir. Dikkatli bir şekilde ayarlanmalı ve kullanılmalıdır.

Eğer ayarlamalarını yaptıysanız ve tarayıcıyı açamıyorsanız yada bilgisayarınızda soruna neden oluyorsa. Win + R tuş kombinasyonu ile Çalıştır alanına ulaşınız. Burada "%APPDATA%\Mozilla\" yazıyorsunuz ve Firefox > Profiles klasörü içerisine girin. Profil ile ilgili tüm dosyalar burada tutulmaktadır. pref.js dosyasını buluyorsunuz. Herhangi bir text editör ile açıp içerisinde network.ttr.mode aratıyorsunuz. Çıkan değeri 0 yapıyorsunuz ve kayıt ediyorsunuz. Ardından normal bir şekilde hayatınıza devam edebilirsiniz.

Durumun açıklandığı 1434852 numaralı issue ile bu soruna yardımcı olmak isteyebilirsiniz.


Trusted Recursive Resolver
DNS Over TLS
DNS Over HTTPS in Firefox