• Использование DNS over TLS при помощи BIND и Stubby на Cenos 7

 #10264   IgorA100
 30 янв 2019, 20:44
Использование DNS over TLS при помощи BIND и Stubby.

При использовании классической схемы DNS, провайдеры могут лезть своими грязными лапами в ваши DNS-пакеты, просматривать, какие домены вы запрашиваете, и подменять ответы как угодно. Этим же занимаются мошенники, подменяя резолверы на взломанных роутерах, чтобы направить пользователя на поддельный сервер.
C DNS over TLS/HTTPS запросы посылаются внутри зашифрованного тоннеля так, что провайдер не может подменить или просмотреть запрос.

На данный момент известны несколько публичных серверов поддерживающих DNS over TLS. Это:
8.8.8.8 от компании Google
1.1.1.1 и 9.9.9.9 от компании CloudFlare

Как известно, на Linux системах очень часто используется BIND в качестве DNS сервера. Как альтернативу медленному BIND можно рассматривать Unbound, который уже сам по себе умеет DNS over TLS. Но, если у Вас стоит уже настроенный BIND и на нем поднято множество зон, то переезд на Unbound может занять какое-то время. Но, расстраиваться рано, выход есть и для BIND! Вот отличная статья по настройке Stubby в качестве forward сервера для BIND : https://paolozaino.wordpress.com/2018/0 ... 9-via-tls/

Установка:
Код: Выделить всёyum install epel-release -y
yum install getdns getdns-stubby -y - для Centos
apt-get install getdns-utils -y - для   Debian, Ubuntu, Kali

Конфигурация: /etc/stubby/stubby.yml
Не забываем, про опцию forward и небольшой нюанс списка forwarders
Если Вы хотите, что бы BIND ничего не резолвил через свою внутреннюю систему, то в опциях необходимо указать:
Код: Выделить всёoptions {
...
   forward only;
...
};

При этом, если список forwarders будет пустой, то BIND, понимая, что Вы что-то возможно накосячили с настройкой и забыли прописать сервера для форварда, решит сам резолвить через свою внутреннюю систему Это нужно помнить!
Рекомендуемая секция опций:
Код: Выделить всёoptions {
...
   forward only;
   forwarders {
      127.0.0.1 port 8053;
      };
...
};

Очистить кэш BIND DNS:
Код: Выделить всёrndc flush

Рестарт Stubby :
Код: Выделить всёsystemctl restart stubby


Проверить конфиг файл BIND DNS можно командой:
Код: Выделить всё/usr/sbin/named-checkconf -z /etc/named.conf