DNS over HTTPS Nedir? Güvenli DNS Nasıl Çalışır?

DNS trafiğinin şifrelenmemesi kullanıcı verilerinin ele geçirilmesine yol açabilir. DoH teknolojisi bu riski ortadan kaldırmak amacıyla tüm sorgu sürecini HTTPS üzerinden yürütür. Bu sayede ağ üzerindeki müdahaleler etkisiz hale getirilir ve güvenlik artırılır.

DoH (DNS over HTTPS) Nedir?

Ağ operatörleri düz metin halindeki DNS sorgularını kolayca görebilir ve trafiği yönetebilir. DoH protokolü bu süreci şifreli bir yapıya dönüştürerek gizliliği artırır. Sorguların HTTPS tüneli içinden gönderilmesi verinin manipüle edilme riskini tamamen ortadan kaldırır.

DoH Neden Önemli?

Güvenli DNS protokolleri veri güvenliğini sağlarken spoofing girişimlerini devre dışı bırakır. Optimizasyon sayesinde şifreleme işlemi internet hızını olumsuz etkilemez ve yanıt sürelerini hızlandırabilir. HTTPS trafiği içinde gizlenen sorgular port bazlı engellemelere karşı tam koruma sağlar. Şifreli trafiğin ağ üzerindeki stabilitesi iPerf üzerinden ağ hızı ve paket testleri ile ölçülür.

DNS Yapılandırma Karşılaştırması

Protokol seçiminde belirleyici olan kriterler aşağıdaki tabloda yan yana getirilmiştir. DoH ve DoT gibi modern çözümlerin avantajlarını bu karşılaştırmadan görebilirsiniz.

ÖzellikGeleneksel DNSDNS over TLS (DoT)DNS over HTTPS (DoH)
Port53 (UDP/TCP)853 (TCP)443 (TCP/HTTP)
ŞifrelemeYokTLSTLS (HTTPS üzerinden)
GörünürlükTamamen açıkŞifreli (ama porttan belli)Normal web trafiğiyle aynı
EngellenebilirlikÇok KolayKolay (Port bazlı)Çok Zor
PerformansDüşük GecikmeTLS yükü varHTTP/2-3 ve TLS yükü var

BIND9 İle Şifreli DNS Kurulumu

Güvenli DNS servisleri sunan BIND9 yazılımında DoH protokolünü çalıştırmak için libnghttp2 bağımlılığı mevcuttur. Gerekli paketlerin kurulumu tamamlandığında sunucu HTTPS isteklerini karşılayacak teknik kapasiteye ulaşmış olur.

BIND9 Paketlerini Yükleyelim

Sistemi güncelleyip gerekli araçları kuralım

sudo apt update && sudo apt install bind9 bind9utils

SSL Sertifikası Alımı

HTTPS üzerinden hizmet verebilmek için geçerli bir sertifikaya ihtiyacımız var. Let’s Encrypt ile hızlıca ücretsiz sertifika oluşturabiliriz

sudo certbot certonly --standalone -d alanadiniz.com

Yapılandırma Dosyasını Düzenleyelim

named.conf.options dosyasını düzenleyerek TLS ve HTTP parametrelerini eklememiz gerekiyor.

sudo nano /etc/bind/named.conf.options

Dosya içeriğini şu şekilde yapılandıralım.

tls local-doh-tls { 
    cert-file "/etc/letsencrypt/live/alanadiniz.com/fullchain.pem"; 
    key-file "/etc/letsencrypt/live/alanadiniz.com/privkey.pem"; 
};

http doh-endpoint { 
    endpoints { "/dns-query"; }; 
};

options {
    directory "/var/cache/bind";
    dnssec-validation auto;
    auth-nxdomain no;
    listen-on-v6 { any; };

    forwarders {
        1.1.1.1;
        8.8.8.8;
    };

    # DoH Dinleyicisi
    listen-on port 443 tls local-doh-tls http doh-endpoint { any; };
};

Local Yapılandırma Dosyasını Düzenleyelim

Gerekli tanımlamaları yapmak için şu dosyayı açalım

sudo nano /etc/bind/named.conf.local

İçerisine şu satırları ekleyelim.

zone "alanadiniz.com" {
    type master;
    file "/etc/bind/db.alanadiniz.com";
};

Zone Dosyasını Oluşturalım

Alan adı kayıtlarını tutacağımız dosyayı hazırlayalım

sudo nano /etc/bind/db.alanadiniz.com

Ardından şu örnek verileri dosyaya aktaralım

$TTL    604800
@       IN      SOA     ns.alanadiniz.com. admin.alanadiniz.com. (
                              2         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      ns.alanadiniz.com.
ns      IN      A       SUNUCU_IP_ADRESI
@       IN      A       SUNUCU_IP_ADRESI

BIND9 Servisini Yeniden Başlatalım

Tüm yapılandırmayı tamamladıktan sonra değişikliklerin aktif olması için servisi baştan başlatalım

sudo systemctl restart bind9

Protokol Dönüştürme Nginx Ve Caddy

DoH sorgularını yerel ağda standart DNS paketlerine dönüştürmek için Nginx kullanımı yaygındır. Bu yapı sayesinde 443 portu üzerinden gelen talepler analiz edilerek port 53 üzerindeki sunucuya gönderilir. Caddy yazılımı ise Layer 4 eklentisiyle DoT trafiğini karşılayarak sertifika yönetimini tamamen otomatik hale getirir.

{
    layer4 {
        :853 {
            @dot tls sni dns.example.com
            route @dot {
                proxy localhost:53
            }
        }
    }
}

Sık Sorulan Sorular

DoT neden daha kolay engellenir?

DNS over TLS ayrı bir port kullanır. Bu yüzden ağ tarafında filtrelenmesi kolaydır. DoH ise HTTPS trafiğine karışır. Normal web bağlantısından farkı anlaşılmaz.

BIND9 tek başına DoH için yeterli değil mi?

BIND9 doğrudan çalışabilir. Ama SSL yenileme ve sertifika kontrolü için Nginx ya da Caddy daha düzenli bir yapı sağlar.

DoH IP adresini gizler mi?

DNS içeriği şifrelenir. Fakat trafik hangi IP’ye gidiyor bilgisi görünür kalır.

Yorum yapın