Stunnel ile BIND’a DNS-over-TLS özelliği kazandırıyoruz

dns-over-tls
Geçtiğimiz yıl servis sağlayıcılar, DNS servislerinin DNS-over-TLS desteklemeye başladığını duyurdu. Bu yeni özellik DNS-over-HTTPS API‘den farklı. BIND‘in doğrudan DNS-over-TLS desteği bulunmadığından, kullandığım BIND DNS Caching sunucuya STUNNEL yardımıyla DNS-over-TLS yeteneği kazandırdım.

STUNNEL, hali hazırda çalışmakta olan istemci veya sunucularda bir değişiklik yapmadan TLS kriptolama yeteneği kazandırıyor. Mimarisinin esnekliği ve gelişmişliği sayesinde büyük projelerde dahil kullanılabilecek güçlü bir araç.

Bu çalışmanın en can alıcı noktası, DNS sorgularının sadece TCP üzerinden yapılması gerekliliği. Sadece-TCP desteğini BIND‘ın 9.11 sürümü ve sonrası destekliyor.

Özet şekilde ayar detaylarını aşağıda paylaşıyorum;

Öncelikle 53 portunun kullanımda olmadığından emin olun;

netstat -ltn
sudo apt install stunnel
sudo vi /etc/default/stunnel4

stunnel4 dosyasının içerisindeki değer aşağıdaki gibi olmalı;

ENABLED=1
sudo service stunnel4 restart
sudo vi /etc/stunnel/stunnel.conf

stunnel.conf dosyasına eklediğim ayarlar;

[dns]
client = yes
accept = 127.0.0.1:53
connect = 8.8.8.8:853
CApath = /etc/ssl/certs
verifyChain = yes
checkIP = 8.8.8.8

Bu işlemler sonrasında STUNNEL sunucunuzda 53 portunu dinlemeye başlayacak ve eğer her şey yolunda gittiyse buraya gönderilen DNS sorgularına yanıt dönecektir.

Test komutları;

nslookup -vc ozcan.com 127.0.0.1
dig +tcp ozcan.com @127.0.0.1

Hamdi Özcan – ozcan.com



Bir cevap yazın

(gerekli)