Unbound ile DNS Over TLS Kurulumu

Yeni bir teknoloji olan ve DNS protokolünü daha güvenli bir hale getirmesi ile bilinen DNS Over TLS teknolojisini Unbound üzerinde nasıl kullanabileceğinizi anlatmaya çalışacağım.

DNS Over TLS Nedir?

TLS üzerinden DNS**(DNS Over TLS)**, SSL sunucularıyla tüm bağlantıların TLS kullanılarak güvenli bir şekilde yapılmasını sağlayan bir güvenlik protokolüdür. Bu, İSS’lerin hangi web sitesine eriştiğinizi görmesini engellemede etkilidir. TLS zaten bu işe yaramaktadır.

TLS üzerinden DNS aslında RFC 7858‘de belirtilmiştir. Tüm DNS verilerinin bir TLS üzeri DNS bağlantı noktasına gönderilmesini gerektirir.

TCP Fast Open kullanıldığında TLS el sıkışmasının hemen başlatılması gerekir.

dns-over-tls-gorsel1Pin

TLS el sıkışması, TLS bağlantısının doğrulamasının sağlandığı süreçtir.

Kullanım oranları DNS endüstrisine(sunucuların desteklemelerine) bağlıdır. Bir sunucu SSL/TLS ile yapılandırılmışsa, TLS’nin üzerindeki DNS kendi yetenekleri dahilinde kullanılacak ve TLS üzerinden DNS keyfi sunacaktır.

Google’ın DNS sunucuları zaten TLS üzerinden DNS’yi desteklemektedir. Aynı zamanda bu özellik CloudFlare DNS hizmetindede bulunmaktadır.

dns-over-tls-gorsel2Pin

DNS’yi TLS üzerinden etkinleştirmek istiyorsanız, yalnızca onu destekleyen bir DNS sunucusu bulmak zorundasınız.

Unbound Üzerinde Yapılacak Değişiklikler

Unbound bir ana bilgisayar adı sorgulamak için root DNS sunucularında en baştan başlamalı ve yetkili sunuculara doğru ilerlemelidir. (recursive DNS)

unbound-dns-temsili-gorselPin

root.hints bir kopyasını Internic’ten indirin ve /var/unbound/etc/root.hints olacak şekilde konumlandırım.

wget ftp://FTP.INTERNIC.NET/domain/named.cache -O /var/unbound/etc/root.hints

Root DNS sunucularını unbounda dahil ettikten hemen sonra ayarlarımızı yapmamız gerekiyor. Bu yüzden aşağıdaki parametreleri /etc/unbound/unbound.conf.d içerisine herhangi bir ad ile sonu .conf olacak şekilde konumlandırın.

server:
   server:
    num-threads: 2
    access-control: 0.0.0.0/0 allow
    cache-max-ttl: 14400
    cache-min-ttl: 600
    do-tcp: yes
    do-ip4: yes
    do-ip6: yes
    do-daemonize: yes
    hide-identity: yes
    hide-version: yes
    interface: 0.0.0.0
    port: 53
    minimal-responses: yes
    prefetch: yes
    qname-minimisation: yes
    rrset-roundrobin: yes
    ssl-upstream: yes
    use-caps-for-id: yes
    verbosity: 1
    root-hints: "/etc/unbound/root.hints"

remote-control:
    control-enable: no

forward-zone:
    name: "."
    forward-addr: 9.9.9.9@853         # quad9.net primary
    forward-addr: 1.1.1.1@853         # cloudflare primary
    forward-addr: 149.112.112.112@853 # quad9.net secondary
    forward-addr: 1.0.0.1@853         # cloudflare secondary

Firewall Kurallarının uygulanması ile işlemimiz son buluyor. Artık DNS sunucunuzu rahatlıkla kullanabilirsiniz.

iptables -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT

DNS servisinin başlatılması işlemini yapıyoruz.

systemctl start unbound.service

cloudflare-ile-dns-over-tls-keyfiPin

Bonus

Unbound kullanırken, DNS üzerinden reklam engelleme işlemi yapabilirsiniz. Bunun için yapmanız gereken aşağıdaki komutu çalıştırmak.

curl -sS -L --compressed "http://pgl.yoyo.org/adservers/serverlist.php?hostformat=unbound&showintro=0&mimetype=plaintext" > /etc/unbound/unbound_ad_servers

Bundan hemen sonra unbound yapılandırma dosyanızın içerisine aşağıdaki tek satırlık parametreyi eklemek

include: "/etc/unbound/unbound_ad_servers"

Sistem Uzmanı, Linux Hacısı, El-Kernel

“Unbound ile DNS Over TLS Kurulumu” üzerine 2 yorum

  1. Yasaklı sitelere girebileceğimi düşünerek ayarladım. Ama hala yasaklı sitelere giremiyorum. Yardımcı olur musunuz ? Teşekkürler

    Yanıtla
    • Sansürü aşma konusunda yardımcı olabilir lakin ulaşmaya çalışılan site domain olarak engelli ise genelde pek işe yaramıyor. Bu iş için Dnscrypt kullanabilirsiniz. Lakin siteleri açacağını sanmam

Yorum yapın