Stunnel ile BIND’a DNS-over-TLS özelliği kazandırıyoruz
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