Windows 10'da HTTPS (DoH) üzerinden DNS'yi etkinleştirme


HTTPS üzerinden DNS (DoH) desteği, Windows 10 2004 derlemesinde (Mayıs 2020 Güncellemesi) ortaya çıktı. Artık Windows 10, yerleşik DoH istemcisini kullanarak adları HTTPS protokolü üzerinden çözebilir. Bu yazıda, DNS over HTTPS protokolünün ne için kullanıldığını, nasıl etkinleştirileceğini ve en son Windows 10 yapılarında nasıl kullanılacağını anlatacağız.

Bilgisayarınız adları çözümlemek için bir DNS sunucusuna bağlandığında, ve DNS isteklerini/yanıtlarını İnternet üzerinden şifresiz metin olarak alır. Bir saldırgan, trafiğinize müdahale edebilir, hangi kaynakları ziyaret ettiğinizi saptayabilir veya ortadaki adam saldırısı türü kullanarak DNS trafiğinizi manipüle edebilir. HTTPS üzerinden DNS, tüm DNS sorgularını şifreleyerek kullanıcı verilerinin gizliliğini korur. DoH protokolü, DNS sorgularını HTTPS trafiği içinde kapsüller ve bunları bir DNS sunucusuna gönderir (DoH destekli özel bir DNS sunucusu kullanmanız gerekir).

Windows 10 2004'te henüz bir GPO parametresi veya grafik arayüzünde HTTPS üzerinden DNS'yi etkinleştirmek için bir seçenek yoktur. Şu anda DoH'yi kayıt defteri aracılığıyla yalnızca en son Windows 10 yapılarında etkinleştirebilirsiniz:

  1. çalıştır

    regedit.exe

    ;

  2. Kayıt defteri anahtarına git

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters
  3. EnableAutoDoh adında ve 2 değerinde yeni bir DWORD parametresi oluşturun;

    Bu kayıt defteri parametresini New-ItemProperty cmdlet'ini kullanarak da oluşturabilirsiniz:

    $EnableDNSoverHTTPSKey = 'HKLM:\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters'
    $EnableDNSoverHTTPSParameter = 'EnableAutoDoh'
    New-ItemProperty -Path $EnableDNSoverHTTPSKey -Name $EnableDNSoverHTTPSParameter -Value 2 -PropertyType DWord -Force
  4. Ardından, DNS istemci hizmetini yeniden başlatın. Bunu yapmak için, dnscase hizmetini normal şekilde yeniden başlatamayacağınız için bilgisayarınızı yeniden başlatın (

    Restart-Service -Name Dnscache -force

    komutu aşağıdaki hatayı döndürür: Koleksiyon değiştirildi; numaralandırma işlemi yürütülemeyebilir).

Ardından, ağ bağlantınızın DNS ayarlarını değiştirmeniz gerekecektir. DNS sunucularını HTTPS üzerinden DNS desteği ile belirtmeniz gerekir. Henüz tüm DNS sunucuları DoH'yi desteklememektedir. Aşağıdaki tablo, DNS over HTTPS desteğine sahip genel DNS sunucularının bir listesini gösterir.

ProviderIP Addresses of DNS Servers With DNS over HTTP Support
Cloudflare1.1.1.1, 1.0.0.1
Google8.8.8.8, 8.8.4.4
Quad99.9.9.9, 149.112.112.112

Ağ bağlantısı penceresini açın (Denetim Masası -> Ağ ve İnternet -> Ağ ve Paylaşım Merkezi veya

ncpa.cpl

). Ardından, ağ bağdaştırıcısı özelliklerinde geçerli DNS sunucusu IP adreslerini DoH'yi destekleyen DNS sunucularının adresleriyle değiştirin.

PowerShell'i kullanarak ağ bağdaştırıcısı ayarlarında DNS sunucusu adreslerini değiştirebilirsiniz (PowerShell kullanarak ağ yapılandırmasıyla ilgili makaleye bakın):

$PhysAdapter = Get-NetAdapter -Physical
$PhysAdapter | Get-DnsClientServerAddress -AddressFamily IPv4 | Set-DnsClientServerAddress -ServerAddresses '8.8.8.8', '1.1.1.1'

Ardından DNS istemciniz, DNS ad çözümlemesi için standart UDP/TCP bağlantı noktası 53 yerine HTTPS (443) protokolünü kullanacaktır.

Ağ trafiğini yakalamak için bir araç olan PktMon.exe'yi kullanarak (bundan daha önce bahsettik), bilgisayardan 53 bağlantı noktası üzerinden DNS isteği gönderilmediğinden emin olabilirsiniz.

Mevcut tüm Packet Monitor filtrelerini kaldırın:

pktmon filter remove

Varsayılan DNS bağlantı noktası (53) için yeni bir filtre oluşturun:

pktmon filter add -p 53

Gerçek zamanlı trafik izlemeyi başlatın (trafik konsolda gösterilecektir):

pktmon start --etw -p 0 -l real-time

HTTPS üzerinden DNS'yi doğru şekilde yapılandırdıysanız, Port 53'te trafik olmaz (aşağıdaki ekran görüntüsü, DoH etkin ve devre dışıyken konsol çıkışını gösterir).

Aşağıdaki çevrimiçi hizmeti (DNSSEC kontrolü) kullanarak HTTPS üzerinden DNS'nin bilgisayarınızda çalışıp çalışmadığını da kontrol edebilirsiniz: https://www.cloudflare.com/ssl/encrypted-sni/

Geçen yıl, tüm popüler tarayıcılarda (Google Chrome, Mozilla Firefox, Microsoft Edge, Opera) HTTPS üzerinden DNS uygulandı. Her birinde DoH desteğini etkinleştirebilirsiniz. Böylece, tarayıcınızdan gelen tüm DNS sorguları şifrelenecektir (diğer uygulamaların DNS trafiği yine de düz metin olarak gönderilecektir).

HTTPS üzerinden DNS ve TLS üzerinden DNS, iç ağlardan dış kaynaklara erişimi kısıtlamak daha zor olacağından, kurumsal ağ yöneticileri için çok fazla sorun yaratacaktır.

İlgili makaleler