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.
| Özellik | Geleneksel DNS | DNS over TLS (DoT) | DNS over HTTPS (DoH) |
| Port | 53 (UDP/TCP) | 853 (TCP) | 443 (TCP/HTTP) |
| Şifreleme | Yok | TLS | TLS (HTTPS üzerinden) |
| Görünürlük | Tamamen açık | Şifreli (ama porttan belli) | Normal web trafiğiyle aynı |
| Engellenebilirlik | Çok Kolay | Kolay (Port bazlı) | Çok Zor |
| Performans | Düşük Gecikme | TLS yükü var | HTTP/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 bind9utilsSSL 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.comYapı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.optionsDosya 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.comArdı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_ADRESIBIND9 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 bind9Protokol 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.