скопировано отсюда
Cloudflare
Краткое описание: инструкция по настройке защищённого DNS в MikroTik – DoH. Подключение Cloudflare DNS с импортом сертификатов SSL из терминала.
DNS over HTTPS (DoH) — протокол для выполнения разрешения DNS по протоколу HTTPS. Целью этого метода является повышение конфиденциальности и безопасности пользователей путём предотвращения перехвата и манипулирования данными DNS с помощью атак типа “Атака посредника”. По состоянию на март 2018 года Google и Mozilla Foundation тестируют версии DNS по протоколу HTTPS. Опубликован IETF в RFC 8484 в октябре 2018 года.
В дополнение к повышению безопасности ещё одна цель DNS over HTTPS — повысить производительность: тестирование DNS-ответчиков ISP показало, что во многих случаях они дают неожиданно медленный отклик, что может быть дополнительно умножено на необходимость получения адресов многих доменов, например, при загрузке веб-страницы.
Разница между обычным DNS и DoH
DNS — это “телефонная книга” Интернета; DNS-преобразователи переводят человекочитаемые доменные имена в машиночитаемые IP адреса. По умолчанию запросы и ответы DNS отправляются в виде открытого текста (через UDP), что означает, что они могут быть прочитаны сетями, интернет-провайдерами или кем-либо, кто может отслеживать передачи. Даже если веб-сайт использует HTTPS, отображается DNS-запрос, необходимый для перехода на этот веб-сайт.
Отсутствие конфиденциальности имеет огромное влияние на безопасность, а в некоторых случаях и на права человека; если DNS запросы не являются частными, то правительствам становится проще подвергать Интернет цензуре, а злоумышленникам — отслеживать поведение пользователей в сети.
Обычный незашифрованный DNS запрос можно сравнить с открыткой, отправленной по почте: любой, кто обрабатывает почту, может случайно увидеть текст, написанный на обратной стороне, поэтому неразумно отправлять почтовую открытку, которая содержит конфиденциальную или личную информацию.
DNS поверх TLS и DNS поверх HTTPS — это два стандарта, разработанные для шифрования трафика DNS с открытым текстом, чтобы злоумышленники, рекламораспространители, интернет-провайдеры и другие лица не могли интерпретировать данные. Продолжая аналогию, эти стандарты стремятся поместить все открытки, проходящие по почте, в конверт, чтобы каждый мог отправить открытку, не беспокоясь о том, что кто-то следит за его действиями.
Настройка MikroTik DoH
Начиная со стабильной версии 6.47 MikroTik поддерживает DNS over HTTPS (DoH).
Импорт сертификат DigiCert Global Root CA в хранилище сертификатов роутера:
/tool fetch url=https://cacerts.digicert.com/DigiCertGlobalRootCA.crt.pem /certificate import file-name=DigiCertGlobalRootCA.crt.pem passphrase=""
Указать использование DoH Server
Настройка находится IP→DNS
/ip dns set use-doh-server=https://1.1.1.1/dns-query verify-doh-cert=yes
Указать MikroTik в качестве DNS сервера
/ip dhcp-server network add address=192.168.7.0/24 dns-server=192.168.7.1 gateway=192.168.7.1 netmask=24
Отключение динамических DNS серверов в MikroTik
Подключение типа dhcp client, pppoe client, LTE имеют активный параметр Use Peer DNS. Таким образом запись, которая доступна при подключении такого соединения передаёт динамический DNS сервер в соответствующий раздел RouterOS роутера MikroTik. Чтобы этого избежать, нужно отключить соответствующие опции в параметрах подключений, к примеру:
Отключение динамического DNS для DHCP клиента
Отключение динамического DNS для PPPOE соединения
скопировано отсюда
Для защиты трафика DNS от подмены (атака посредника) или от просмотра (например, на промежуточном сетевом оборудовании) можно отправлять запросы DNS в HTTPS (т.н. DNS over HTTPS, DoH). При этом исходящий трафик пойдет не на 53/udp, а на стандартный порт HTTPS: 443. В Mikrotik начиная с версии 6.47 DNS over HTTPS поддерживается.
/tool fetch url=https://curl.haxx.se/ca/cacert.pem
/certificate import file-name=cacert.pem passphrase=""
Я скачал файл с хешем SHA-1: 1057B838CF913C5E188E6EC6697B6F2B49637C29
Для работоспособности стоит оставить только эти сертификаты:
У Mikrotik есть особенность – DNS-сервер не поддерживает больше одной записи DNS over HTTPS, а мне почему-то показалось, что использовать два IP (8.8.8.8 и 8.8.4.4) надежнее, чем, к примеру, один от Cloudflare (1.1.1.1) 🙂 Из-за того, что Google делает редирект с 8.8.8.8 и 8.8.4.4 на dns.google (и сертификат выдан на имя, а не IP), то в DoH надо использовать имя, а не IP-адрес, поэтому создаем статические записи:
/ip dns static add address=8.8.8.8 name=dns.google
/ip dns static add address=8.8.4.4 name=dns.google
И в настройках DNS на микротик указываем доменное имя, а не IP-адрес:
/ip dns set use-doh-server=https://dns.google/dns-query verify-doh-cert=yes
Если в установленном сертификате не будет соответсвия с сертификатом https://dns.google, в логах будет предупреждение:
Убираем все остальные DNS-серверы:
/ip dns set servers=""
До:
После:
Вот и все.